Home
Delta Tau BRICK CONTROLLER Reference Guide
Contents
1. 81 APPENDIX D PMAC PROGRAM COMMAND SPECIFICATIONS 87 APPENDIX E MOTOR SUGGESTED M VARIABLE 8 2 22 6 6 91 APPENDIX I O SUGGESTED M VARIABLE DEFINITIONS ecce eee eee eee eee nenne eene eaae esee sees eese 95 APPENDIX ACC 8D 8P PINOUT DESCRIPTIONS 99 Table of Contents iii PMAC Quick Reference Guide Table of Contents PMAC Quick Reference Guide INTRODUCTION Description of PMAC PMAC pronounced stands for Programmable Multi Axis Controller It is a family of high performance servo motion controllers capable of commanding up to eight axes of motion simultaneously with a high level of sophistication Flags 9 12 DACS 9 12 Gale Array DACS 1 4 Encoders 9 12 Encoders 1 4 Motorola Flags 13 16 56002 Flags 5 8 RAE 13 18 Gale Array ar Gate Array DACS 5 8 Encoders 14 16 Option 1 Option 1 Memory ACC 24 optional PMAC Flags 1 4 Encoders 5 8 There are five hardware versions of PMAC the PMAC PC the PMAC Lite the PMAC VME the PMAC STD and the PMAC Mini These cards differ from each other in their form factor the nature of the bus interface and in the availability of certain I O ports e Motorola s Digital Signal Processor DSP DSP56k is the CPU for PMAC it handles all the calculatio
2. J e e060000000000000000000000000000 J4 B 0000 RESERVED OPTION 1 5 gt JPMAC 000000000000000000000000000000 8 37 212 60 7 87 in 200 00 99 7 12 Ul 82 Appendix G Acc 8D 8P Pinout Descriptions PMAC Quick Reference Guide Pin Function Symbol OUTPUT 5 OUTPUT 5 5 59 A ISW OPT V COMMON 69 _ ___ 5 Refer to the appropriate PMAC Hardware Reference a mI 9 NUT 7 INUT 1 __3 GND COMMON Digital Power Encoder Inputs 1 5 9 13 Encoder Inputs 3 7 11 15 Amplifier 1 5 9 13 Amplifier 3 7 11 15 5 an x ug Amplifier Amplifier 4 8 12 16 100 Appendix G Acc 8D 8P Pinout Descriptions
3. e A motor in the coordinate system is currently executing move 11 motor in the coordinate system is not in closed loop control 2 e A motor in the coordinate system in not activated 1 00 0 13 e There are no motors assigned to the coordinate system ERRO14 A fixed non rotary motion program buffer is open 15 e No motion program has been pointed to ERRO16 After a stop command a motor in the coordinate system is not at the stop point ERRO17 Before starting the program issue a CTRL A command to PMAC to ensure that all the motors will be potentially in closed loop and that all previous motions are aborted Also if in doubt the functioning of each motor can be checked individually prior to running a program by means of JOG commands For example 13 2000 will make motor 1 move 2000 encoder counts and that would confirm if the motors are able to run motion programs or not All motors in the addressed coordinate system have to be ready to run a motion program Depending 25 even if one motor defined the coordinate system 15 not closing the loop all motors in the coordinate system could be brought down to impede the running of any motion program Sometimes the feedrate override for the current addressed coordinate system is set at zero and no motion will occur as a result of this Check the feedrate override parameter by issuing a amp 1 command
4. 7 constant 2 PROG ROT axes B Axis Move B dta 7 PROG ROT PROG ROT PROG ROT Jump to Subprogram With Return CALL data letter data Turn Off Cutter Radius Compensation PROG ROT Turn On Cutter Radius Compensation Left PROG ROT Turn On Cutter Radius Compensation CC2 PROG ROT Right Set Cutter Compensation Radius CCR data PROG ROT Set Blended Clockwise Circular Move CIRCLE1 CIR1 PROG ROT Set Blended Counterclockwise Circular CIRCLE2 CIR2 PROG ROT Move Mode Program Command Issuance COMMAND command CMD command PROG ROT PLC Program Control Character Command COMMAND letter CMD letter PROG ROT Issuance PLC Tool Data D Code D data PROG ROT Delay for Specified Time DELAY data DLY data PROG ROT Disable PLC Program s DISABLE PLC DIS PLC PROG ROT constant constant constant constant PLC DISABLE PLC constant constant DIS PLC constant constant Appendix PMAC Program Command Specifications 8 PMAC Quick Reference Guide Disable Compiled PLC Program s DISABLE PLCC DIS PLCC PROG ROT constant constant constant constant PLC DISABLE PLCC EXCEPT constant constant DIS PLCC PLCO PLCCO constant constant Display Text to Display Port DISPLAY constant DISP constant PROG ROT message smessage PLC
5. 00 0 memory addresses constant Resume execution of specified PLC RESUME PLC programs constant constant constant constant ns program memory __ memory in UNDEFINE ALL Erase coordinate definitions in all UNDEFINE ALL UNDEF ALL coordinate systems Report motor velocity VERSION Report PROM firmware version VERSION VER number W address Write value s to a specified addresses W address value value Make commanded axis positions zero Z 86 Troubleshooting PMAC Quick Reference Guide APPENDIX D PMAC PROGRAM COMMAND SPECIFICATIONS Function Position Only Move Specification axis data axis data PROG ROT Position and Velocity Move Specification axis data data PROG ROT axis data data lt 2 Move Until Trigger axis data data axis Motion data data Program Circular Arc Move Specification axis data axis data PROG ROT vector data A data ____________ _ ABS axis axis D PROG ROT Mmi e Addressing constant amp constant amp constant only Absolute displacement of X Y and Z ADIS constant PROG ROT axes Conditional AND AND condition PLC program only Absolute rotation scaling of X
6. Define leadscrew compensation table dimensional DEF COMP DEFINE COMP tentr1j entr2j srcl 1502 1 trgtj 182 DEFINE COMP two Define two dimensional leadscrew dimensional compensation table DEFINE GATHER DEFINE GATHER DEF GAT constant constant ROTARY constant DEFINE TBUF Create a buffer for axis transformation DEFINE DEF constant matrices constant Define torque compensation table DEFINE DEFINE DEF TCOMP entries count entries count length length DEFINE UBUFFER Create a buffer for user variable use DEFINE UBUFFER DEF UBUF constant constant DELETE BLCOMP Erase backlash compensation table DELETE BLCOMP DEL BLCOMP DELETE COMP Erase leadscrew compensation table DELETE COMP _ DEL COMP DELETE GATHER Erase data gather buffer DELETE GATHER DEL GAT constant addressed coordinate system DELETE TBUF Delete buffer for axis transformation DEL TBUF matrices 82 Troubleshooting PMAC Quick Reference Guide DELETE TCOMP buffer DISABLE PLC Disable specified PLC program s DISABLE PLC DIS PLC constant constan constant constant tj DIS PLC DISABLE PLC constant constant constant constan tj DISABLE PLCC Disable compiled PLCC program s DISABLE PLCC DIS PLCC constant constan constant constant tj DIS PLCC DISABLE PLCC constant consta
7. in computer s keyboard 125 11251520000 Motor 1 1225 1225 520000 Motor 2 325 1325 1520000 Motor 3 1425 1425 520000 Motor 4 52 5 1525 620000 Motor 5 1625 1625 20000 Motor 6 1725 1125 2200800 Motor 7 1825 1252 0000 Motor 8 Types of Overtravel Limits PMAC expects a closed to ground connection for the limits to not be considered on fault This arrangement provides a failsafe condition and therefore it cannot be reconfigured differently PMAC Usually a passive normally closed switch is used If a proximity switch is needed instead the following type is recommended Normally Closed NPN Sinking JMACH 1 option 1 JMAGH 59 Lite PIN 9 Mini JALIX PIN 13 Dry Contact 12 15 Volts proximity 15 24 Volts proximity Related PMAC jumpers must be configured appropriately following the corresponding PMAC Hardware Reference manual 24 Installing and Configuring PMAC 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 1902 1907 1977 However for the following reasons the same type of switches used for overtravel limits are recommended e Normally closed switches are proven to have greater electrical noise reje
8. e 5 Thumbwheel Multiplexer Port I O JTHW Port esee eene nnn eere 5 YS A g General Purpose Digital Inputs and Outputs JOPTO 5 a ra cs g EADE DOI EEE g bdo siue up 6 6 6 POF ________ ____ Iu OMIT eR M 7 NRI RT ER 8 o ITI TEETH Bae a gee sean 8 ee eee eee 8 AOU OR 9 Dou A TNI DE L 9 yi eus nM OO 9 OSV 10 FPO TCV Cl ATOM 11 PMAC EXECUTIVE PROGRAM UN ea eua vba nae aedes ae pua ca 13 ouais ui dh E E H 13 Plot Featurin ce ee ne 14 Saving and Retrieving PMAC Parameters 15 The Watch and Position 4 5 Uploading and Downloading 5 1 15 Using MACRO Names and Include 15 Downloading Compiled
9. rn ai aa a i ansa a aaa nana 16 16 19 INSTALLING AND CONFIGURING PMAC 21 21 visui Ere T CONS 21 Establishing Host Communications 22 Terminai Mode Communi CANONS ERROR 22 Resen PMAC TOFT EE A 23 Cona NT E E A E E E 23 5 A 23 23 PUTO POW 23 Table of Contents PMAC Quick Reference Guide TASS Power ATE T 24 Overtravel Limits and Home 24 Disabling 24 TCS Rm 24 E 25 PMAC Fack and TTE T 25 EU 22 Motor Signals Conneccion ree oe eror 26 DI Wen TU MED CONN CCT OW M 26 ______ _______ ___ 26 Checkin ONDU Oe ee 26 27 Amplifier Enable Signal 2 27 Amplifier Fault Signal FAULT 1 20
10. 2 or 3 Encoder counts Ix70 Ix76 Motor x Velocity Phase Advance 0 8 388 607 Angle Vel Gain DAC bits 238 electrical cycles update DAC bit Ix77 Motor x Magnetization Current 32 768 32 767 Ix78 Motor x Slip Gain 0 8 388 607 79 Motor x 2nd Phase DAC Bias 32 768 32 767 DAC bits Ix80_ Motor x Power On Mode Ix81 Motor x Power On Phase Position PMAC addresses 0 Extended PMAC or multiplexer port Address addresses 83 Motor x Ongoing Position MAC addresses see x83 table Legal PMAC X and Y addresses Address Further Motor I Variables Range Default 1 85 Motor x Backlash Takeup Rate 0 8 388 607 0 1 16 Counts Background Cycle Ix86 Motor x Backlash Size 0 8 388 607 0 1 16 Count 78 Appendix B PMAC I Variables Summary PMAC Quick Reference Guide Variables 1 87 C S x Default Acceleration Time 0 8 388 607 0 so 1 88 C S x Default S Curve Time 0 8 388 607 point units point D Nae mm rom to umm mes __ Number C S x Move Blend Disable 0 1 0 Noe 93 C S x Time Base Address PMAC X See Ix93 table Legal PMAC addresses addresses C S x Time Base Slew Rate 0 8 388 607 1644 2 23msec servo cycle C S x FeedHold Decel Rate 0 8 388 607 1644 2 23msec servo cycle 96 C S x Circle Error Limit Positive floating 0 function User length units ld EN WE MEN Ix98 Coordinate System x Ma
11. 44 44 PARTS VO PI E RN 45 Meme d Motion 45 a Monon A 46 Subroutines and 47 Fassino Areumenis TOTS ed 48 M T and D Codes Machine Tool Style Programs cesses nn 46 Lincar SAS opu _________________ _ ___ 49 OD T o 50 gt 54 Nd ee E 56 IO MOV tr 56 Other Programming RIS DUI SRI KT 58 DUTIES __________ 58 Internal Time Base the Feedrate Override tesa eee 58 Table of Contents PMAC Quick Reference Guide External Time Base Control Electronic 59 Position Following Electronic 59 59 Synchronous M Variable ASS ION 60 T6 7190 YAT 10 Other 60 ANS OTT OM NOI 60 Position Capture Position Compare Functions 60 Lenne ad Molon TT
12. 730 M830 Positive end limit set M131 M231 M331 M431 531 M631 M731 M831 Negative end limit set M132 M232 M332 M432 532 632 732 M832 Desired velocity zero M133 M233 M333 M433 533 M633 733 M833 Dwell in progress bit M135 M235 M335 M435 535 M635 M735 M835 gt XS00B3IS gt XS012D131 XSOIsi XSOIELISI Running program bit M137 M237 M337 M437 537 637 737 837 uem XSOUBSILI 1 XSOASIU Open loop mode M138 M238 M338 M438 538 638 738 M838 Semler n xsoobs amp sxsobisi XSDIASISI gt XSOIELIET Amplifier enabled M139 M239 M339 M439 539 639 739 M839 In position bit M140 M240 M340 440 540 640 740 840 gt 50814 0 1 gt Y 08D4 0 1 gt Y 0994 0 1 gt Y 0A54 0 1 gt 50 14 0 1 gt Y 0BD4 0 1 gt Y 0C94 0 1 gt Y 0D54 0 1 Warning following M141 241 M341 M441 541 641 741 841 error bit gt Y 0814 1 1 gt Y 08D4 1 1 gt Y 0994 1 1 gt Y 0A54 1 1 gt Y 0B14 1 1 gt Y 0BD4 1 1 gt Y 0C94 1 1 gt Y 0D54 1 1 Y Fatal following error bit M142 242 M342 442 542 642 742 M842 gt Y 0814 2 1 gt Y 08D4 2 1 gt Y 0994 2 1 gt Y 0A54 2 1 gt 50 14 2 1 gt Y 0BD4 2 1 gt Y 0C94 2 1 gt Y 0D54 2
13. 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 Remove all cables connected to PMAC leaving connected only the serial port and power cables if present 4 Using the appropriate hardware reference for the particular PMAC in question check that all its jumpers are at the default configuration or changed properly to accommodate the particular setup for the machine Make sure that jumper E50 15 properly installed otherwise any SAVE command issued to PMAC will not have any effect 5 Place the jumper E51 in PMAC 1 or jumper E3 on PMAC2 This is a hardware re initialization jumper 6 After power up try establishing communications again with a reliable software package like the PEWIN program provided by Delta Tau 7 power up with the re initialization jumper installed some PMACs with flash memory option will be in bootstrap mode This means that PMAC will accept a binary file downloaded to change its internal firmware If this is the case follow the instructions on the PEWIN screen to disable the downloading process usually pressing CTRL R 8 Try communications with PEWIN and type the following commands when the terminal is opened successfully follow the communications troubleshooting section below in case communications are still not established Ser Global Reset 1023 0 Reset P variables values 00 1023 0 Reset Q v
14. REFERENCE GUIDE PMAC Quick Reference DELTA TAU Data Systems Inc NEW IDEAS IN MOTION Single Source Machine Control Power Flexibility Ease of Use 21314 Lassen Street Chatsworth CA 91311 Tel 818 998 2095 Fax 818 998 7807 www deltatau com 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 Technical Support Phone 818 717 5656 Fax 818 998 7807 Email support deltatau com Website http www deltatau com Operating Conditions All Delta Tau Data Systems Inc motion controller products accessories and amplifiers contain static sensitive components that can be damaged by incorrect handling When installing or handling Delta Tau Data Systems Inc products avoid contact with highly insulated materials Only qualified personnel should be allowed to handle this equipment In the case of industrial applications we expect our products to be protected from hazardous or conductive materials and or environments that could cause harm to the controller by d
15. just as with linear moves It is possible to change back and forth between linear and circular moves without stopping When linear interpolation is needed enter the LINEAR command and Circle or Circle2 for circular interpolation Starting point Starting point End point Y gt Y inc ud j inc Lg i inc gt E ae MEE d i abs abs 1 PMAC performs arc moves by segmenting the arc and performing best cubic fit on each segment I Variable I13 determines time for each segment 113 must be set greater than zero to put PMAC into this segmentation mode in order for arc moves to be done If 113 is set to zero circular arc moves will be done in linear fashion The practical range of 113 for the circular interpolation mode 15 5 10 msec A value of 10 msec is recommended for most applications a lower than 10 msec 113 value will improve the accuracy of the interpolation calculating points of the curve more often but will also consume more of PMAC s total computational power 2 When 15 segmenting moves 13 gt 0 automatically which is required for Circular Interpolation The Ix17 accelerations limits and Ix16 velocity limits are not observed 3 Any axes used in the circular interpolation are automatically feedrate axes for circular moves even if they were not so specified in an FRAX command Other axes may or may not be feedrate axes A
16. 1 pe X gt 50814 3 1 gt Y 08D4 3 1 gt Y 0994 3 1 gt Y 0A54 3 1 gt 50 14 3 1 gt Y 0BD4 3 1 gt 50 94 3 1 gt 50054 3 1 gt Y 0814 10 1 gt 50804 10 1 gt 50994 10 1 gt Y 0A54 10 1 gt 50 14 10 1 gt Y 0BD4 10 1 gt 0 94 10 1 gt 0054 10 1 92 Appendix E Motor Suggested M Variable Definitions PMAC Quick Reference Guide Motor Move Motor 1 Motor 2 Motor 3 Motor 4 Motor 5 Motor 6 Motor 7 Motor 8 Registers Commanded position M161 gt D 0028 M261 gt D 0064 M361 gt D 00A0 M461 gt D 00DC 561 gt 0 0118 661 gt 0154 M761 gt D 0190 M861 gt D 01CC 1 Ix08 32 cts Actual position M162 gt D 002B M262 gt D 0067 M362 gt D 00A3 M462 gt D 00DF M562 gt D 011B M662 gt D 0157 M762 gt D 0193 M862 gt D 01CF 1 Ix08 32 cts Target end position M163 gt D 080B M263 gt D 08CB M363 gt D 098B M463 gt D 0A4B M563 gt D 0BOB M663 gt D 0BCB M763 gt D 0C8B M863 gt D 0D4B 1 Ix08 32 Position bias M164 gt D 0813 M264 gt D 08D3 M364 gt D 0993 M464 gt D 0A53 M564 gt D 0B13 M664 gt D 0BD3 M764 gt D 0C93 M864 gt D 0D53 1 Ix08 32 cts X axis target position M165 gt L 081F M265 gt L 0820 M365 gt L 0821 M465 gt L 0819 M565 gt L 081A M665 gt L 081B M765 gt L 081C M865 2L 081D engineering units Actual velocity M166 M266 M366 M466 M566 M666 766
17. 28 General Purpose Digital Inputs and Outputs 28 Machine BOIS NIRE TL OE a 29 PROGRAMMING uiro M 31 DIMES _____ 31 Buttered 32 Computational 01 S _________ 32 32 Hc Hc 33 HH ene 33 STS 34 35 dscns 36 QUU I OMMMT E 36 Br mI C 37 User Written Phase and User Written Servo Algorithms 888888888888 37 IJVIGENODS _______ 8 34 User 38 38 ee inde ce mE 39 Fe TETTE 39 ee eee 40 oc 41 Commandand Sond 42 MO HON PROGRA UT 43 How PMAC Executes Motion Pro Sr aii PERDU UD PUE Ope e E eue 43
18. CLOSE Since the calculated TM for the given feedrate is 75 msec and the programmed TA for this move 15 100 msec the TM used will be 100 msec instead This yields the following feedrate value instead of the programmed one 52 p _ 31190 _ 3000 _ units of distance 100 100 second 20000 100000 Programmed anon feedrate Vel Maximum feedrate reached 0 0 1 02 Time vac Motion Programs 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 order to decrease the move time TM and so reach the programmed feedrate OPEN PROG 1 CLEAR Programmed LINEAR feedrate INC 120 100 X3 75 X3 CLOSE 5 All previous analysis was performed assuming a zero S curve component A move executed with an S curve component will be similar in shape but with rounded sections at the beginning and end of the acceleration lines Motion Programs 53 PMAC Quick Reference Guide Circular Interpolation PMAC allows circular interpolation on the and Z axes 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
19. Jog to specified variable distance from present actual position J constant constant constant jog Jog until trigger command cons tant J constant constant J constant constant J constant J constant J constant Kill motor output Learn present commanded position LEARN axis axis LRN axis axis buffer compensation table compensation table buffer length length functions routines List program at program counter LIST constant List program at program execution LIST PE constant LIST PLC List the contents of the specified PLC LIST PLC constant program List the contents of the specified motion LIST PROGRAM LIST PROG constant program constant start start length M constant constant esr xpression expression gt E omen gt M constant Long fixed point M Variable definition M constant constant D sides M constant Dual ported RAM fixed point M M constant constant Variable definition gt DP address M constant Dual Ported RAM Floating Point M M constant constant rides M constant M constant constant gt L address definition gt L address M constant Binary thumbwheel multiplexer M constant constant gt TWB address definition gt TWB muxa
20. are tangent function This 15 an expanded arctangent function which returns the angle whose sine 15 the expression in parentheses and whose cosine is the value of QO for that coordinate system If doing the calculation in a PLC program make sure that the proper coordinate system has been addressed in that PLC program Actually it is only the ratio of the magnitudes of the two values and their signs that matter in this function It is distinguished from the standard ATAN function by the use of two arguments The advantage of this function 15 that it has a full 360 degree range rather than the 180 degree range of the single argument ATAN function This is the exponentiation function e Note To implement the function use instead A sample PMAC expression would be EXP P2 LN P1 to implement the function P1 SQRT This 1s the square root function This is the absolute value function INT This is a truncation function which returns the greatest integer less than or equal to the argument 2 5 2 INT 2 5 3 36 Programming PMAC 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 Reports the sine value of a 45 angle 1130 1130 2 Lower the proportional gain of Motor 1 by half 1125 1125 520000 Disable the end of travel limits of Motor 1 C
21. axes constant constant PROG ROT PROG Conditional branch IF condition Motion or PLC Conditional branch IF condition action PROG ROT action 8 Appendix D PMAC Program Command Specifications C 3 PMAC Quick Reference Guide INC axis axis PROG ROT fa Z axes J Vector Specification for Circular Moves Moves PROG ROT PROG ROT Motion Program PROG ROT Synchronous M Variable Value M constant expression Assignment M Variable And Equals Assignment M constant amp expression PROG ROT PROG ROT Variable um ParamNum Variable amNum Variable PLC only Write MACRO auxiliary parameter value MACROAUXWRITE Node MXW NodeNum Pa background Num ParamNum Variable ramNum Variable PLC only j Read copy Type 1 MACRO auxiliary MACROSLVREAD node MSR node slave PLC 1 1031 parameter value slave variable PMAC variable PMAC variable variable M Variable Or Equals Assignment M constant expresion PROG M Variable XOR Equals Assignment expression LS Set M Variable Value M constant expression Machine Code M Code M data Write copy 1 MACRO auxiliary MACROSLVWRITE node MSW node slave 110 31 parameter value slave variable PMA
22. 175 gt 0 50840 1 following error 1 Ix08 32 cts Following error is the difference between motor desired and measured position at any instant When the motor is open loop killed or enabled following error does not exist and PMAC reports a value of 0 6 62 64 69 MI75 M167 1108 32 To read this register in counts P176 M175 1108 32 Homing Search Moves If PMAC is not using an absolute feedback sensor that will keep a point of reference on the machine the axis should be homed before running a motion program or JOG commands home search procedure is not performed after power up reset PMAC will consider the power up reset position as the zero point reference P176 I Variable I Variable Motor x Position Address Motor x Home Offset 1 20 Motor x Jog Home Acceleration Time 1902 1907 Encoder 0 Capture Control PMAC 1 only Ix21 Motor x Jog Home S Curve Time I903 I908 Encoder 0 Flag Select PMAC 1 only Motor x Homing Speed amp Direction Motor x Flag Address The flag channel used by Ix25 must match the position feedback channel used by Ix03 indirectly from the conversion table M Variable M Variable ENC capture compare position register ENC 3rd channel input status Desired velocity zero bit HMFL input status LIM input status Home complete bit LIM input status Encoder home capture offset counts Programming PMAC 41 PMAC Quick Reference Guide Home commands ca
23. 47 This signal is an open collector output and requires pull up resistor to A 15V For early tests this amplifier signal should be under manual control Jumper E17 controls the polarity of the signal The default is low true conducting enable For any other kind of amplifier enable signal a dry contact of a relay or a solid state relay can be used Installing and Configuring PMAC 27 PMAC Quick Reference Guide JMACH1 JMACH1 gt To the amplifier enable signal the amplifier enable signal In addition the amplifier enable signal can be controlled manually by setting 1 00 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 15 having problems and can shut down action The polarity is programmable with I Variable Ix25 1125 for motor 1 and the return signal is analog ground AGND FAULT1 is pin 49 With the default setup this signal must be actively pulled low for a fault condition In this setup if nothing 15 wired into this input PMAC will consider the motor not to be in a fault condition The amplifier fault signal can be monitored using the properly defined Mx23 variable General Purpose Digital Inputs and Outputs JOPTO Port PMAC s JOPTO connector J5 on PMAC PC Lite and VME provides eight general purpose digital inputs and eight general purpose digital outputs Each input and each output
24. 60 PLC PROGRA M e 61 aD LC eg 6 0 25 62 Ig Ai doe 63 Calculation Statements ____ ______ 63 Conditional SCAU MICS gt __ _ __ _______________________ 63 TVA IIS OCT CO CONG 63 PU erp ater 63 64 COMMAND and SEND Statements gt ___________6_6_6_6_6_6___ 64 bun TU E O 65 On ERC PEC Propri ett esc e Namen 06 TROUBE ES TOO d EIC 67 Resetting PMAC to Factory Defaults enn 67 The Watcehdos Timer DD P 67 Establishing 68 RI 68 RP 69 COMMUMICO 69 69 ___ __ __ 70 METTE 71 APPENDIX PMAC ERROR CODE SUMMARY 73 16 Eror 73 APPENDIX B PMAC I VARIABLES SUMMARY 75 APPENDIX C PMAC ON LINE IMMEDIATE 8 2 2
25. Backup menu Verify PMAC s memory after the restore function as well The Watch and Position Windows The position window is accessed through the POSITION command of the View menu or ALT V and P from the terminal window It is a convenient way to check PMAC parameters continuously such as position velocity and following error Right clicking on this window allows the items selections as well as its format and update period The Watch window of the same View menu performs a similar function Instead of the motion related parameters any variable value in PMAC can be displayed constantly Right clicking on this window allows selecting the display format from hexadecimal decimal and binary reporting values Uploading and Downloading Files These functions are accessible through the File menu The uploading function is of great importance With these functions it is possible to open a text editor with the contents of the requested PLC Motion Program M Variables definitions or values I Variables values etc With this function what commands or values PMAC has in memory can be checked and IF conditions and WHILE loops are indented making the program flow better The File menu also activates a more interactive and complete editor utility providing a way also by the communication functions to compile PLCs and download files including MACRO names Using MACRO Names and Include Files PEWIN allows using custom names in place of the common nam
26. Formatted Display of Variable Value DISPLAY constant DISP constant PROG ROT constant constant constant constant PLC variable variable Start False Condition Branch Motionor PLC og Program Enable PLC Buffer s ENABLE PLC ENA PLC PROG ROT constant constant constant constant PLC ENABLE PLC constant constant ENA PLC constant constant Enable Compiled PLC Program s ENABLE PLCC ENA PLCC PROG ROT constant constant constant constant PLC ENABLE PLCC constant constant ENA PLCC constant constant Motion or PLC Motion or PLC PROG ROT FRAX axis axis PROG ROT PROG ROT Unconditional Jump With Return GOSUB data Motion Program Unconditional Jump Without Return GOTO data Motion Program Programmed Homing HOME constant HM constant constant constant HOME HM constant constant constant constant constant constant constant constant Ts PROG ROT Programmed Zero Move Homing HOMEZ constant HMZ constant constant constant HOMEZ HMZ constant constant constant constant constant constant I Vector Specification for Circular Moves I dataj or Normal Vectors Set I Variable Value I constant expression NEN Incremental displacement of X Y and Z IDIS constant PROG ROT
27. High vel FE correlation High vel FE correlation The following error is reduced at Cause damping Cause friction minimum and is concentrated in the Fix Increase Kya 1x32 Fix Increase Integral gain 1x33 or center evenly along the move Friction Feedforward 1x68 High acc FE correlation High acc FE correlation Negative vel FE correlation Cause Integral lag Cause Physical system limitations Cause Too much velocity FF Fix Increase Kae 1x35 Fix Use less sudden acceleration Fix Decrease Kye 1x32 High vel FE correlation High acc FE correlation High vel FE and acc FEcorrelation Cause damping and friction Cause much Cause Integral lag and friction Fix Increase Kya 1x32 Fix Decrease 1x35 Fix Increase 1x35 18 PMAC Executive Program PEWIN 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 PISetup and P2Setup packages provided separately These setup utilities provide a user friendly approach for setting up and tuning PMAC 1 with PISetup or PMAC2 using P2Setup Online PMAC Software and Hardware help files Jog Ribbon and connector status Screens to display organize or change I P Q and M variables Firmware downloading through MOTIONEXE for PMACs with flash memory PMAC Executive Program PEWIN 19 20 PMAC Quick Reference G
28. Installing and Configuring PMAC PMAC Quick Reference Guide Resetting PMAC for First Time Use Once communications have been established type the following commands in the terminal window Global Reset PO 1023 0 Reset P variables values 00 1023 0 Reset Q variables values 0 1023 gt 0 1023 0 Reset M variables definitions and values UNDEFINE ALL Undefine Coordinate Systems SAVE Save this initial clean configuration Connections Typically the user connections are made to a terminal block that is attached to the JMACH connector by a flat cable Acc 8D or 8P The pinout numbers on the terminal block are the same as those on the JMACH connector for PMAC PC While the numbering scheme for the pins on machine connectors on PMAC VME is different from that for PMAC PC the physical arrangement is the same and PMAC VME users can use the same terminal numbers on the terminal block board in following the instructions given below Note Make sure PMAC is not powered while the connections are being made Leave any loads disconnected from the motor at this point Power Supplies Digital Power Supply 1 5 8 45V 5 7 5W Eight channel configuration with a typical load of encoders The host computer provides the 5V power supply if the PMAC is installed in its internal bus With the board plugged into the bus it will pull 5V power from the bus automatically and it cannot be disconnected In this case t
29. PLCC Host command response safety checks and watchdog register set 2nd enabled PLC 1st enabled end enabled PLCC Last enabled PLCC Host command response Safety checks and watchdog register set Last enabled PLC Introduction move planning Encoder Conversion Commutation Update Table Execution Motor 1 Coordinale System amp 3 move planning Coordinale System amp 4 move Manning Coordinate System amp 5 move planning Coordinate System amp 6 move planning Coordinate System amp 7 move planning ICoordinate System amp 8 move planning enabled PLCO enabled PLCCO watchdog register decrement servo Update Motor 1 servo Update Motor 2 servo Update Motor 3 servo Update Motor 4 Servo Update Motor 5 servo Update Motor 6 servo Update Motor 7 servo Update Motor 8 Enabled data gathering and reporting functions Commutation Update Motor 2 Commutation Update Motor 3 Commutation Update Motor 4 Commutation Update Motor 5 Commutation Update Motor 6 Commutation Update Motor 7 Commutation Update Motor 8 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 T
30. PMAC Quick Reference Guide Types of PMAC PMAC PC or PMAC VME Features Advanced PID servo motion algorithms Analog to digital converted inputs Sinusoidal encoder feedback inputs PMAC PC Recommended for applications with more than four channel requirements in either a PC based or stand alone environment More than four channels can be used for more than four motors operation dual feedback axis two encoder input each or commutated motors two DACs each For three or four channels applications the PMAC Lite board is suggested instead PMAC Lite The PMAC Lite is recommended for applications with three or four channel requirements in either a PC based or stand alone environment The term Lite stands for the limitation of only one DSPGATE Gate Array IC on board The number of channels can always be expanded from 4 to 12 through the use of an Acc 24P The PMAC Lite board 15 provided also in a stand alone box the PMAC Pack complete with power supplies and connectors For one or two channels applications the PMAC Mini board is suggested instead PMAC VME With the same features as the PMAC PC PMAC VME 15 the only option for VME based applications The PMAC VME can be ordered with either four or maybe eight axes Option 1 The dual ported RAM option PMAC VME 15 on board PMAC STD With the same features as the PMAC PC the PMAC STD 1s the only option for STD based applications The dual ported RAM option is not available
31. Variables which are coupled to a given coordinate system This allows for useful information passing between different coordinate systems P Variables can be used in programs for any purpose desired positions distances velocities times modes angles intermediate calculations etc If a command consisting simply of a constant value is sent to PMAC PMAC assigns that value to variable PO For example if the command 342 lt gt is sent to PMAC it will interpret it as P0 342 CR This capability is intended to facilitate simple operator terminal interfaces It does mean however that it is not a good idea to use PO for other purposes because it is easy to change this accidentally Q Variables Q Variables like P Variables are general purpose user variables 48 bit floating point variables at fixed locations in memory with no pre defined use However the meaning of a given Q Variable and hence the value contained in it is dependent on which coordinate system 15 utilizing it This allows several coordinate systems to use the same program for instance containing the line X Q1 25 Y Q2 but to do have different values in their own Q Variables which in this case means different destination points Several Q variables have special uses The ATAN2 two argument arctangent function uses QO automatically as its second argument the cosine argument The READ command places the values it reads following letters A through Z in Q101 to Q1
32. error should enter the proper password Data error or unrecognized command should correct syntax of command ERROOA Illegal character bad value 2127 ASCII or serial should correct the character and or check for noise on the parity framing error serial cable ERROOS Command not allowed unless buffer is open should open a buffer first ERROO6 No room in buffer for command should allow more room for buffer DELETE or CLEAR other buffers ERROO8 ERROO9 should correct structure of program 010 Both overtravel limits set for a motor in the C S ERR I1 ERRO12 ERRO13 should set Ix00 to 1 or remove motor from C S 014 No motors in the coordinate system ERRO15 Not pointing to valid program buffer should use B command first or clear out scrambled buffers 016 Running improperly structured program e g should correct structure of program PS eme me mm should use J to return motor s to stopped position stopped position 007 Buffer already in use Appendix A PMAC Error Code Summary 73 74 PMAC Quick Reference Guide Appendix A PMAC Error Code Summary PMAC Quick Reference Guide APPENDIX PMAC I VARIABLES SUMMARY _ GlobalI Variables 1 Range Default Units Il Serial Handshake Line Disable 0 3 05 3 0 Error Reporting Mode I7 In Position of Consecutive Cycles 0 Background computa
33. for the PMAC STD and it is limited to eight channels no Acc 24 is available for it 2 Introduction PMAC Quick Reference Guide Turbo PMAC PC 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 1 either a PC based or stand alone environment The dual ported RAM option in a PMAC Mini is on board Two extra full encoder channels for a total of four on board can be used for dual feedback applications or with the two optional voltage to frequency V F converters for stepper drivers or hybrid amplifiers control There is no control panel port or bus interrupt in the PMAC Mini board The PMAC Mini board is provided also in a stand alone box the Mini Pack complete with power supplies and connectors Introduction PMAC Quick Reference Guide PMAC2 is available in either PC PCI or VME formats It is suggested for applications that require digital amplifier control direct PWM signals or applications with a combination of analog and digital axis PMAC2 is recommended also for the use of 15 built in features that are optional PMAC 1 pulse and direction outputs MLDT inputs optional 12 bits analog to digital inputs two extra encoder inputs improved position compare capture feature and one channel of parallel feedback The PMAC2 is available with four or eight axes with only four axes as the PMAC2 L
34. has its own corresponding ground pin in the opposite row The 34 pin connector was designed for easy interface to OPTO 22 or equivalent optically isolated I O modules Acc 21F is a six foot cable for this purpose Typically these inputs and outputs are accessed in software through the use of M Variables In the suggested set of M Variable definitions variables through 8 are used to access outputs 1 through 8 respectively and M11 through M18 to access inputs 1 through 8 respectively This port maps into PMAC s memory space at Y address SFFC2 e The Acc 21S is an I O simulator for the PMAC JOPTO port it provides eight switch inputs and eight LED outputs The 215 15 a good tool for I O simulation and troubleshooting of the JOPTO port in PMAC 26 Installing and Configuring PMAC PMAC Quick Reference Guide Machine Connections Example Amplifier 15 Volts Power Supply Acc 8D Acc 8P O1 O1 pA gt A lt CHCn CHBn CHBn CHAn CHAn DACn DACn AENAn DIRn 36 FAULTn 58 58 58 58 AGND JI 2 4 6 30 32 34 NO RO RO EN p KR KR KR N pP N gt pA CO RO OO Acc 8D This diagram is just an example of one of the many var
35. msec TM X10 Move distance is 10 units 20000 counts TA250 Acceleration deceleration of the blended move is 250 msec X40 Move distance is 40 units 80000 counts CLOSE 2 The two move commands are plotted without blending placing a DWELLO command in between the two moves Two mowes blending SS 0000 300000 250000 200000 150000 100000 40000 0 50000 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 Time sec 3 The two moves are now plotted with the blending mode activated To find out the blending point trace straight lines through the middle point of each acceleration lines of both velocity profiles Teo blended mores 350000 00000 250000 200000 150000 100000 590000 0 50000 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 Time sec Observations TA TA 1 The total move time 15 given by 2 m M 2 The acceleration of the second blended move be extended only up to a certain limit 2 TM TA 50 Motion Programs PMAC Quick Reference Guide Two blended mowes 35 1000 300000 250000 200000 150000 100000 90000 0 50000 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 Time 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 17 limit However there are cases where more than two moves some much more than two would have to b
36. next line of the motion program line contains move commands calculate move execute line No end of program No gt Execute next Yes gt Gnabled PLC Execute first enabled PLCC perform safety checks end of travel limits amplifier faults following error Execute next enabled PLCC sets watchdog register to 4095 All PLCCs Y checked command response communications 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 The most common control character is the carriage return lt CR gt which tells PMAC to treat all the preceding alphanumeric characters as a command line Other control characters have their own meanings independent of any alphanumeric characters received Here PMAC will take the appropriate action to the command or if it is an illegal command it will report an error to the host Between each scan through each background PLC program PMAC performs its housekeeping duties to kee
37. node slave var const MACROSLVREAD Read copy Type 1 MACRO MACROSLVREAD MSR node slave auxiliary parameter value node slave variable PMAC variable variable PMAC variable MACROSLVWRITE Write copy 1 MACRO MACROSLVWRITE MSW node slave auxiliary parameter value node slave variable PMAC variable parameter value node slave variable constant variable constant variable PMAC variable Variable assignments O constant Openlopoupu Ofcomtan J OPEN PLC Open a PLC program buffer for entry OPEN PLC constant __ for entry constant program buffers for entry P JRepotmotopostin O J P jJ P constant constant P constantj exp Assign a value to P Variable P constant constant BEEN ression expression constant constant constant constant Appendix C PMAC On Line Immediate Commands 85 PMAC Quick Reference Guide PASSWORD string Enter set program password PASSWORD string Report program counter Report program execution pointer R Re match axis positions to motor PMATCH positions Report rotary program remaining I Quit program at end of move Report Q Variable value Q constant constant O constant exp value assignment constant constant ression expression R Runmotionpogam
38. non integer value is specified for the TA time PMAC will round it to the nearest integer automatically It will not report an error This rounding will change the speeds and times for the trajectory At the beginning and end of a series of splined moves PMAC adds a zero distance segment of TA time for each axis automatically and performs the spline between this segment and the adjacent one This results in a S curve acceleration to and from a stop PMAC s SPLINE2 mode 15 very similar to the SPLINE1 mode except that the requirement that the TA spline segment time remain constant 15 removed PVT Mode Moves For the user who desires more direct control over the trajectory profile PMAC offers Position Velocity Time PVT mode moves In these moves the axis states are specified directly at the transitions between moves unlike in blended moves This requires more calculation by the host but allows tighter control of the profile shape For each piece of a move the end position or distance the end velocity and the piece time are specified PMAC is put in this mode with the program statement PVT data where data is a constant variable or expression representing the piece time in milliseconds This value should be an integer if it is not PMAC will round it to the nearest integer The piece time may be changed between pieces either with another PVT data statement or with a TA data statement The program is taken out of this mode w
39. of each motor takes approximately 7 of PMAC s computational power Actual Position m Commanded Position Introduction 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 They occur immediate after the servo update tasks at a rate controlled by parameter I8 every 18 1 servo update cycles There are two significant tasks occurring at this priority level PLC 0 PLCCO and motion program move planning PMAC will scan the lines of each program running in the different coordinate systems and will calculate the necessary number of move commands The number of move commands of pre calculation can either be zero one or two and depending on the type of motion commands and the mode in which the program 15 being executed Non move commands are executed immediately as they are found The scan of any given motion program will stop as the necessary number of moves is calculated It resumes when previous move commands are completed and more move planning calculations are required In the execution of a motion program if PMAC finds two jumps backward toward
40. on the terminal window replace 1 for the appropriate coordinate system number If it is zero or too low set it to an appropriate value The amp 1 100 command will set it to 100 96 For troubleshooting purposes change the feedrate override to lower than 100 value If the program is run for the first time a preceding 10 command could be issued to run the motion program in slow motion Running the program slowly will allow observing the programmed path more clearly it will demand less calculation time from PMAC and it will prevent damages due to potentially wrong acceleration and or feedrate parameters A motion program can be stopped by sending amp 1a or for simplicity a CTRL A command which will stop any motion If the motion of any axis becomes uncontrollable and it should be stopped issue a CTRL K command to kill all the motors in PMAC disabling the amplifier enable line 1 connected However the motor might come to a stop in an uncontrollable way and proceed to move due to its own inertia A motion program can be stopped also by issuing a CTRL Q command The last programmed moves in the buffer will be completed before the program quits execution It can be resumed by issuing an R command alone without first pointing to the beginning of the buffer by the B command Subroutines and Subprograms It is possible to create subroutines and subprograms in PMAC motion programs to create well structured modular programs with re usable s
41. receives a command that requires a response e g CONTROL F If there is no action change jumpers 9 16 on PMAC to exchange the send and receive lines If there is action but the host program does not receive characters RS 232 could be receiving circuitry that does not respond at all to PMAC s RS 422 levels If there is another model of PC try using it as a test most models accept RS 422 levels quite well If the computer will not accept the signals a level conversion device such as Acc 26 may be needed Motor Parameters 1 No movement at all Check the following a Are both limits held low to AGND and sourcing current out of the pins varp gt Is there proper supply to A 15V 15 and AGND Is the proportional gain 1x30 greater than zero Can any output be measured at the DAC pin when an O command has been given Is the following error limit being tripped Increase the fatal following error limit Ix11 by setting it to a more appropriate value and try to move again Movement but sluggish Check the following a d Is proportional gain Ix30 too low Try increasing it as long as stability is kept Is the big step limit Ix67 too low Try increasing it to 8 000 000 near the maximum to eliminate any effect Is the output limit Ix69 too low Try increasing it to 32 767 the maximum to make sure PMAC can output adequate voltage Can an integrator help Try increasing integral gain Ix33
42. restores the real time reference 1 msec msec 197 IIO Suggested M Variable for time base change Equal to is 100 equal to 0 is 090 1102 The variable x94 controls the rate at which time base changes 1x94 where t is the slew rate 1 time msec External Time Base Control Electronic Cams The time reference of each coordinate system can be changed from the default internal reference controlled by the command and variables Mx97 to an external source usually a frequency reference from a master encoder A simple change of the variable Ix93 allows switching between the internal time base and an external source In this fashion motion programs can be developed and tested running in real time internal time base and synchronized later to a master frequency when proven to be functional and completed gt The coordinate Motion programs in The distances system time base is PMAC are programmed in PMAC number that adjusted every servo i in time are covered the represent a frequency cycle based on the 5 and limes specified TS passing by master frequency DELAY and Master encoder generates pulses as distance is covered like a web of material Pulses of master seen by PMAC as Distance of the slaved coordinate system depends on the distance covered by the master The only setup part of this
43. result is placed in the last highest address X word and the other X words hold intermediate data Example 728 1832 400723 Time base from converted Enc 4 729 1833 000295 Time base scale factor for above The result of this time base value based on encoder 4 is placed in register X 0729 the second and last entry for this conversion Further Position Processing Once the position feedback signals have been processed by the Encoder Conversion Table which happens at the beginning of each servo cycle the data is ready for use by the servo loop For each activated motor PMAC takes the position information in the 24 bit register pointed to by 03 and extends it in software to a 48 bit register that holds the actual motor position Several other features are available for conditioning the feedback signal as needed e Axis Position Scaling in the coordinate system axis definition a scale factor determines the relationship between encoder counts and user units to be used motion programs Leadscrew Compensation a compensation table containing corrective values for errors due to the leadscrew imperfections can be created for each motor e Backlash Compensation On reversal of the direction of the commanded velocity a pre programmed backlash distance is added to or subtracted from the commanded position e Torque Compensation Tables The table belonging to a motor provides a torque correction to that motor as a function of
44. supply 2 Is the red LED watchdog timer indicator on PMAC s CPU board OFF as it should be If it is ON make sure PMAC 15 getting very close to 5V supply at less than 4 75V the watchdog timer will trip shutting down the card The voltage can be probed at pins 1 and 3 of the J8 connector A1 and A2 on the PMAC VME If the voltage 15 satisfactory inspect PMAC to see that all inter board connections and all socketed ICs are well seated If the card still will not run with the red LED off contact the factory 68 Troubleshooting PMAC Quick Reference Guide Bus Communications 1 2 Do the bus address jumpers E91 E92 E66 E71 set an address that matches bus address that the Executive program 15 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 Is the proper port on the PC being used Make sure that if the Executive program is addressing the COMI port the COMI connector has been cabled out Does the baud rate specified in the Executive program match the baud rate setting of the E44 E47 jumpers on PMAC With a breakout box or oscilloscope make sure there is action on the transmit lines from the PC while typing into the Executive program If not there is a problem on the PC end Probe the return communication line while PMAC
45. system or to perform special functions The PMAC Executive Program for PC compatible computers has a special editing screen for the conversion table that makes viewing it and changing it very easy 36 Programming PMAC 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 50720 000 E Feedback Device 073 Servo Algorithms PMAC s Conversion Table The encoder conversion table starts at address 720 1824 decimal in PMAC s memory It can continue through address 73F 1855 decimal The active part of the table is ended by the first Y word that is all zeros The encoder table as shipped from the factory converts the eight incremental encoder registers on the base PMAC board in locations 720 through 727 1824 to 1831 Locations 728 and 729 create time base information from the converted Encoder 4 register 723 Y 72A is zero ending the active part of the table Some conversion types need more than one entry the other Y words are further setup parameters for the conversion The conversion
46. that motor s position Programming PMAC 39 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 15 1 handwheel offset mode minus the master position register 175 gt 5002 16 1 Bat 10 of 1105 M162 gt D S002B 1 Actual position 1 Ix08 32 cts 164 gt 0 50813 gt 1 Position bias 1 Ix08 32 cts M167 5D 5 002D 1 Present master handwheel pos 1 Ix07 32 cts of master or 1 Ix08 32 cts of slaved motor M169 gt D 0046 1 Compensation correction M162 M164 M169 M175 M167 100 1108 32 P100 will report the same value as the online command P or the position window in the PMAC Executive program The addresses given are for Motor 1 For the registers for another motor x add x 1 3C x 1 60 to the appropriate motor 1 address 161 gt 0 50028 1 Commanded position 1 Ix08 32 cts The motor commanded position registers contain the value in counts where the motor is commanded to move It is set through JOG online commands or axis move commands X10 inside motion programs To read this register in counts P161 M161 I108 32 M162 gt D S002B 1 Actual position 1 Ix08 32 cts The actual position register contains th
47. the top in the program while looking for the next move command PMAC will pause execution of the program and not try to blend the moves together It will go on to other tasks and resume execution of the motion program on a later scan Two statements can cause such a jump back ENDWHILE and GOTO RETURN does not count Background Tasks In the time not taken by any of the higher priority tasks PMAC will be executing background tasks There are three basic background tasks command processing PLC programs 1 31 and housekeeping The frequency of these background tasks is controlled by the computational load on PMAC the more high priority tasks are executed the slower the background tasks will cycle through and the more background tasks there are the slower they will cycle through Each PLC program executes one scan to the end or to an ENDWHILE statement uninterrupted by any other background task although it can be interrupted by higher priority tasks In between each PLC program PMAC will do its general housekeeping and respond to a host command if any Introduction All C S programs checked C S program running No Y Enabled PLCO Enabled PLCCO Yes No decrement the v gt watchdog register by 8 Next coordinate system End of Interrupt move calculations A needed Yes Read
48. this accessory can be useful to provide the level conversion between RS 232 and RS 422 communications is possible without this conversion but at reduced noise margin Because the conversion 15 optically isolated the accessory also helps prevent noise and ground loop problems If a cable must be made the easiest approach 15 to use a flat cable prepared with flat cable type connectors as indicated in the following diagrams DB 9 Female IDC 10 Do not connect wire 10 1 1 DB 25 Female IDC 26 1 1 Do not connect wire 26 Installing and Configuring PMAC 21 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 If telling it to look for PMAC on a COM port tell it the baud rate this was set up with jumpers or switches on the PMAC Once the program knows where and how to communicate with PMAC it will attempt to find PMAC at that address by sending a query command and waiting for the response If it gets the expe
49. those with ASCII values 0 31D are always global commands Those that do not require a data response act on all cards on a serial daisychain These characters include carriage return CR backspace BS and several special purpose characters This allows for instance commands to be given to several locations on the card in a single line and have them take effect simultaneously at the CR at the end of the line 1R amp 2R lt CR gt causes both Coordinate Systems 1 and 2 to run Buffered Program Commands As their name implies buffered commands are not acted on immediately but held for later execution PMAC has many program buffers 256 regular motion program buffers eight rotary motion program buffers 1 for each coordinate system and 32 PLC program buffers Before commands can be entered into a buffer that buffer must be opened e g OPEN PROG 3 OPEN PLC 7 Each program command is added onto the end of the list of commands in the open buffer to replace the existing buffer use the CLEAR command immediately after opening to erase the existing contents before entering the new ones After finishing entering the program statements use the CLOSE command to close the opened buffer Computational Features I Variables I Variables initialization or setup variables determines the personality of the card for a given application They are at fixed locations in memory and have pre defined meanings Most are integer values and
50. to 10 000 or more and the integration limit Ix63 to 8 000 000 3 Runaway condition Check the following a b Is there feedback Check that the position changes can be read in both directions Does the feedback polarity match output polarity Recheck the polarity match as explained above 4 Brief movement and then stop Check the following a Is the following error limit being tripped Increase the fatal following error limit Ix11 by setting it to a more appropriate value and try to move again Troubleshooting 69 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 1125 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 If the motor dies after it has been given a JOG command the fatal following error limit has been exceeded If this has happened it is either because a move has been requested that is more than the system can physically do if so reduce 1122 or because it is very badly tuned if this 15 the case increase proportional gain 1130 To restore closed loop control issue the J command Motion Programs If the program does not run at all there are
51. 0 0 24 gt Y 0CAA 0 24 gt Y 0D6A 0 24 S cycle S S Motor 1 following M175 gt D 0840 M275 gt D 0900 M375 gt D 09C0 M475 gt D 0A80 M575 gt D 0B40 M675 gt D 0C00 775 gt 0 0 0 875 gt 0 50080 error 1 Ix08 32 cts Appendix E Motor Suggested M Variable Definitions 93 PMAC Quick Reference Guide Status Bits System 1 System 2 System 3 System 4 System 5 System 6 System 7 System 8 gt X 0818 0 1 gt X 08D8 0 1 gt X 0998 0 1 gt 0 58 0 1 gt X 0B18 0 1 gt X 0BD8 0 1 gt X 0C98 0 1 gt X 0D58 0 1 gt Y 0817 21 1 gt 50807 21 1 gt Y 0997 21 1 gt 0 57 21 1 gt 50 17 21 1 gt Y 0BD7 21 1 2Y 0C97 21 1 gt 50057 21 1 gt 0817 22 1 gt 50807 22 1 gt Y 0997 22 1 gt Y 0A57 22 1 gt 50 17 22 1 gt Y 0BD7 22 1 gt 50 97 22 1 gt Y 0D57 22 1 request gt X 0818 4 1 gt 50808 4 1 gt 50998 4 1 gt X 0A58 4 1 gt X 0B18 4 1 gt X 0BD8 4 1 gt X 0C98 4 1 gt X 0D58 4 1 motors gt 0817 17 1 gt 0807 17 1 gt Y 0997 17 1 gt 0 57 17 1 2Y 0B17 17 1 gt Y 0BD7 17 1 2Y 0C97 17 1 gt 0057 17 1 error bit OR gt 50817 18 1 gt 50807 18 1 gt Y 0997 18 1 gt 0 57 18 1 gt 50 17 18 1 gt Y 0BD7 18 1 2Y 0C97 18 1 gt Y 0D57 18 1 7Y 0817 19 1 gt 0807 19 1 gt Y 0997 19 1 gt Y 0A57 19 1 gt 50 17 19 1 gt Y 0BD7 19 1 2Y 0C97 19 1 gt 0057 19 1 of motors 7Y 0817 20 1 gt Y 08D7 2
52. 0 1 7Y 0997 20 1 gt 0 57 20 1 gt 50 17 20 1 gt Y 0BD7 20 1 2Y 0C97 20 1 gt 0057 20 1 Definition Registers M191 gt L 0822 M291 gt L 08E2 M691 gt L 0BE2 791 gt 1 0 2 M891 gt L 0D62 factor cts unit cts unit cts unit M194 gt L 0825 M694 gt L 0BE5 M794 gt L 0CA5 M894 gt L 0D65 Variables System 1 System 2 System 3 System 4 System 5 System 6 System 7 System 8 Host commanded time M197 M297 M397 497 597 697 797 M897 Present time base M198 M298 M398 M498 598 698 798 M898 1 2 4 7 8 9 0 94 Appendix E Motor Suggested M Variable Definitions PMAC Quick Reference Guide APPENDIX I O SUGGESTED M VARIABLE DEFINITIONS 901 gt 5 0 1 1 M910 gt Y FFDO 10 1 M911 gt Y FFDO 11 1 M921 gt Y FFDO 21 1 M940 gt Y FFD1 16 1 M945 gt Y FFD1 21 1 M946 gt Y FFD1 22 1 947 gt 8 1 23 1 Appendix Suggested M Variable Definitions 95 PMAC Quick Reference Guide 96 To clear all existing definitions Servo cycle counter M32 Definition M20 gt Y FFCO 8 M21 gt Y FFCO 9 1 M22 gt Y FFCO 10 1 M23 gt Y FFCO 11 1 M24 gt Y FFCO 12 1 M25 gt Y FFCO 13 1 M26 gt Y FFCO 14 1 M27 gt Y FFCO 15 1 M28 gt Y FFCO 16 1 29 gt 17 1 M30 gt Y FFCO 18 1 M3 1 gt Y FFCO0 19 1 gt Y FFCO
53. 01A 8 16 S ENC capture compare M103 M203 M303 M403 503 603 703 position 1 32 ct gt X 0720 0 24 S gt 0721 0 24 5 gt 0722 0 24 5 gt 50723 0 24 5 gt 0724 0 24 5 gt X 0725 0 24 S gt X 0726 0 24 S gt X 0727 0 24 S gt Y C006 8 16 S gt Y C007 8 16 S gt Y COOE 8 16 S gt Y COOF 8 16 S gt Y C016 8 16 S gt Y C017 8 16 S gt Y CO1E 8 16 S gt Y CO1F 8 16 S EQU compare flag latch MIII 211 M311 M411 511 M611 M711 gt X gt gt 11 11 gt 1 gt X 11 EQU compare output M112 M212 312 412 512 M612 M712 enable gt X C000 12 1 X C004 12 1 gt X C008 12 1 gt 00 12 1 gt X C010 12 1 gt X C014 12 1 018 12 1 gt 5 01 12 1 EQU compare invert M113 M213 M313 M413 513 M613 M713 gt X C000 13 1 gt X C004 13 1 gt X C008 13 1 gt 5 00 13 1 gt X C010 13 1 gt X C014 13 1 gt 018 13 1 gt X CO1C 13 1 AENA DIR Output M114 M214 M314 M414 M514 M614 M714 gt X C000 14 1 gt X C004 14 1 gt X C008 14 1 gt X C00C 14 1 X C010 14 1 gt X C014 14 1 gt X C018 14 1 gt X C01C 14 1 gt X X X X X gt gt X C000 16 1 gt 5 004 16 1 gt X C008 16 1 gt 00 16 1 gt X C010 16 1 X C014 16 1 gt 8 018 16 1 gt 5 01 16 1 gt X C000 17 1 gt X C004 17
54. 1 gt X C008 17 1 gt 00 17 1 gt 8 010 17 1 gt X C014 17 1 gt 018 17 1 gt 5 01 17 1 gt X C000 18 1 gt X C004 18 1 gt X C008 18 1 gt 00 18 1 gt 8 010 18 1 gt 5 014 18 1 gt 018 18 1 gt 5 01 18 1 input status gt X C000 19 1 gt X C004 19 1 gt X C008 19 1 2X C00C 19 1 gt X C010 19 1 2X C014 19 1 2X C018 19 1 2X C01C 19 1 gt X C000 20 1 2X C004 20 1 gt X C008 20 1 2X C00C 20 1 gt X C010 20 1 2X C014 20 1 2X C018 20 1 2X C01C 20 1 gt X C000 21 1 gt X C004 21 1 gt X C008 21 1 2X C00C 21 1 2X C010 21 1 gt X C014 21 1 2X C018 21 1 gt 01 21 1 gt X C000 22 1 2X C004 22 1 gt X C008 22 1 gt 00 22 1 gt X C010 22 1 gt X C014 22 1 2X C018 22 1 gt 5 01 22 1 gt X C000 23 1 gt X C004 23 1 gt X C008 23 1 2X C00C 23 1 gt X C010 23 1 gt X C014 23 1 2X C018 23 1 gt 01 23 1 5 2 8 Fz o B Ie 3 C xc gt SIS Sie SIR SIC SIC SIC SIC SIC SIC SIC SIC SE SIR SIR SIR SIRS Pha tu Lt ee es Fe le le sto Appendix E Motor Suggested M Variable Definitions 91 PMAC Quick Reference Guide Stopped on position M130 M230 M330 M430 530 M630
55. 15 useful particularly for creating machine tool style programs in which the syntax must consist solely of letter number combinations in the parts program Since PMAC treats the G M T and D codes as special subroutine calls the READ statement can be used to let the subroutine access values on the part program line after the code The READ statement also provides the capability of seeing what arguments have actually been passed The bits of Q100 for the coordinate system are used to note whether arguments have been passed successfully bit 0 is 1 if an A argument has been passed bit 1s 1 if a B argument has been passed and so on with bit 25 set to 1 if a Z argument has been passed The corresponding bit for any argument not passed in the latest subroutine or subprogram call is set to 0 Example close delete gather undefine all 1 gt 2000 open progl clear LINEAR INC 100 TSO F30 and timing parameters gosub 100 10 Subroutine call passing parameter H with value 10 return End of the main program section execution ends jain BO Subroutines section First subroutine labeled 100 read h the H parameter value passed IF 0100 amp S80 gt 0 the H parameter has been passed 0108 Use the parameter value contained in 0108 endif return End of the subroutine labeled 100 close End of the motion program code G M T and D Codes Machine Tool Style Programs PMAC permits the execution of
56. 15K 15 360 24 bit words of PMAC memory or 14K 14 336 words if there is a user written servo as well In between each scan of each individual background interpreted PLC program PMAC will execute one scan of all active background compiled PLCs This means that the background compiled PLCs execute at a higher scan rate than the background interpreted PLCs For example if there are seven active background interpreted PLCs each background compiled PLC will execute seven scans for each scan of a background interpreted PLC 10 Introduction 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 15 wanted for position capturing purposes either the end of travel limit inputs or the amplifier fault input could be used The automatic check of the input flag could be disabled by an appropriate setting of the corresponding Ix25 variable and replaced by a PLCC code that will check a general purpose input where the amplifier fault or end of travel limit would be connected instead On power up reset PLC programs are executed sequentially from 1 to 31 This makes PLC1 the first code executed the ideal place to perform initialization commands like other PLCs disabling motors phasi
57. 16 4 C Definition M40 gt Y FFC1 8 1 M41 gt Y FFC1 9 1 M42 gt Y FFC1 10 1 M43 gt Y FFC1 11 1 M44 gt Y FFC1 12 1 M45 gt Y FFC1 13 1 M46 gt Y FFC1 14 1 M47 gt Y FFC1 15 1 M48 gt Y FFC1 8 8 U MS50 gt Y FFC1 0 1 MS51 gt Y FFC1 1 1 M52 gt Y FFC1 2 1 M53 gt Y FFC1 3 1 M54 gt Y FFC1 4 1 MS55 gt Y FFC1 5 1 M56 gt Y FFC1 6 1 57 gt 5 7 1 M58 gt Y FFC1 0 8 U 0 1023 gt M0 gt X 0 0 24 U Appendix Suggested M Variable Definitions PMAC Quick Reference Guide General Purpose Inputs and Outputs Machine Output 1 M1 gt Y FFC2 8 1 Machine Output 2 M2 gt Y FFC2 9 1 4 Machine Output 3 M3 gt Y FFC2 10 1 Machine Output 4 M4 gt Y FFC2 11 1 M Machine Output 6 M6 gt Y FFC2 13 1 1 2 Machine Output 5 5 gt Y FFC2 12 1 7 gt M11 gt Y FFC2 0 1 M12 gt Y FFC2 1 1 M17 gt Y FFC2 6 1 M19 gt Y FFC2 0 8 U M91 gt Y 0700 0 24 S Timer register 3 8388608 110 msec Open memory cleared to 0 on power on reset Open registers stored in battery backed RAM Appendix F Suggested M Variable Definitions 97 98 PMAC Quick Reference Guide Appendix Suggested M Variable Definitions WW 90 p Ul OL APPENDIX G ACC 8D 8P PINOUT DESCRIPTIONS PMAC Quick Reference Guide PMAC ACC 8D TERMINAL BLOCK BOARD 90 Ul OL lt
58. 26 respectively and a mask word denoting which variables have been read in Q100 The S spindle statement in a motion program places the value following it into Q127 Based on that and since a total of 1024 Q Variables are shared between potentially eight Coordinate Systems 128 variables each the practical range of the Q Variables to be used safely in motion programs is therefore Q1 to Q99 Programming PMAC 33 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 amp 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 Ifa different coordinate system runs the same motion program it will use different Q variables When accessing a Q Variable from a PLC program statement it 1s the Q Variable for the coordinate system that has been addressed by that PLC program with the ADDRESS command Each PLC program can address a particular coordinate system independent of other PLC programs and independent of the host addressing If no ADDRESS command is used in the PLC program the program uses the Q Variables for Coordinate System 1 M Variables To permit easy access to PMAC s memory and I O space M Variables are provided Generally a d
59. 388608 1109 32 110 1160 1 167 gt 0 50020 1 Present master handwheel pos 1 Ix07 32 cts gt Of master or L Ix08 32 cts of slaved motor 40 Programming PMAC PMAC Quick Reference Guide M167 is related to 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 1108 32 P167 M167 1107 32 M169 gt 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 To read this register in counts P169 M169 I108 32 M172 gt L 082B 1 Variable jog position distance counts Contains the distance for the J command Example M172 2000 J Jog to position 2000 encoder counts 173 gt 50815 0 24 5 1 Encoder home capture offset counts Contains the home offset from the reset power on position This is important for the capture compare features Example 117 1 P103 M103 M173 Captured position minus offset endif 174 gt 5082 24 1 filtered actual velocity 1 Ix09 32 cts servo cycle These registers contain the actual velocities averaged over the previous 80 real time interrupt periods 80 18 1 servo cycles this is useful for display purposes To read this register in cts msec P174 M174 8388608 1109 32 110 1160 1
60. 50 300 15000 40000 KOF P 2 user units 1190 msec 3 3000 20000 50 units 300msec 15000 0 Xo P e SS did 00 oof 4 05 08 1D 12 14 18 CLOSE Other Programming Features Rotary Motion Program Buffers PMAC has a limited memory space shared for motion programs PLCs compensation tables and gathering buffers The rotary motion program buffers allow running motion programs larger than the available space in PMAC s memory Motion Program in Text File PMAC s Memory j J PE run Host reads the file may Code a sent to Rotary butter from the hard drive 5 buffer Communication routines provided by Delta Tau have necessary code to implement this feature in a host computer Internal Time Base the Feedrate Override Each coordinate system has its own time base that helps control the speed of interpolated moves in that coordinate system If Ix93 15 set at default this parameter could be changed by different means where 0 lt n 100 Online or CMD command that runs all motion commands in slow motion n where100 lt n lt 225 Online or CMD command that runs all motion commands proportionally faster e 0 Online or CMD command that freezes all motions and timing in that C S 58 Motion Programs PMAC Quick Reference Guide e 100 Online or CMD command that
61. 6 S M602 gt Y C012 8 16 S M702 gt Y C01B 8 16 S M802 gt Y C01A 8 16 S 26 Installing and Configuring PMAC PMAC Quick Reference Guide Example for DAC 1 Type the following in the terminal window MIO2 5Y 50003 9 106 9 1100 0 102 16383 measure 5V between pins 43 and 58 of JMACH1 Acc 8D Acc 8P gt M102 16383 measure 5V between pins 43 and 58 of JMACH1 8 or Acc 8P gt 1100 1 DAC Output Signals If PMAC 15 not performing the commutation for the motor only one analog output channel is required to command the motor This output channel can be either single ended or differential depending on what the amplifier is expecting For a single ended command using PMAC channel 1 connect pin 43 to the command input on the amplifier Connect amplifier s command signal return line to PMAC s AGND line pin 58 In this setup leave the pin floating do not ground it For a differential command using PMAC channel 1 connect pin 43 to the Plus Command input on the amplifier Connect DACI pin 45 to the minus command input on the amplifier PMAC s AGND should be still connected to the amplifier common If the amplifier is expecting separate sign and magnitude signals connect pin 43 to the magnitude input Connect AENA1 DIR1 pin 47 to the sign direction input Amplifier signal returns should be connected to AGND pin 58 This format requires some paramet
62. 866 1 Ix09 32 cts cyc gt 50033 0 24 5 gt 5006 0 24 5 gt X 00AB 0 24 S gt X 00E7 0 24 S gt X 0123 0 24 S gt X 015F 0 24 S gt X 019B 0 24 S gt X 01D7 0 24 S Present master M167 gt D 002D M267 gt D 0069 M367 gt D 00A5 M467 gt D 00E1 M567 5D 011D M667 gt D 0159 M767 gt D 0195 M867 gt D 01D1 handwheel pos 1 Ix07 32 cts Filter Output DAC M168 M268 M368 M468 568 M668 768 M868 Compensation M169 gt D 0046 M269 gt D 0082 M369 gt D 00BE M469 gt D 00FA M569 gt D 0136 M669 gt D 0172 M769 gt D 01AE M869 gt D 01EA FE nd d Rn ees M870 gt D 01E5 Present phase pos M170 gt D 0041 M270 gt D 007D M370 gt D 00B9 M470 gt D 00F5 M570 gt D 0131 M670 gt D 016D M770 gt D 01A9 includes fraction in Y register counts Ix70 gt 50041 0 24 5 gt X 007D 0 24 S gt X 00B9 0 24 S gt 00 5 0 24 5 gt X 0131 0 24 S gt 50160 0 24 5 gt X 01A9 0 24 S gt 501 5 0 24 5 position distance counts offset counts gt 50815 0 24 5 gt 0805 0 24 gt 50995 0 24 5 gt Y 0A55 0 24 S gt Y 0B15 0 24 S gt Y 0BD5 0 24 S gt Y 0C95 0 24 S gt 50055 0 24 5 filtered actual vel M174 M274 M374 M474 574 674 774 874 1 Ix09 32 cts servo gt 082 0 24 5 2 Y 08EA 0 24 S gt Y 09AA 0 24 S gt 0 6 0 245 gt 0 2 0 24 5 gt
63. C variable PMAC only variable variable Program Line Label N contan 12 PROG ROT Define Normal Vector to Plane of Circular NORMAL vector data vector data PROG ROT vector data vector data Compensation Alternate Line Label Ofcontan Conditional OR 1conditionj PLC program only Set P Variable Value P constant expression PROG ROT Pause execution of PLC program s PAUSE PLC PAU PLC constant constant constant constant PROG PAUSE PLC PAU PLC constant constant constant constant Specify automatic subroutine call function PRELUDE command PRELUDEO Redefine current axis positions Position PSET axis data Motion SET axis data Program Motion Program Set Position Velocity Time mode PVT data PROG ROT Set Q Variable Value constant expression PROG Set Circle Radius R data PROG ROT set Rapid Traverse Mode RAPID PROG ROT Read Arguments for Subroutine READY letter letter Motion Program Resume execution of PLC programs s RESUME PLC constant constant RES PLC constant constant PROG RESUME PLC constant constant RES PLC constant constant lt lt Appendix D PMAC Prog
64. D command If there 1s no host on the port to which the message is sent or the host is not ready to read the message the message 15 left in the queue If several messages back up in the queue this way the program issuing the messages will halt execution until the messages are read This is a common mistake when the SEND command is used outside of an Edge Triggered condition in a PLC program On the serial port it 1s possible to send messages to non existent host by disabling the port handshaking with I1 1 If a program particularly PLC program sends messages immediately on power up reset it can confuse a host computer program such as the PMAC Executive Program that is trying to find PMAC by querying it and looking for a particular response It is possible particularly in PLC programs to order the sending of messages or command statements faster than the port can handle them Usually this will happen if the same SEND or CMD command is executed every scan through the PLC For this reason it is good practice to have at least one of the conditions that causes the SEND or CMD command to execute to be set false immediately to prevent execution of this SEND or CMD command on subsequent scans of the PLC 42 Programming PMAC 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 execu
65. E89 and E90 are set up for this circumstance The card is not shipped from the factory in this configuration Installing and Configuring PMAC 23 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 Overtravel Limits and Home Switches When assigned for the dedicated uses these signals provide important safety and accuracy functions LIMn and LIMn are direction sensitive overtravel limits that must be actively held low sourcing current from the pins to ground to permit motion in their direction The direction sense of LIMn and LIMn is as follows LIMn should be placed at the negative end of travel and LIMn should be placed at the positive end of travel Disabling the Overtravel Limits Flags If no overtravel limits are used they must be disabled through a change to variable 1 25 On the terminal window the following commands will disable the limits functions for all eight motors Select the motor numbers as appropriate The OR bit by bit function used here is accessible by pressing shift
66. M100 or FRAX X Y 3 Y4 190 432 47 5000 X3 4 50 TM S1 50 50 e Ifthe move time above calculated is less than the TA time set the move time used will be the TA time instead In this case the programmed or 2 TS if TA lt 2 TS results in the minimum move time of a linearly interpolated move 00 msec e Ifthe TA programmed results to be less than twice the TS programmed TA 2 TS the TA time used will be 2 TS instead e The acceleration time TA of a blended move cannot be longer than two times the previous TM minus the previous TA otherwise the value 2 TM TA will be used as the current TA instead e The safety variables Ix16 and Ix17 will override these parameters if they are found to violate the programmed limits e If TM TA TM TA IC TA lt 2 is 215 Lt TAa gt 2 The Example 42 TM i2 To illustrate how PMAC blends linear moves a series of velocity Vs time profiles will be shown The moves are defined with zero S curve components The concepts described here could be used for non zero S curve linear moves 1 Consider the following motion program code close delete gather undefine all amp 1 1 gt 2000x OPEN PROG 1 CLEAR LINEAR Linear mode INC Incremental mode 100 The acceleration time is 100 msec TA Motion Programs 49 PMAC Quick Reference Guide TSU No S curve component TM250 Move time is 250
67. MAC remove the jumper E51 and try communications again Bus Communications 3 Make sure that the bus address jumpers E91 E92 E66 E71 set the same address as the bus address on the Executive program 4 fthere is 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 5 Verify that the proper port on the PC is being used Make sure that the Executive program 15 addressing the COMI port which is cabled out of the COMI connector 6 The baud rate specified in the Executive program should match the baud rate setting of the E44 E47 jumpers on PMAC 7 With a breakout box or oscilloscope make sure there is action on the transmit lines from the PC as while typing into the Executive program If not there is a problem on the PC end 8 Probe the return communication line while giving PMAC a command that requires a response e g XCONTROL F If there is no action change jumpers E9 E16 PMAC to exchange the send and receive lines If there is action but the host program does not receive characters RS 232 might be receiving circuitry that does not respond at all to PMAC s RS 422 levels If there is another model of PC available try using it as a test most models accept RS 422 levels quite well If the computer still will not accept the signals try a level conversion device such as Acc 26 22
68. Open PEWIN and select the Open Terminal menu Select the device created in the previous step IL TIER Pun Pw File save commands FIT PM PROG and PLC uploads pre PIE E PID Tuning tools Variables setting tools Vary useful online help file for PMAC commands and connectors P1 Setup and P2 Setup installed separately PEWIN N configuration save and restore functions PLOT Functions 3 colors and different options can set through Preferences command present in the Options menu Disable the automatic status reporting feature by un checking the Enable Terminal Status Bar from the Terminal preferences PMAC Executive Program PEWIN 13 PMAC Quick Reference Guide Quick Plot Feature To run the quick plot feature Press ALT P and press Enter Select the motors and the feature to gather Select what to plot from the possible choices and then press Add to left or Add to right Press the Define Gather Buffer button Press the Begin Gathering button Click on the terminal part of the screen and run the motion program or Jog command Press the End Gathering button when the motion is completed First press the Upload Data button and then the Plot Data button 2202202 Specity Mofo _ Ii 2 3 4 5 a
69. 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 M1 1 for example will indicate to PMAC that the assignment has to take place at the blending point between the previous move encountered and the next In LINEAR and CIRCLE mode moves this blending occurs V TA 2 distance ahead of the specified intermediate point where V is the commanded velocity of the axis and TA 1s the acceleration blending time This is available only for M Variables and are not in the form TWB TWD TWS Synchronizing PMAC to Other PMACs When multiple PMACs are used together intercard synchronization is maintained by passing the servo clock signal from the first card to the others With careful writing of programs this permits complete coordination of axes on different cards Axis Transformation Matrices PMAC provides the capability to perform matrix transformation operations on the X Y and Z axes of a coordinate system These operations have the same mathematical functionality as the matrix forms of the axis definition statements but these can be changed on the fly in the middle of programs the axis defi
70. Total move time is 500 2000 2500 msec 1 One unit of distance 2000 encoder counts CLOSE Close written buffer program one 4 Torun it press and then type BIR in the terminal window 5 Repeat steps 2 through 4 for all the motors intended to run in the actual motion program A good method to test motion programs 15 to run them at lower than one hundred percent override rate Any value for n from 1 to 100 in the n online command will run the motion programs slower increasing the chances of success of execution For example in the terminal window type amp 1 75 If a program runs successfully at lower feedrate override values there can be mainly two reasons why it fails at 100 either there 1s insufficient calculation time for the programmed moves or the acceleration and or velocity parameters involved are unsuitable for the machine into consideration Look for further details in the PMAC Tasks section 70 Troubleshooting 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 11 1 input is ON PL1 0 inp
71. a specific application using both hardware and software features in order to run that application properly PMAC is shipped from the factory with defaults set in hardware and software set up to be satisfactory for the most common application types Working with PMAC is very simple and its ease of use and power 1s based in the following features e clever interrupt driven scheme allows every task each motion program and PLC to run independently of each other e Pointer M Variables allow monitoring virtually any register in PMAC s memory from different sources motion programs PLCs or the host computer e Communications are activated continuously At any moment any variable or status command could be interrogated e Up to eight axes could be either synchronized together controlled individually or in any combination in between Data gathering and reporting functions allows saving data such as motion trajectories velocity profiles or any set of variables for later analysis and plot Hardware 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 Check each jumper configuration using the appropriate hardware reference for the particular PMAC being set Further instructions for the jumper setup can be
72. amaging components or causing electrical shorts When our products are used an industrial environment install them into an industrial electrical cabinet or industrial PC to protect them from excessive or corrosive moisture abnormal ambient temperatures and conductive materials If Delta Tau Data Systems Inc products are directly exposed to hazardous or conductive materials and or environments we cannot guarantee their operation REVISION HISTORY DESCRIPTION DATE CHG APPVD CP CORRECTED PMAC VME DESCRIPTION P 2 09 29 09 LLL PMAC Quick Reference Guide Table of Contents INTRODUCTION P M 1 OQ T Tm 1 cem E 2 Or E gt 2 _ _ _ ____ 2 ATA 2 TE 2 SDD 2 PE T O IEEE T 3 en eee 4 F MAC ONANI ses real radial waste as 4 E 4 PMAC One ers and Indic Ors 5 Diplay Fort cu usate Sees 5 Control Pauel Port PAN
73. ariables values 023 MULUS 3 90 Reset M variables definitions and values UNDEFINE ALL Undefine Coordinate Systems SAVE Save this initial clean configuration 9 Ifthe re initialization jumper was installed remove it at this time Restore PMAC in the computer and power it up 10 Try communications again and configure PMAC for the application Make sure there is a backup file saved in the host computer with all the parameters and programs that PMAC needs to run the application Furthermore since the host computer could also fail and be replaced save the configuration file both in the host computer and in a floppy disk stored in a safe place This file must be downloaded and a SAVE command must be issued to PMAC The Watchdog Timer Red LED The PMAC motion control board has an on board watchdog timer sometimes called a dead man timer or a get lost timer circuit whose Job it is to detect a number of conditions that could result in dangerous malfunction and shut down the card to prevent a malfunction The philosophy behind the use of this circuit is that it is safer to have the system not operate at all than to have it operate improperly Because the watchdog timer wants to fail and many components of the board both hardware and software must be working properly to keep it from failing it may not be immediately obvious what the cause of a watchdog timer failure 1s Troubleshooting 67 PMAC Quick Reference Guide The hardware
74. ass Liber Daty Aulo Tung Pus Mob D phon Perm Tune Activate Second Feed Forwaid Acceleration Feed Forward Ire al Action PIL 5 Hore C Had Dee h The calculated bandwidth can be increased up to three times Uncheck the Auto Select Bandwidth this time i Add the feed forward parameters as necessary j Add the integral actions function as necessary k Perform the second pass of the Auto Tuning After it is completed select Implement Now to activate the selected parameters 2 After the Auto Tuning is completed the PID parameters can be changed for a final fine tuning if necessary 3 Perform a step response and use the following guidelines for the selection of the appropriate I Variables Ideal Case Position Offset The motor closely follows the commanded position Cause friction or constant force system limitation Fix Increase Ix33 and maybe use more 1 30 PMAC Executive Program PEWIN 17 PMAC Quick Reference Guide Sluggish Response Overshoot and Oscillation Cause Too much damping or too little proportional gain Cause little damping or too much proportional gain Fix Increase Kp Ix30 or decrease Kp Ix31 Fix Decrease Kp 1x30 or increase Kp 1x31 4 Perform a parabolic move and use the following guidelines for the selection of the appropriate I Variables Ideal Case
75. be issued in order for this value to survive a power down or reset The I Variables that are not saved to EEPROM are held 1 battery backed RAM These variables do not require a SAVE command to be held through a power down or reset and the previous value is not retained anywhere These variables are 119 144 Ix13 Ix14 On PMACs with flash memory backup those with Option 4A 5A or 5B all of the I Variable values can be stored in the flash memory with the SAVE command If there 15 EEPROM IC on the board it 15 not used After a new value is given to any I Variable the SAVE command must be issued in order for this value to survive a power down or reset Default values for all I Variables are contained manufacturer supplied firmware They can be used individually with the I constant command in a range with the I constant constant command Upon board re initialization by the command or by a reset with E51 in the non default setting all default settings are copied from the firmware into active memory last saved values are not lost they are just not used P Variables P Variables are general purpose user variables They are 48 bit floating point variables at fixed locations in PMAC s memory but with no pre defined use There are 1024 P Variables from PO to P1023 A given P Variable means the same thing from any context within the card all coordinate systems have access to all P Variables contrast Q
76. 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 1s that the timer must see a square wave input provided by the PMAC software of a frequency greater than approximately 25 Hz If the card for whatever reason due either to hardware or software problems cannot set and clear this bit repeatedly at this frequency or higher the circuit s relay will trip Every RTI PMAC reads the 12 bit watchdog timer register Y register 1F and decrements the value by 8 this toggles bit 3 If the resulting value is not less than zero it copies the result into a register that forces the bit 3 value onto the watchdog timer Repeated this process provides a square wave input to the watchdog timer In the background PMAC executes one scan through an individual PLC program then checks to see if there are any complete commands responding if there are then executes the housekeeping functions This cycle is repeated endlessly Most of the housekeeping functions are safety checks such as following error limits and overtravel limits When it is done with these checks PMAC sets the 12 bit watchdog timer register back to its maximum value As long as this occurs regularly at least eve
77. control particularly those used in the servo calculations can cause problems if written to them directly Range __ X Memory Y Memory Type Memory Battery Backed Battery Backed Battery Backed CO00 SCOF XS P Gate Registers _ D000 SDFFF BitsOtol5 0 8 ___________ Dual Ported RAM VME Setup Registers bits 0107 Mailbox Registers bits 0 to 7 SFO00 SFFFF User Buffer Storage Space e 256 Motion Programs can be held All programs must be stopped before any can be opened All programs must be stopped before any can run e A PLC program can be opened while others are running e Buffers must be defined from end of memory toward beginning Buffers must be deleted from beginning of memory to end 1800 PROGm PROGN PROGz PLC PLC PLC3 GATHER amp IROTARY DELETE amp SROTARY TBUF 1BLOOMP 28BLCOMP 1TCOMP URTCOMP 2ICOMP DEFINE iRCOMP UBUFFER 9FFF Encoder Conversion Table PMAC uses a multiple step process to work with its feedback and master position information and with external time base sources to provide maximum power and flexibility For most PMAC users with quadrature encoders this process can be virtually transparent with no need to worry about the details However some users will need to understand this conversion process in some detail to make the changes necessary to use other types of feedback to optimize their
78. cted type of response it will report that it has found PMAC If it does not get the expected type of response after several attempts it will report that it has not found Terminal Mode Communications Once the program reports that it has found PMAC the program should be in terminal emulation mode so that the PC is acting as a dumb terminal to PMAC Check to see if a response is received by typing I10 lt CR gt lt CR gt means carriage return the Enter or Return key PMAC should respond with a six or seven digit number If the expected results are not received check the following 1 Make sure the green LED power indicator on PMAC s CPU board is ON If it is not find out why PMAC is not getting a 5V voltage supply 2 Make sure the red LED watchdog timer indicator on PMAC s CPU board isOFF If it is ON make sure PMAC is getting very close to 5V supply at less than 4 75V or the watchdog timer will trip shutting down the card The voltage can be probed at pins 1 and 3 of J8 connector 1 and A2 on the PMAC VME If the voltage is satisfactory follow these steps e Turn off PMAC or the Host computer where it is plugged into e Place the Jumper E51 the hardware re initialization jumper and turn PMAC back on If PMAC is in bootstrap mode send a CONTROL R character to PMAC to bypass the firmware download e If communications are successful type and SAVE in the terminal window e Turn off P
79. ction than normally open types e Using the same type of switches for every input flag simplifies maintenance stock and replacements PMACPack and PMAC2 Flag Inputs The PMAC Pack and PMAC2 interface accessories include a bipolar opto isolating circuitry chip PS 2705 ANEC for flag and amplifier fault connections 2 4 Signal B Signal Sinking Signal Gnd Sourcing Signal Gnd V Examples V 3 FLAGRTN FLAGRTN NEGLIM NEGLIM Flag Input In A Sinking Configuration Flag Input in Sourcing Configuration Checking the Flag Inputs In the PEWIN terminal window define the following M Variables for the flags of the motors under consideration Motor 4 420 gt 8 00 20 1 421 gt 8 00 21 1 LIM input status M422 gt X C00C 22 1 HMFL input status M520 gt X C010 20 1 620 gt 014 20 1 M720 gt X C018 20 1 820 gt 01 20 1 LIM input status M521 gt X C010 21 1 621 gt 014 21 1 721 gt 8 018 21 1 821 gt 01 6 21 1 LIM input status M522 gt X C010 22 1 622 gt 014 22 1 722 gt 018 22 1 822 gt 01 22 1 Flag Type Motor 5 Motor 6 Motor 7 Motor 8 Open a Watch Window and press Insert to enter the M Variable number to watch Interacting with the switch or sensor monitor the change in the corresponding M Variable A value of zero indicates that th
80. ddr offse ti size format 84 Troubleshooting PMAC Quick Reference Guide M constant BCD thumbwheel multiplexer M gt TWD address Variable definition M constant constant gt TWD muxaddr offs et size dp format M constant Resolver thumbwheel multiplexer M M constant constant addr off Variable definition gt TWRI muxaddr 2 offset M constant M constant constant gt TWS address Variable definition gt TWS muxaddr M constant Short word M Variable definition M constant constant X Y laddress gt X address foffset w idth j format M constant constant gt Y address foffset w idth format parameter value NodeNum ParamNum ParamNum constant constant MACROAUXREAD Read MACRO auxiliary parameter MACROAUXREAD Nod value eNum ParamNum ParamNum Variable Variable MACROAUXWRITE Write MACRO auxiliary parameter MACROAUXWRITE MXW NodeNum value NodeNum ParamNum ParamNum Variable Variable Send command to Type 1 MACRO MACROSLAVE MS command node node slave command node MACROSLV node Report 1 MACRO auxiliary MACROSLAVE MS node slave Slave variable parameter value node slave variable variable Set Type 1 MACRO auxiliary MACROSLAVE MS node slave MACROSLV
81. e flag is closed to ground and therefore the limit is not in fault the motor will be able to run in that direction See Ix25 If the value is 1 the flag is open instead Installing and Configuring PMAC 25 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 on pins 3 and 4 The encoder signal pins are grouped by number all those numbered 1 CHAI CHA1 CHB1 etc belong to encoder 1 The encoder number does not have to match the motor number but usually does If the PMAC is not plugged into a bus and drawing its 5V and GND from the bus use these pins to bring in 5V and GND from the power supply Connect the A and B quadrature encoder channels to the appropriate terminal block pins For encoder 1 the is pin 25 is pin 21 If using a single ended signal leave the complementary signal pins floating do not ground them However if single ended encoders are used check the settings of the jumpers E18 to E21 and E24 to E27 For a differential encoder connect the complementary signal lines 1 15 pin 27 and 1 15 pin 23 The third channel index pulse is optional for encoder 1 is pin 17 and is pin 19 Checking the Encoder Inputs Once the encoders have been properly wired i
82. e Guide Troubleshooting PMAC Quick Reference Guide APPENDIX A PMAC ERROR CODE SUMMARY 16 Error Reporting Mode This parameter controls how PMAC reports errors in command lines When 16 15 set to 0 or 2 PMAC reports an error with a lt BELL gt character only When 16 is 0 the lt BELL gt character is given for invalid commands issued both from the host and from PMAC programs using CMD command When I6 is 2 the BELL character is given only for invalid commands from the host there is no response to invalid commands issued from PMAC programs In no mode is there a response to valid commands issued from PMAC programs When 16 is set to 1 or 3 an error number message be reported along with the BELL character The message comes in the form of ERRnnn lt CR gt where nnn represents the three digit error number If I3 is set to 1 or 3 there 15 a lt LF gt character in front of the message When 16 is set to 1 the form of the error message is BELL error message This setting is the best for interfacing with host computer driver routines When I6 is set to 3 the form of the error message is lt BELL gt lt CR gt error message This setting is appropriate for use with the PMAC Executive Program in terminal mode Currently the following error messages can be reported Error 001 Command not allowed during program execution should halt program execution before issuing command 002 Password
83. e information read from the feedback sensor after it has been converted properly through the encoder conversion table and extended from a 24 bits register to a 48 bits register To read this register in counts P162 M162 I108 32 M163 gt D 080B 1 Target end position 1 Ix08 32 cts This register contains the most recent programmed position and it 1s called the target position register If 13 gt 0 PMAC is in segmentation mode and the value of M163 corresponds to the last interpolated point calculated To read this register in counts P163 M163 1108 32 164 gt 0 50813 1 Position bias 1 Ix08 32 cts This register contains offset specified in axis definition command 1 gt offset e The online command axis constant or the motion program command PSET adds the specified offset to the existing M164 offset M164 M164 lt new offset gt To read this register in counts P164 M164 I108 32 165 gt 1 5081 61 X axis target position engineering units M165 contains the programmed axis position through a motion program X10 for example engineering units It also gets updated by the online command axis constant or the motion program command PSET 166 gt 50033 0 24 5 1 Actual velocity 1 Ix09 32 cts cyc M166 is the actual velocity register For display purposes use the Motor filtered actual velocity M174 To read this register in cts msec P166 M166 8
84. e primary machine interface connector is 1 78 on PMAC PC on PMAC Lite P2 on PMAC VME J4 on PMAC STD top board It contains the pins for four channels of machine I O analog outputs incremental encoder inputs and associated input and output flags plus power supply connections The next machine interface connector 15 2 J7 on PMAC P2A PMAC VME J4 on the middle board of an 8 channel PMAC STD not available on a PMAC Lite Essentially it 15 identical to the connector for one to four more axes It is present only if the PMAC card has been fully populated to handle eight axes Option 1 because it interfaces the optional extra components LED Indicators PMACs with the Option CPU have three LED indicators red yellow and green The red and green LEDs have the same meaning as with the standard CPU when the green LED is lit this indicates that power is applied to the 5V input when red LED 15 lit this indicates that the watchdog timer has tripped and shut down the PMAC Introduction 5 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 Working with PMAC When used for the first time the card must be configured for
85. e recalculated 1 order to keep the accelerations under the limit In these cases PMAC will limit the accelerations as much as it can but because the earlier moves have been executed already they cannot be undone and therefore the acceleration limit will be exceeded 3 When performing a blended move that involves a change of direction the end point might not be reached Example 100 250 10 This would reach only to position 10 10 Bact and Fass TA posit ion i 4 TM 04 01 02 UM 05 DE 07 Motion Programs 51 PMAC Quick Reference Guide In order to reach the desired position since the move involves a change 1 direction and stop simply place a DWELLO command between moves This command will disable blending for that particular move 100 250 10 DWELLO Since the value of TA determines the minimum time in which a programmed move be executed it could limit the maximum move velocity and therefore the programmed feedrate might not be reached This is seen in triangular velocity profile moves types especially when a sequence of short distance moves is programmed Example close delete gather undefine all amp 1 1 gt 2000X 1190 1000 OPEN PROG 1 CLEAR LINEAR Linear mode INC Incremental mode TA100 Acceleration time is 100 msec TA TSO No S curve component F40 Feedrate is 40 length units second X3 40 40
86. e than PMAC s full computational range If a value outside of the range of an M Variable is placed to that M Variable PMAC rolls over the value automatically to within that range and does not report any errors For example with a single bit M Variable any odd number written to the variable ends up as 1 any even number ends up as 0 If a non integer value 15 placed in an integer M Variable PMAC rounds to the nearest integer automatically Once defined an M Variable may be used in programs just as any other variable through expressions When the expression is evaluated PMAC reads the defined memory location calculates a value based on the defined size and format and utilizes it in the expression Care should be exercised in using M Variables in expressions If an M Variable is something that can be changed by a servo routine such as instantaneous commanded position which operates at a higher priority the background expression evaluation there 15 no guarantee that the value will not change in the middle of the evaluation For instance if in the expression M16 M17 M16 M17 the M Variables are instantaneous servo variables the user cannot be sure that M16 or M17 will have the same value both places in the expression or that the values for M16 and M17 will come from the same servo cycle The first problem be overcome by setting 16 and P2 M17 right above this but there 15 no general solution to the second problem Array Ca
87. each etc In general if certain motors should move in a coordinated fashion put them in the same coordinate system To move them independently of each other put them in separate coordinate systems Different coordinate systems can run separate programs at different times including overlapping times or even run the same program at different or overlapping times A coordinate system must be established first by assigning axes to motors in axis definition statements A coordinate system must have at least one motor assigned to an axis within that system or it cannot run a motion program even non motion parts of it When a program is written for a coordinate system if simultaneous motions are wanted of multiple motors their move commands are simply put on the same line and the moves will be coordinated Axis Definitions An axis is an element of a coordinate system It is similar to a motor but not the same thing An axis is referred to by letter There can be up to eight axes in a coordinate system selected from X Y Z A B C U V and W An axis is defined by assigning it to a motor with a scaling factor and an offset X Y and Z may be defined as linear combinations of three motors as may U V and W The variables associated with an axis are scaled floating point values In the vast majority of cases there will be a one to one correspondence between motors and axes That is a single motor is assigned to a single axis in a coo
88. ed into the same address space with the memory PMAC uses double word memory for both extended fixed point values and for floating point values single words are always fixed point The fixed point double word locations are specified by a D double and the floating point double word locations are specified by an L long This matches the syntax of M Variable declarations for these registers PMAC addresses may be specified with either decimal or hexadecimal values the hex values must be preceded by to be interpreted as hex For example Y SFFCO is the hexadecimal specification and Y 65472 1s the decimal specification of the same word address M Variables are defined by providing the word address the offset the width and the format irrelevant for bits Several M Variables were defined at the factory to match to inputs and outputs For instance M11 thru M18 were assigned to Machine Inputs 1 thru 8 MII MIS and to were assigned to Machine Outputs 1 thru 8 MO1 MO8 The PMAC architecture is very open allowing the user to examine and use many internal registers Usually this is done through the use of M Variables which point to locations in the memory I O space of the PMAC processor Once defined to point to the proper location an M Variable can be treated as any other variable for reading and writing Programming PMAC 37 PMAC Quick Reference Guide Warning Certain registers that are under PMAC s automatic
89. efinition must be made only once with an on line command On PMACs with battery backup the definition is held automatically On PMACs with flash backup the SAVE command must be used to retain the definition through a power down or reset The user defines an M variable by assigning it to a location and defining the size and format of the value in this location An M variable can be a bit a nibble 4 bits a byte 8 bits 1 1 2 bytes 12 bits a double byte 16 bits 2 1 2 bytes 20 bits a 24 bit word a 48 bit fixed point double word a 48 bit floating point double word or special formats for dual ported RAM and for the thumbwheel multiplexer port There are 1 024 M Variables MO to M1023 and as with other variable types the number of the M variable may be specified with either a constant or an expression M576 or M P1 20 when read from the number must be specified by a constant when written to The definition of an M Variable is done using the defines arrow gt composed of the minus sign greater than symbols An M Variable may take one of the following types as specified by the address prefix in the definition x 1 to 24 bits fixed point in X memory 1 to 24 bits fixed point in Y memory Ds 48 bits fixed point across both X and Y memory L 48 bits floating point across both X and Y memory DP 32 bits fixed point low 16 bits of X and Y for use in dual ported RAM E 32 bits floating point low 16 bits of X and Y
90. efore powering down or reset the card or the changes that have been made will be lost 6 Introduction PMAC Quick Reference Guide Programming PMAC Motion or PLCs programs are entered any text file and then downloaded with PEWIN to 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 Online commands allow for example to jog motors change variables report variables values start and stop programs query for status information and even write short programs and PLCs In fact the downloading process is just a sequence of valid PMAC commands sent line by line by PEWIN from a particular text file PMAC Tasks As an example a 40 MHz PMAC could perform the following tasks with the estimated percentage of the total computational power as indicated 40 MHz 440 usec Servo Background 8 Motors Cycle EM Servo Cycle Real Time 8 Motors Interrupt Phase Cycle Lower Priority Interrupted by Interrupted by Interrupted by Higher Priority Background Cycle Real Time Interrput Serve Cycle Phase Cycle Time left over from other tasks Hate set by in servo cycles Hate set by jumpers and Ix60 Rate set by jumpers Coordinate System amp 1 move planning 1 enabled PLC 1 enabled PLCC Coordinate System amp 2 2nd enabled PLCC Last enabled
91. ements Most action in a PLC program 15 conditional dependent on the state of PMAC variables such as inputs outputs positions counters etc Action can be level triggered or edge triggered both can be done but the techniques are different Level Triggered Conditions A branch controlled by a level triggered condition is easier to implement Taking our incrementing variable example and making the counting dependent on an input assigned to variable M11 we have 11 1 ENDIE As long as the input is true P1 will increment several hundred times per second When the input goes false P1 will stop incrementing Edge Triggered Conditions To increment P1 once for each time M11 goes true triggering on the rising edge of M11 sometimes called a one shot or latched a compound condition to trigger the action is needed Then as part of the action set one of the conditions false so the action will not occur on the next PLC scan The easiest way to do this is through the use of a shadow variable which will follow the input variable value Action is taken only when the shadow variable does not match the input variable Our code would become IF 11 1 1 0 11 1 ELSE P11 0 ENDIF Make sure that P11 can follow M11 both up and down Set P11 to 0 in a level triggered mode PLC Programs 63 PMAC Quick Reference Guide WHILE Loops Normally a PLC program executes all the way from beginning to end withi
92. en opened It is not necessary to use it if running the same motion program repeatedly without modification when PMAC finishes executing a motion program the program counter for the coordinate system 15 set automatically to point to the beginning of that program ready to run it again Once it is pointing to the motion program to run issue the command to start execution of the program For continuous execution of the program use command lt CTRL R gt for all coordinate systems simultaneously The program will execute all the way through unless stopped by command or an error condition To execute just one move or a small section of the program use the S command lt CTRL S gt for all coordinate systems simultaneously The program will execute to the first move DWELL DELAY or if it first encounters a BLOCKSTART command it will execute to the BLOCKSTOP command Motion Programs PMAC Quick Reference Guide 10 11 12 When RUN or STEP command 15 issued checks the coordinate system to make sure it 15 in proper working order If it finds anything in the coordinate system is not set up properly it will reject the command sending a BELL 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 will reject a RUN or STEP command for any of the following reasons A motor in the coordinate system has both overtravel limits tripped
93. er changes on PMAC See Ix02 and Ix25 Jumper E17 controls the polarity of the direction output this may have to be changed during the polarity test This magnitude and direction mode 15 suited for driving servo amplifiers that expect this type of input and for driving voltage to frequency V F converters such as PMAC s Acc 8D Option 2 board for running stepper motor drivers If using PMAC to commutate the motor use two analog output channels for the motor Each output may be single ended or differential just as for the DC motor The two channels must be numbered consecutively with the lower numbered channel having an odd number e g use DACI and DAC2 for a motor or DAC3 and DAC4 but not DAC2 and DAC3 or DAC2 and DAC4 For motor 1 example connect DACI pin 43 and DAC2 pin 45 to the analog inputs of the amplifier If using the complements as well connect pin 45 and DAC2 pin 46 the minus command inputs otherwise leave the complementary signal outputs floating To limit the range of each signal to 5V use parameter 1169 Amplifier Enable Signal AENAx DIRn Most amplifiers have an enable disable input that permits complete shutdown of the amplifier regardless of the voltage of the command signal PMAC s AENA line is meant for this purpose If not using a direction and magnitude amplifier or voltage to frequency converter use this pin to enable and disable the amplifier wired to the enable line AENAT DIRI is pin
94. ers e PLCO0 PLCO is special fast program that operates at the end of the servo interrupt cycle with a frequency specified by variable I8 every I8 1 servo cycles This program is meant for a few time critical tasks and it should be kept small because its rapid repetition can steal time from other tasks A PLC 0 that is too large can cause unpredictable behavior and can even trip PMAC s watchdog timer by starving background tasks of time to execute PLCCO0 The compiled PLCCO should be used in the same instances as PLCO taking advantage of the faster execution rate that a compiled PLC provides Both PLCO and PLCCO can be defined at the same time This is the first code that PMAC will run on power up assuming that I5 was saved with a value of 2 or3 This makes PLCI the appropriate PLC to initialize parameters perform commutated motors phase search and run motion programs can also disable other PLCs before they start running and can disable itself at the end of its execution PLC Programs 61 PMAC Quick Reference Guide e PLC2 Since 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 t
95. es The output lines can be used to multiplex large numbers of inputs and outputs on the port and Delta Tau provides accessory boards and software structures special M Variable definitions to capitalize on this feature Up to 32 of the multiplexed I O boards may be daisy chained on the port in any combination Serial Port Connection For serial communications use a serial cable to connect the PC s COM port to PMAC s serial port connector J4 on PMAC PC Lite and VME J1 on PMAC STD s bottom board Delta Tau provides cables for this purpose Acc 3D connects PMAC PC or VME to a DB 25 connector Acc 3L connects PMAC Lite to a DB 9 connector and Acc 3S connects PMAC STD to a DB 25 connector Standard DB 9 to DB 25 or DB 25 to DB 9 adapters may be needed for a particular setup General Purpose Digital Inputs and Outputs JOPTO Port PMAC s JOPTO connector J5 on PMAC PC Lite and VME provides eight general purpose digital inputs and eight general purpose digital outputs Each input and each output has its own corresponding ground pin in the opposite row The 34 pin connector was designed for easy interface to OPTO 22 or equivalent optically isolated I O modules Delta Tau s Acc 21F 15 a six foot cable for this purpose The PMAC STD has a different form of this connector from the other versions of PMAC Its JOPT connector J4 on the base board has 24 I O individually selectable in software as inputs or outputs Machine Connectors Th
96. es for variables and functions that PMAC expects P Q M I Example File downloaded Uploaded translated PMAC code define PUMP P1 OPEN PLC 1 CLEAR OPEN CLEAR DISPLCI CLOSE DISABLE PLC1 CLOSE Make sure the Support MACROs PLCCs option is checked before downloading The MACRO must be defined before it can be used In general MACRO definitions are at the beginning of the text file MACROs must be up 10 255 valid ASCII characters and cannot have spaces between the underscore is suggested in place of a space The MACRO definitions or any PMAC code can be placed in a separate file and be included with a single line in the text file The file name must include a full path in order for PEWIN to find it Example include c deltatau files any pmc PMAC Executive Program PEWIN 15 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 If more than one PLCC is programmed all the PLCC code must belong to the same ASCII text file PEWIN will compile all the PLCC code present on the file and place it in the appropriate buffer in PMAC Ifa single PLCC code is downloaded all the other PLCCs that m
97. feature is an entry in the conversion table that will also indicate a scale factor for the maximum frequency that the master can possibly input to PMAC This maximum frequency will represent 100 or real time Position Following Electronic Gearing PMAC has several methods of coordinating the axes under its control to axes not under its control The simplest method is basic position following This is a motor by motor function not a coordinate system function as time base following An encoder signal from the master axis which is not under PMAC s control is fed into one of PMAC s encoder inputs Typically this master signal is either from an open loop drive or a handwheel knob Ix05 and Ix06 control this function Cutter Radius Compensation PMAC provides the capability for performing cutter tool radius compensation on the moves it performs This compensation can be performed among the X Y and Z axes which should be physically perpendicular to each other The compensation offsets the described path of motion perpendicular to the path by a programmed amount Cutter radius compensation is valid only in LINEAR and CIRCLE move modes The moves must be specified by F feedrate not TM move time PMAC must be in move segmentation mode 113 gt 0 to do this compensation 113 gt 0 is required for CIRCLE mode anyway Program commands CC1 CC2 CCR and NORMAL control this feature Motion Programs 59 PMAC Quick Reference Guide
98. for entry with the OPEN PLC n statement where n 15 the buffer number Next if there is anything currently in the buffer that should not be kept it should be emptied with the CLEAR statement PLC buffers may not be edited on the PMAC itself they must be cleared and re entered If the buffer is not cleared new statements will be added onto the end of the buffer 2 When finished close the buffer with the CLOSE command Opening a PLC program buffer automatically disables that program After it is closed 1t remains disabled but it can be re enabled again with the ENABLE PLC n command where n is the buffer number 0 31 I5 must also be set properly for a PLC program to operate 3 At closing PMAC checks to make sure all IF branches and WHILE loops have been terminated properly If not it reports an error and the buffer is inoperable Then correct the PLC program in the host and re enter it clearing the erroneous block in the process of course This process 15 repeated for all of the PLC buffers to be used Because all PLC programs in PMAC s memory are enabled at power on reset it is good practice to have I5 saved as 0 in PMAC s memory when developing PLC programs This will allow PMAC to be reset and have no PLCs running an enabled PLC only runs if I5 is set properly and recover more easily from a PLC programming error Structure Example CLOSE DELETE GATHER DELETE TRACE OPEN PLC n CLEAR PLC statements CLOSE ENABLE PLC
99. for the specified constant gt axis definition 25 o Reetmoor _ 000000 999 Fulleardreset 555 00 5 Global card reset and re initialization 84 J feedrate override value feedrate override value amp constant _ Addressacoordinate system amp constant amp Report currently addressed coordinate amp 81 Appendix On Line Immediate Commands 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 2 Report global status words 2 2 2 74 227 8 Report currently addressed card on serial daisychain A Bo ABS A card while in hold mode currently addressed coordinate system addressed coordinate system axis constant axis constant B constant Point the addressed coordinate system to a B constant motion program CLEAR Erase currently opened buffer CLEAR CLR CLOSE Close the currently opened buffer CLOSE CLS cangtant Assign value to variable PO or to table constant entry DATE Report PROM firmware revision date DATE DAT DEFINE BLCOMP Define backlash compensation table DEFINE BLCOMP DEF BLCOMP entries count entries count length ABS axis axis mA length DEFINE COMP entries source count length DEFINE COMP
100. for use in dual ported RAM TWD Multiplexed BCD decoding from Thumbwheel port TWB Multiplexed binary decoding from Thumbwheel port TWS Multiplexed serial I O decoding from Thumbwheel port TWR Multiplexed serial resolver decoding from Thumbwheel port a No address definition uses part of the definition word as general purpose variable If an X or Y type of M Variable is defined the starting bit to use the number of bits and the format decoding method must be defined also Typical M Variable definition statements are MIUZ Y 49155 0 016 29 103 gt 5 003 0 24 5 191 1 0822 50 gt 0 50201 51 50 7 M100 gt TWD 4 0 8 3 U 34 Programming PMAC PMAC Quick Reference Guide The M Variable definitions are stored as 24 bit codes at PMAC addresses Y BC00 for MO 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 15 interpreted 50000 a i PMAC s memory If another M Variable points to this part of the definition it can be used to change the subject register The main use of this technique is to create arrays of P and Q Variables or arrays in dual ported RAM or in user buffers see on line command DEFINE Many M Variables have more limited rang
101. found in the PMAC User manual After all the jumpers have been properly set PMAC can be installed either inside the host computer or linked with a serial cable to it 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 Once setup these variables may be stored in non volatile EAROM memory using the SAVE command so the card is always configured properly PMAC loads the EAROM I Variable values into RAM on power up The easiest way to program setup and troubleshoot PMAC is by using the PMAC Executive Program PEWIN and its related add on packages 15 and PMACPlot PEWIN has the following main tools and features The terminal window is the main channel of communication between the user and PMAC Watch window for real time system information and debugging Position window for displaying the position velocity and following error of all motors on the system Several ways to tune PMAC systems Interface for data gathering and plotting In PEWIN the value of an I Variable may be queried simply by typing in the name of the I Variable For instance typing I900 lt CR gt causes the value of the 1900 to be returned Change the value by typing in the name an equals sign and the new value e g I900 3 lt CR gt Remember that if any I Variables are changed during this setup use the SAVE command b
102. ging commands a homing command an open loop command and requests for motor position velocity following error and status Programming PMAC 31 PMAC Quick Reference Guide A coordinate system is addressed by a amp n command where n 15 the number of the coordinate system with a range of 1 to 8 inclusive This coordinate system stays the one addressed until another amp n command is received by the card For instance the command line amp 1B86R amp 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 Axis definition statements act on the addressed coordinate system because motors are matched to an axis in a particular coordinate system Since it is a coordinate system that runs a motion control program all program control commands act on the addressed coordinate system Q Variable assignment and query commands are also coordinate system commands because the Q Variables themselves belong to a coordinate system Some on line commands do not depend on which motor or coordinate system is addressed For instance the command P1 1 sets the value of to 1 regardless of what is addressed Among these global on line commands are the buffer management commands PMAC has multiple buffers one of which can be open atatime When a buffer is open commands can be entered into the buffer for later execution Control character commands
103. grammable logic controllers PLC programs are numbered 0 through 31 for both the compiled and uncompiled PLCs This means that there can be both a compiled PLC n and an uncompiled PLC n stored in PMAC The faster execution of the compiled PLCs comes from two factors first from the elimination of interpretation time and second from the capability of the compiled PLC programs to execute integer arithmetic However the space dedicated to store up to 32 compiled PLC programs 1s limited to 15 15 360 24 bit words of PMAC memory or 14K 14 336 words if there is a user written servo as well PLC programs 1 31 are executed in background Each PLC program executes one scan to the end or to an ENDWHILE statement uninterrupted by any other background task although it can be interrupted by higher priority tasks In between each PLC program PMAC will do its general housekeeping and respond to a host command if any In between each scan of each individual background interpreted PLC program PMAC will execute one scan of all active background compiled PLCs This means that the background compiled PLCs execute at a higher scan rate than the background interpreted PLCs For example if there are seven active background interpreted PLCs each background compiled PLC will execute seven scans for each scan of a background interpreted PLC At power on reset PLCC programs run after the first PLC program runs These are the suggested uses of all the available PLC buff
104. hat the statement is to be executed using integer operations instead of floating point operations To implement integer arithmetic in a compiled PLC define any L Variables to be used and substitute them in the programs for the variables that were used in the interpreted form usually M Variables The compiler will interpret statements containing only L Variables properly defined and integer constants as operations to be executed using integer arithmetic in compiled PLCs Preparation of compiled PLCs is a multi step process The basic steps are as follows l Write and debug the PLC programs in interpreted form simple PLCs programs 2 Change all references to PLCs to be compiled from PLC to PLCC 3 For integer arithmetic define L Variables and substitute these for the old variable names in the programs Combine all of the PLC programs to be compiled into one file on the PC Make sure the Support MACROs PLCCs option is checked before downloading Activate the compiled PLCs If operation is not correct return to step 1 or 2 PLCCS can be deleted using the DELETE PLCCn command replace n by the appropriate number 2 66 PLC Programs PMAC Quick Reference Guide TROUBLESHOOTING 15 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 ere PMAC to Factory Defaults
105. he necessary hardware to connect up to eight channels The number of channels could be expanded from 8 to 40 by means of either the Acc 24P or Acc 24P2 for PMAC style or PMAC2 respectively The Turbo PMAC2 is also provided in a 3U format and it is the main component of the UMAC Universal Motion and Automation Controller products 4 Introduction 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 Control Panel Port I O JPAN Port The JPAN connector J2 on PMAC Lite VME and top board of PMAC STD 15 a 26 pin connector with dedicated control inputs dedicated indicator outputs a quadrature encoder input and an analog input The control inputs are low true with internal pull up resistors They have predefined functions unless the Control Panel Disable I Variable I2 has been set to 1 If this is the case they may be used as general purpose inputs by assigning an M Variable to their corresponding memory map locations bits of Y address Thumbwheel Multiplexer Port I O JTHW Port The Thumbwheel Multiplexer Port or Multiplexer Port on the JTHW 73 connector has eight input lines and eight output lin
106. he outputs image variables e PLC3 to PLC30 PLC programs are useful particularly for monitoring analog and digital inputs setting outputs sending messages monitoring motion parameters issuing commands as if from a host changing gains and starting and stopping moves By their complete access to PMAC variables and I O and their asynchronous nature they become very powerful adjuncts to the motion control programs PLCC3 to PLCC30 Compiled PLCs are convenient for its faster execution compared to regular PLCs Since the execution rate of compiled PLCs 15 the same as some of the safety checks following error limits hardware overtravel limits software overtravel limits and amplifier faults PLCCs are ideal to replace or complement them However due to its limited allocated memory space PLCCs should be reserved only for faster execution critical tasks PLC31 This is the last executed PLC in the sequence from 1 to 31 PLC31 is recommended for copying the output image variable changed in lower number PLCs executed previously into the actual outputs of an I O expansion board like for example the Acc 34A Entering a PLC Program PLCs are programmed in the same way as motion programs are in a text editor window for later downloading to PMAC Before starting to write the PLC make sure that memory has not been tied up in data gathering or program trace buffers by issuing DELETE GATHER and DELETE TRACE commands 1 Open the buffer
107. here must be no external 5V supply or the two supplies will fight each other possibly causing damage This voltage could be measured between pins 1 and 3 of the terminal block In a stand alone configuration when PMAC is not plugged in a computer bus it will need an external 5V supply to power its digital circuits The 5V line from the supply should be connected to pin 1 or 2 of the JMACH connector usually through the terminal block and the digital ground to pin 3 or 4 Analog Power Supply 0 3A 8 12 to 15V 4 5W 8 1 Lo L5y Eight channel configuration The analog output circuitry on PMAC 1s optically isolated from the digital computation circuitry and so requires a separate power supply This is brought in on the JMACH connector The positive supply 12 to 15V should be brought in on the A 15V on pin 59 The negative supply 12 to 15V should be brought in on the A 15V line on pin 60 The analog common should be brought in on AGND line on pin 58 Typically this supply can come from the servo amplifier many commercial amplifiers provide such a supply If this is not the case an external supply may be used Even with an external supply the AGND line should be tied to the amplifier common It is possible to get the power for the analog circuits from the bus but doing so defeats optical 1solation In this case no new connections need to be made However you should be sure jumpers E85 E87 E88
108. hese moves real time With the use of the BLOCKSTART and BLOCKSTOP statements surrounding a series of PVT moves the last of which has a zero end velocity it is possible to use a STEP command to execute only part of a program The PVT mode is the most useful for creating arbitrary trajectory profiles It provides a building block approach to putting together parabolic velocity segments to create whatever overall profile is desired The following diagram shows common velocity segment profiles PVT mode can create any profile that any other move mode can PVT mode provides excellent contouring capability because it takes the interpolated commanded path exactly through the programmed points It creates a path known as a Hermite Spline LINEAR and SPLINE modes are second and third order B splines respectively which pass to the inside of programmed points Compared to PMAC s SPLINE mode PVT produces a more accurate profile Axis Letter Distance P in user end velocity V in units calculated user units per from this page 190 msec Time Time Motion Programs 57 PMAC Quick Reference Guide V 2 t 21 Time 2t Time t Time Replace 1190 for the appropriate Ix90 variable according to coordinate system x Example close delete gather undefine all lire 51 1 gt 2000 100000 OPEN PROG 1 CLEAR INC 20000 PVT300 Time is 300 msec per section 0000
109. his operation the axes are moved to the desired position and the command is given to PMAC PMAC then adds a command line to the open motion program buffer that represents this position This process can be repeated to learn a series of points The motors can be open loop or closed loop as they are moved around 60 Motion Programs 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 15 called look ahead and it 15 necessary to properly blend the moves together and to observe the motion safety parameters In the following example PMAC calculates up to the third move and will stop the program scanning until the first move is completed that is when more move planning is required Example OPEN PROG 1 CLEAR Open program buffer 113 0 Two moves ahead of calculation LINEAR INC Tso F90 Mode commands 1 First Move 1 second Move 1 Third Move 1 1 This line will be executed only after the first move is completed CLOSE Close written buffer program one In contrast enabled PLCs are continuously executed from beginning to end regardless of what any other PLC or Motion program is doing PLCs are called asynchronous because they are designed for actions that are asynchronous to the motion Also they are called PLC programs because they perform many of the same functions as hardware pro
110. his task is never a significant portion of PMAC s total calculation time Note that this task does not include processing a full command that happens at a lower priority see the Background Tasks section Input buffer a 1 p c Pt tt 4 Output buffer Commutation Update The commutation phasing update is the second highest priority on PMAC In a 20 MHz PMAC this task takes 3 usec per update cycle for each motor commutated by PMAC Ix01 1 The master clock frequency and jumpers E98 E29 E33 determines the frequency of this task The default update frequency 15 9 kHz 110 usec cycle At the default the commutation of each motor takes approximately 3 of PMAC s computational power DAC 4 Commutation Tore Algorithm Encoder AGnd m 2122 Servo Update The servo update computing the new commanded position reading the new actual position and computing a command output based on the difference between the two is the third highest priority on PMAC In a 20 MHz this task takes 30 usec per update cycle for each activated motor Ix00 1 plus about 30 usec for general servo tasks such as the encoder conversion table The master clock frequency and jumpers E98 E29 E33 E3 E6 determine the frequency of this task The default update frequency is 2 26 kHz 442 usec cycle At the default the servo update
111. iations of the machine connections PMAC jumpers must be set appropriately following both the appropriate PMAC Hardware Reference and the PMAC User manuals Installing and Configuring PMAC 29 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 Soo tes Global Reset 0 1023 0 00 1023 0 Reset P variables and Q variables values MO 1023 MO 1023 0 Reset M variables definitions and values UNDEFINE ALL Undefine Coordinate Systems SAVE Save this initial clean configuration 2 Define the safety I Variables appropriately x stands for the motor number 1 through 8 _____ Safety I Variables Range Default _1 00 Activate OT 0d for Motor 1 Ix11 Motor x Fatal Following Error Limit 0 8 388 607 32000 1 16 Count pt M x Warning Following Error 0 8 388 607 16000 1 16 Count Limit IxI3 Motor x Software Position Limit 0 Disabled Motor x Flag Address PMAC X addresses see Ix25 table Extended legal PMAC X addresses For dual feedback systems 1x08 Number of counts of the position encoder Number of counts of the velocity encoder X TE TE E Units of Distance of the position encoder Uni
112. ight have been present in memory will be erased remaining only the last compiled code The multiple file download feature of the PEWIN File menu allows the PLCC codes to be in different files They will be combined by PEWIN in the downloading process PID Tuning Utility This function is accessible from the terminal window by pressing ALT C from the Configure menu and T for Tuning The Autotuning feature finds the PID parameters with virtually no effort In most cases the parameters are very close to optimal and in some cases require further fine tuning In this screen press the Page Up or Page Down keys on the keyboard to select the motor number Step Step Sine cts 1000 Move cts 4000 Shep Time 500 Move Time jms 500 Acceleration E d Folowng What te Piet 200000 r Gantry Auto Tuning Dual Motor 1231 Derivative Gain for Activate Second Motor 1232 Velocity FF Gam 100 1233 Integral Gain 100 Open Loop Move oe 2 1235 Accel FF Gain o anle f 1223 DAC Offset o 1269 DAC Lima 20480 1260 Servo Cycle Per Ext 0 Motes 1268 Friction FF Gain o 1 Select the Auto Tune feature This is the first interaction to find a starting bandwidth parameter pre Type p Auto Tune Parameters 1 Cunent Loop Velocity Loop Max excitation magnitude 2 0 _ Exercise ca
113. inition 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 gt 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 In addition the axis definition statement defines the scaling of the axis user units For instance 1 gt 10000X also matches motor 1 to the X axis but this statement sets 10 000 encoder counts to one X axis user unit e g inches or centimeters Usually this scaling feature is universally used Once the scaling has been defined in this statement the axis can be programed in engineering units without ever needing to deal with the scaling again Permitted Axis Names X Y Z U V W A B C X Y Z Traditionally Main Linear Axes A B C Traditionally Rotary Axes e Matrix Axis Definition A rotates about X B about Y C about Z e Matrix Axis Transformation Position Rollover 1x27 e Circular Interpolation U V W Traditionally Secondary Linear Axes e Cutter Radius Compensation e Matrix Axis Definition Writing a Motion Program 1 Open program buffer with OPEN PROG constant where constant 15 an integer from to 32767 representing the motion program to be opened 2 Motion Programs 1000 1001 1002 and 1003 can contain G codes M codes T codes and D codes for machi
114. ite and with only two axes as the PMAC2 Mini PMAC2 Ultralite i The term Ultralite stands for no DSPGATE Gate Array ICs on board of this kind of PMAC2 The ASICs are located in a different set of boards usually remotely located from PMAC2 referred as MACRO stations In fact the PMAC2 Ultralite in combination with the MACRO station can be seen as a PMAC2 divided in two halves the central processing portion that contains the DSP processor and the distributed circuitry that connects to motors amplifiers and different I O points The PMAC2 Ultralite and the MACRO Motion And Control Ring Optical stations are linked with a fiber optic or twisted pair connection This clever distribution of components brings many benefits drastic reduction of wiring complexity elimination of interference by electromagnetic noise and long distance connections 3000 m 2 miles with glass fiber Turbo PMAC Family The Turbo PMAC is based in the 56300 Motorola DSP processor Its power and speed allows handling up to 32 axes in up to 16 different coordinate systems Compared with other PMACs the Turbo PMAC has a highly improved lookahead feature that allows tighter control of acceleration and more accurate cornering profiles Motion programs and PLCs developed for other versions of PMAC are compatible with Turbo PMAC The main difference in the setup 1s the increased number of variables necessary to control up to 32 axes The main Turbo PMAC board has t
115. ith another move mode statement e g LINEAR RAPID CIRCLE SPLINE A PVT mode move is specified for each axis to be moved with a statement of the form axis data where axis isa letter specifying axis the first data is a value specifying the end position or the piece distance depending on whether the axis 1s in absolute or incremental mode respectively and the second data is a value representing the ending velocity 56 Motion Programs 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 From the specified parameters for the move piece and the beginning position and velocity from the end of the previous piece PMAC computes the only third order position trajectory path to meet the constraints This results in linearly changing acceleration a parabolic velocity profile and a cubic position profile for the piece Since a non zero end velocity for the move can be specified directly or indirectly it is not a good idea to step through a program of transition point moves and great care must be exercised downloading t
116. k 1 plane circlel clockwise 00 02 04 02 10 14 18 18 20 22 24 28 Time Sec 2 C md 2 Vel close amp lblr Motion Programs 0 yO 110 complete circle PMAC Quick Reference Guide Example 113 10 Segmentation Time NORMAL 1 XY plane INC Incremental End Point definition INC R Incremental Center Vector definition CIRCLE 1 Clockwise circle X20 YO 110 20 move End 20 0 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 Splining is suited particularly to odd non Cartesian geometries such as radial tables and rotary axis robots where there are odd axis profile shapes even for regular tip movements In SPLINE1 mode a long move 15 split into equal time segments each of TA time Each axis 15 given destination position in the motion program for each segment with a normal move command line like 1000 2000 Looking at the move command before this and the move command after this PMAC creates a cubic position vs time curve for each axis so that there 15 no sudden change of either velocity or acceleration at the segment boundaries The commanded position at the segment boundary may be relaxed slightly to meet the velocity and acceleration constraints PMAC can work only with integer millisecond values for the TA segment times If a
117. machine tool style RS 274 G Code programs by treating G M T and D codes as subroutine calls This permits the machine tool manufacturer to customize the codes for their own machine but it requires the manufacturer to do the actual implementation of the subroutines that will execute the desired actions When PMAC encounters the letter G with a value in a motion program it treats the command as a call to motion program 10 0 where n is the hundreds digit of the value The value without the hundreds digit modulo 100 in mathematical terms controls the line label within program 10n0 to which operation will jump this value is multiplied by 1000 to specify the number of the line label When a return statement is encountered it will jump back to the calling program 46 Motion Programs 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 will be required to execute them Linear Blended Moves The move time 15 set directly by TM or indirectly based on the the distances and feedrate F parameters set T
118. mmands given to PMAC are on line commands that is they are executed immediately by PMAC to cause some action change some variable or report some information back to the host Some commands such as P1 1 are executed immediately if there is no open program buffer but are stored in the buffer if one is open Other commands such as X1000 Y1000 cannot be on line commands there must be an open buffer even if it 1s a special buffer for immediate execution These commands will be rejected by PMAC reporting an 005 if I6 is set to 1 or 3 if there is no buffer open Still other commands such as J are on line commands only and cannot be entered into a program buffer unless in the form of CMD J for instance There are three basic classes of on line commands 1 Motor specific commands which affect only the motor that is currently addressed by the host 2 Coordinate system specific commands which affect only the coordinate system that is currently addressed by the host 3 Global commands which affect the card regardless of any addressing modes A motor is addressed by a n command where n is the number of the motor with a range of 1 to 8 inclusive This motor is the one addressed until another n is received by the card For instance the command line 1J 2J tells Motor 1 to jog in the positive direction and Motor 2 to jog in the negative direction There are only a few types of motor specific commands These include the jog
119. mp BASE Quick Plothng Plot tite 7 Left Plot Axis Possible Choices es Remove Item gt gt The Plot feature relies the PMAC gathering functions It 15 useful for analyzing motion profiles and trajectories Simulating an X Y plot graphically can be an important aid in understanding the set of parameters involved in a circular interpolation move 14 PMAC Executive Program PEWIN 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 Usually the date is included as part of the file name for later identification For example 112 has four digits for the application identifier and four digits for date After the file is saved verify it with the feature part of the same pull down menu This will make sure PMAC s memory matches the recently saved file and therefore that it is a valid restoring file To restore a configuration simply select Restore from the same
120. n 62 PLC Programs 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 9 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 These are called PLC because of the similarity in how they operate to hardware Programmable Logic Controllers the repeated scanning through a sequence of operations and potential operations Calculation Statements Much of the action taken by a PLC 15 done through variable value assignment statements variable expression The variables can be I P Q or M types and the action thus taken can affect many things inside and outside the card Perhaps the simplest PLC program consists of one line P1 P1 1 Every time the PLC executes usually hundreds of times per second P1 will increment by one Of course these statements can get a lot more involved The statement P2 M162 1108 32 10000 COS M262 I208 32 100 could be converting radial M162 and angular M262 positions into horizontal position data scaling at the same time Because it updates this frequently whoever needs access to this information e g host computer operator motion program can be assured of having current data Conditional Stat
121. n 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 15 true When the WHILE condition goes false the PLC program will skip past the ENDWHILE statement and proceed to execute the rest of the PLC program To increment the counter as long as the input is true and prevent execution of the rest of the PLC program program WHILE M11 1 ENDWHILE This structure makes it easier to hold up PLC operation in one section of the program so other branches in the same program do not have to have extra conditions so they do not execute when this condition is true Contrast this to using an IF condition see above COMMAND and SEND Statements One of the most common uses of PLCs is to start motion programs and Jog motors by means of command statements Some COMMAND action statements should be followed by a WHILE condition to ensure they have taken effect before proceeding with the rest of the PLC program This is true if a second COMMAND action statement that requires the first COMMAND action statement to finish will follow Remember COMMAND action statements are processed only during the communications section of the background cycle For exam
122. n be issued on the terminal window a Motion Program or a PLC Program HOME Home axis 1 to 8 a Motion Program Program is halted until home is completed 1 1 command for homing motor 1 from the terminal window CMD 1HM Online command for homing motor 1 from PLC program while a command statement is used in a PLC the lines after must have a while endwhile loop waiting for the home procedure to complete see main PMAC manual for details HOMEZ is similar to these HOME commands but no motion will result in this kind of home search PMAC will determine the zero reference home position in the place where the axes are found when HOMEZ 15 issued Command and Send Statements Using the COMMAND or CMD statement online commands could be issued from a PLC or Motion program having the same result as if they were issued from a host computer or a terminal window Certain online commands might not be valid when issued from a running program For example a JOG command to a motor part of a coordinate system running a motion program will be invalid It is a good idea to have I6 not set to 2 in early development so it will be known when PMAC has rejected such a command Setting I6 to 2 in the actual application can prevent program hang up from a full response queue or from disturbing the normal host communications protocol Messages to a host computer or terminal window can be issued using the SEN
123. nce Guide 6 Ifthe 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 1 incrementally or from the XYZ origin 1 absolutely The choice is made by specifying R in an ABS or INC statement e g ABS R or INC This affects I J and K specifiers together ABS and INC without arguments affect all axes but leave the vectors unchanged The default 15 for incremental vector specification 7 PMAC s convention is to take the short arc path if the value is positive and the long arc path if R is negative Ifthe value of 15 positive the arc to the move endpoint is short route 180 degrees starting point 10 0 8 When performing a circular interpolation the individual axes describe a position Vs time profile close to a sine and cosine shape This 15 true also for their velocity and acceleration profiles Therefore circular interpolation makes an ideal feature to described trigonometric profiles Further the period and so frequency of the sine or cosine waves can be set by the total move time given by TA TM Circular Interpolation close delete gather undefine all amp 1 2 gt 2000 is phantom open progl clear ine inc ta300 tsO tm1000 is period 113 210 normal
124. nd operations inside parentheses are executed first PMAC also has the modulo operator which produces the resulting remainder when the value in front of the operator is divided by the value after the operator Values may be integer or floating point This operator is useful particularly for dealing with counters and timers that roll over When the modulo operation is done by a positive value X the results can range from 0 to X not including X itself When the modulo operation is done by a negative value X the results can range from X to X not including X itself This negative modulo operation is useful when a register can roll over in either direction PMAC has three logical operators that do bit by bit operations amp bit by bit AND bit by bit OR and bit by bit EXCLUSIVE OR If floating point numbers are used the operation works on the fractional as well as the integer bits amp has the same precedence as and and have the same precedence as and Use of parentheses can override the default precedence Functions These perform mathematical operations on constants or expressions to yield new values The general format is function name expression The available functions are SIN COS TAN ASIN ACOS ATAN2 SQRT LN EXP ABS and INT The global I Variable 115 controls whether the units for the trigonometric functions are degrees or radians This is the standard inverse tangent
125. ne tool G codes or RS 274 programming method These buffers can be used for general PMAC code programming as long as G codes programming is not needed in PMAC 3 PMAC can hold up to 256 motion programs at one time For continuous execution of programs larger than PMAC s memory space a special PROGO the rotary motion program buffers allow for the downloading of program lines during the execution of the program and for the overwriting of already executed program lines The CLEAR command empties the currently opened program PLC rotary etc buffer Many of the statements in PMAC motion programs are modal in nature These include move modes which specify what type of trajectory a move command will generate this category includes LINEAR RAPID CIRCLE PVT and SPLINE 6 Moves can be specified either incrementally distance or absolutely location individually selectable by axis with the INC and ABS commands Move times TA TS and TM and or speeds F are implemented in modal commands Modal commands can precede the move commands they are to affect or they can be on the same line as the first of these move commands 7 The move commands themselves consist of a one letter axis specifier followed by one or two values constant or expression All axes specified on the same line will move simultaneously in a coordinated fashion on execution of the line consecutive lines execute sequentially with or without stops in between as determi
126. ned by the mode Depending on the modes in effect the specified values can mean destination distance and or velocity 8 Ifthe move times TA TS and TM and or speeds F are not declared specifically in the motion program the default parameters from the I variables Ix87 Ix88 and Ix89 will be used instead Note Do not rely on these parameters to declare the move times in the program This will keep the move parameters with the move commands lessening the chances of future errors and making debugging easier Motion Programs 45 PMAC Quick Reference Guide 10 In a motion program PMAC has WHILE loops and 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 Entry to subprogram does not have to be at the beginning the statement CALL 20 15000 causes entry into Program 20 at line 15000 GOSUBs and CALLs can be nested only 15 deep The CLOSE statement closes the currently opened buffer This should be used immediately after the entry of a motion PLC rotary etc buffer If the buffer is left open subsequent statements that are intended as on line commands e g P120
127. ng and motion programs start After its execution PLC1 could disable itself with the command DIS running only once on power up reset Bits of the first word returned from the global status bits request command 222 Bit 22 Real Time Interrupt Re entry This bit is 1 if a real time interrupt task has taken long enough so that it was still executing when the next real time interrupt came 18 1 servo cycles later It stays at 1 until the card is reset or until this bit is changed manually to 0 If motion program calculations cause this it is not a serious problem If PLC 0 causes this no motion programs running it could be serious Bit 20 Servo Error This bit is 1 if PMAC could not complete its servo routines properly This is a serious error condition It is 0 if the servo operations have been completed properly Priority Level Optimization Usually PMAC will have enough speed and calculation power to perform all of the tasks asked of it without worry Some applications will put a large demand on a certain priority level and to make PMAC run more efficiently When PMAC begins to run out of time problems such as sluggish communications slow PLC PLCC scan rates run time errors and even tripping the watchdog timer can occur The active part of the Encoder Conversion Table is ended by the first Y word that is equal to all zeros For an application with less than eight encoders the default table converts the eight incremental encoder
128. nition statements should be fixed for a particular application The matrix transformations permit translation rotation scaling mirroring and skewing of the X Y and Z axes They can be useful for English metric conversion floating origins making duplicate mirror images repeating operations with angle offsets and more The matrices are implemented by the use of Q Variables and DEFINE TBUF TSEL TINIT ADIS IDIS AROT and IROT commands Position Capture and Position Compare Functions The position capture function latches the current encoder position at the time of an external event into a special register It 15 executed totally in hardware without the need for software intervention although 1 15 set up and later serviced software This means that the only delays in the capture are the hardware gate delays negligible in any mechanical system so this provides an incredibly accurate capture function The move until trigger functions either jog or motion program conveniently use the position capture feature for continuous motions until a trigger condition 1s reached Essentially the position compare feature is the opposite of the position capture function Instead of storing the position of the counter when an external signal changes it changes an external signal when the counter reaches a certain position Learning a Motion Program It 15 possible to have PMAC learn lines of a motion program using the on line LEARN command In t
129. ns for all eight axes registers in PMAC s DSPGATE Gate Array ICs are mapped into the memory space of PMAC s processor Each DSPGATE contains four consecutively numbered channels there may be up to four DSPGATEs in PMAC system for up to 16 channels e There are two types of servo DSPGATE Gate Array ICs The PMAC type that allows only the control of analog amplifiers with 10V command signals and the PMAC2 type that is capable also of digital direct PWM or stepper command signals e Each PMAC channel provided by PMAC DSPGATE has one DAC output one encoder input and four dedicated flag inputs two end of travel limits one home input and one amplifier fault input e Any PMAC can control up to eight motors or axis as long as enough channels are provided Every PMAC contains one DSPGATE which has channels 1 through 4 PMAC Mini has only two channels If Option 1 is ordered not available on PMAC Lite or PMAC Mini a second DSPGATE is provided which has channels 5 through 8 If Acc 24 is ordered not available on PMAC STD a third DSPGATE 15 provided which has channels 9 through 12 If Acc 24 Option 1 is ordered as well not available on PMAC STD a fourth DSPGATE 15 provided which has channels 13 through 16 e PMAC has its own memory and microprocessor Therefore any version of PMAC may run as a standalone controller or a host computer may command it either over a serial port or a bus port Introduction
130. nt constant constan tj ENABLE PLC Enable specified PLC program s ENABLE PLC ENA PLC constant constan constant constant ti ENA PLC ENABLE PLC constant constant constant constan tj ENABLE PLCC Enable specified PLCC program s ENABLE PLCC ENA PLCC constant constan constant constant ti ENA PLCC ENABLE PLCC constant constant constant constan 9 p F Report motor following error p FRAX FRAX axis axis fo GATHER Begin data gathering GATHER GAT TRIG TRIGGER H Perform a feedhold p o y HOME Start Homing Search Move HOME FRAX Specify the coordinate system s feedrate axes HOMEZ Do a Zero Move Homing HOMEZ constant I constant const ant T constant expr I constant const ession ant expression constant I constant const variable ant INC INC Specify incremental move mode INC axis axis Adjust motor commanded position to nearest integer count Jog negative J Jog to specified variable distance from present commanded position Jog to pre jog position Appendix PMAC On Line Immediate Commands 83 PMAC Quick Reference Guide Jog to specified position Jog to specified variable position J constant Jog to specified motor position and make J constant that position the pre jog position J constant Jog relative to actual position J constant
131. nts 1 16 Count ____ Definition I Variables Default 100 Motor x Activate 0 1 for motor 1 Motor x PMAC Commutate Enable 0 1 0 _________ addresses addresses table addresses addresses addresses Motor x Master Follow Enable 0 1 0 QNoe 20 Ix07 Motor x Master Scale Factor 8 388 608 None 8 388 607 Motor x Position Scale Factor 0 8 388 607 6 Motor x Velocity Scale Factor 0 8 388 607 46 Ix10 Motor x Power on Servo Position PMAC addresses 0 Extended PMAC or multiplexer Address port addresses 76 Appendix PMAC I Variables Summary None Number of Auto Converted ADC pair 0 7 Number of registers minus 1 Registers PMAC Quick Reference Guide _____ Motor Safety I Variables Default Ix11 Motor x Fatal Following Error 0 8 388 607 32000 1 16 Count Limit Motor x Warning Following Error 0 8 388 607 16000 1 16 Count Limit 71 13 Motor x Software Position Limit 0 Disabled 114 Motor x Software Position Limit 0 Disabled point point point Acceleration point Motor Movement I Variables Default 20 Motor x Jog Home Acceleration 0 8 388 607 0 so Ix21 Msec Time controls 121 MotorxJog Home S Curve Time 0 8 388 607 point Direction addresses 8 388 607 Motor x Position Rollover Range 0 8 388 607 0 Counts Ix28 Motor x In Position Band 0 8 388 607 160 10 1 16 Count counts Motor
132. ny non feedrate axes commanded to move in the same move command will be linearly interpolated so as to finish in the same time This permits easy helical interpolation 4 The plane for the circular arc must have been defined by the NORMAL command the default NORMAL 1 defines the XY plane This command can define only planes in XY Z space which means that only the X Y and Z axes can be used for circular interpolation Other axes specified in the same move command will be interpolated linearly to finish in the same time The most commonly used planes are NORMAL 1 XY plane equivalent to 617 NORMAL J 1 2 plane equivalent to G18 NORMAL I 1 YZ plane equivalent to 619 5 put the program in circular mode use the CIRCLE1 program command for clockwise arcs G02 equivalent or CIRCLE2 for counterclockwise arcs G03 equivalent LINEAR will restore PMAC to linear blended moves Once circular mode a circular move is specified with a move command specifying the move endpoint and either the vector to the arc center or the distance radius to the center The endpoint may be specified either as a position or as a distance from the starting point depending on whether the axes are in absolute ABS or incremental INC mode individually specifiable X Data Y Data R Data Radius of the circle is given X Data Y Data I Data J Data Center coordinates of the circle are given 54 Motion Programs PMAC Quick Refere
133. omparators A comparator evaluates the relationship between two values constants or expressions It is used to determine the truth of a condition in a motion or PLC program The valid comparators for PMAC equal to not equal to gt greater than 1 gt not greater than less than or equal to lt less than I lt not less than greater than or equal to approximately equal to within one I not approximately equal to at least one apart Note that lt and gt are not valid PMAC comparators The comparators lt respectively should be used in their place User Written Phase and User Written Servo Algorithms For the sophisticated user with unusual and or difficult commutation needs PMAC provides the hooks for custom user written commutation phasing or servo algorithms These routines must be written in Motorola 56000 assembly language code usually on a PC or compatible and cross assembled for the 56000 Memory Map PMAC s processor is the Motorola 56001 DSP The 56001 has dual data buses each 24 bits wide so that both operands in a calculation may be brought in simultaneously Each bus has access to a 16 bit address space 0000hex to FFFFhex which provides 65 536 24 bit words One bus and address space 15 called X and the other is called Y Therefore when specifying a single word memory location one must use X or Y with the 16 bit address PMAC s input and output 1s mapp
134. onfiguring PMAC PMAC Quick Reference Guide PROGRAMMING PMAC Programming PMAC is very simple the ease of use and power is based in the following features e clever interrupt driven scheme allows every task each motion program and PLC to run independently of each other e Pointer M Variables allow monitoring virtually any register in PMAC s memory from different sources motion programs PLCs or the host computer e Communications are activated continuously At any moment any variable or status command could be interrogated e Up to eight Axes can be either synchronized together controlled individually or in any combination in between e Data gathering and reporting functions allows saving data such as motion trajectories velocity profiles or any set of variables for later analysis and plot PMAC is fundamentally command driven device PMAC performs by issuing it ASCII command text strings and generally PMAC provides information to the host in ASCII text strings When PMAC receives an alphanumeric text character over one of its ports it does nothing but place the character in its command queue It requires a control character ASCII value 1 to 31 to cause it to take action The most common control character used 1s the carriage return lt CR gt ASCII value 13 which tells PMAC to interpret the preceding set of alphanumeric characters as a command and to take the appropriate action Online Commands Many of the co
135. p itself properly updated The most important of these are the safety limit checks following error overtravel limit fault watchdog etc Although this happens at a low priority a minimum frequency is ensured because the watchdog timer will trip shutting down the card if this frequency gets too low Observations PMAC has an on board watchdog timer circuit whose job it is to detect a number of conditions that could result in dangerous malfunction At the default settings if the RTI frequency were to drop below about 50 Hz or the background cycle is not performed at least every 512 RTI cycles the timer would trip The purpose of this two part control of the timer is to make sure all aspects of the PMAC software are being executed both in foreground interrupt driven and background If anything keeps either type of routine from executing the watchdog will fail quickly PLCO PLCCO are meant to be used for only a very few tasks usually a single task that must be done at a higher frequency than the other PLC tasks The PLC 0 will execute every real time interrupt as long as the tasks from the previous RTI have been completed PLC 0 1s potentially the most dangerous task on PMAC as far as disturbing the scheduling of tasks 15 concerned If it is too long it will starve the background tasks for time The first thing to notice 15 that communications and background PLC tasks will become sluggish In the worst case the watchdog timer will trip
136. pabilities It is possible to use a set of P Variables as an array To read or assign values from the array simply replace the constant specifying the variable number with an expression in parentheses Example P1 10 Array index variable 1 Same as P3 P10 To write to the array M Variables must be used An M Variable defined to the corresponding P Variable address will allow changing any P Variable and therefore the contents of the array Example Values 31 to 40 will be assigned to variables P1 through P10 gt 1451001 Address location of Pl M35 2Y 95BC22 0 16 Definition word of M34 OPEN PLC 15 CLEAR PLOOSST WHILE 100 gt 40 gt From 21 to 40 M34 P100 Value 15 written to the array P100 P100 1 Next value M35 M35 1 Next Array position next P variable ENDWHILE DISABLEPLCIS This PLC only once Programming PMAC 35 PMAC Quick Reference Guide CLOSE ena PLC15 Enable the PLC 15 must be 2 or 3 Pl 10 List the values of Pl 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 The standard algebraic precedence rules are used multiply and divide are executed before add and subtract operations of equal precedence are executed left to right a
137. ple to stop any motion in a Coordinate System and start motion program 10 the following PLC can be used 87 gt 50817 17 1 61 In position bit AND of motors OPEN PLC3 CLEAR IF 11 1 gt ON IF P11 0 input was not ON last time set latch COMMAND amp 1A ABORT all motion WHILE M187 0 wait for motion to stop ENDW COMMAND amp 1B10R start program 10 ENDIF BLUSE P11 0 reset latch CLOSE 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 1f these statements get executed on consecutive scans through the PLC IF M11 1 input is ON IF P11 0 input was not ON last time COMMAND 1 9 JOG motor 11 1 set latch ENDIF ELSE P11 0 reset latch ENDIF 64 PLC Programs 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 Usually a signed M Variable is assigned to the timer a value is written to it representing the desired time in servo cycles multiply milliseconds by 8 388 608 110 then the PLC waits until the M Variable is les
138. ram Command Specifications 8 PMAC Quick Reference Guide Motion Program PROG ROT PROG ROT PLC Return From Subroutine Jump End Main RETURN Program Spindle data command S data Cause PMAC to Send Message SEND message SENDS message SENDP message PROG PLC Cause PMAC to Send Control Character SEND letter SENDS letter SENDP letter Put program uniform cubic spline SPLINEI motion mode Put program in non uniform cubic spline SPLINE2 PROG ROT motion mode PROG ROT Motion Program PROG ROT PROG ROT PROG ROT PROG ROT PROG ROT PROG ROT Stop program execution STOP lt elect active transformation matrix for X TSELECT constant Y and Z axes U data PROG ROT WHILE condition Motion or PLC Conditional looping WHILE condition PROG ROT action X data PROG ROT Y data PROG ROT Z data PROG ROT PROG ROT PROG ROT PROG ROT 90 Appendix D PMAC Program Command Specifications PMAC Quick Reference Guide APPENDIX MOTOR SUGGESTED M VARIABLE DEFINITIONS gt X C001 0 24 S gt 005 0 24 5 gt X C009 0 24 S gt 8 000 0 24 5 gt X C011 0 24 S gt X C015 0 24 S 2X C019 0 24 S gt 5 010 0 24 5 output gt Y C003 8 16 S gt Y C002 8 16 S gt 5 8 16 5 gt Y C00A 8 16 S gt 013 8 16 5 gt Y C012 8 16 S gt Y C01B 8 16 S gt Y C
139. rdinate system Even when this is the case however the matching motor and axis are not completely synonymous The axis 15 scaled into engineering units and deals only with commanded positions Except for the PMATCH function calculations go only from axis commanded positions to motor commanded positions not the other way around More than one motor may be assigned to the same axis a coordinate system This is common in gantry systems where motors on opposite ends of the crosspiece are always trying to do the same movement By assigning multiple motors to the same axis a single programmed axis move in a program causes identical commanded moves in multiple motors Commonly this is done with two motors but up to eight motors can be used in this manner with PMAC Remember that the motors still have independent servo loops and that the actual motor positions will not necessarily be exactly the same An axis in a coordinate system can have no motors attached to it a phantom axis in which case programmed moves for that axis cause no movement although the fact that a move was programmed for that axis can affect the moves of other axes and motors For instance if sinusoidal profiles are desired on a single axis the easiest way to do this is to have a second phantom axis and program circularly interpolated moves 44 Motion Programs PMAC Quick Reference Guide Axis Definition Statements A coordinate system is established by using axis def
140. registers on the base PMAC a last entry with all zeros in the Y word could be defined as necessary Check to see if everything performed in the Real Time Interrupt RTI is necessary or if some of it could be moved to a lower priority or slowed down PLCO could be done as PLCCI or the RTI could be done every fourth or fifth servo cycle setting 18 3 or higher Large PLC programs can be split into a few shorter PLC programs This increases the frequency of housekeeping and communications by giving more breaks in PLC scans Motion program WHILE condition WAIT statements can be done as follows WHILE condition DWELL20 ENDWHILE This will give more time to other RTI jobs such as Move Planning and PLC PLCCO If routines of lower priority than the servo loop are not executing fast enough consider slowing down the servo update rate increasing the update time The PMAC may be updating faster than 1s required for the dynamic performance needed If so processor time is being wasted on needless extra updates For example doubling the servo update time from 442 usec to 885 usec virtually doubles the time available for motion and PLC program execution allowing much faster motion block rates and PLC scan rates This frequency change could be executed either by jumpers or individually per motor by means of the 60 variable Introduction 11 PMAC Quick Reference Guide A faster than 20 MHz PMAC will perform calculations faster in proportion
141. rollover is handled gracefully Rollover Example MO 1000 M85 16777000 M86 12126 Bit 23 22 21 20 19 18 17 16 15 14 13 12 wo 9 7 ets 41312 L9J 1 3 32 L1 1 94 1 0 6 0 MSS pd 070 1 10 0 lt lt Carry out bit PLC Programs 65 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 PEWIN will compile all the PLCC code present on the file and place it in the appropriate buffer in PMAC Ifa single PLCC code is downloaded all the rest of the PLCCs that might have been present in memory will be erased leaving only the last compiled code The multiple file download feature of the PEWIN File menu allows the PLCC codes to be in different files They are combined by PEWIN in the downloading process The use of L Variables in a PLC program statement tells the compiler t
142. ry 512 RTI cycles the watchdog timer will not trip The purpose of this two part control of the timer is to make sure all aspects of the PMAC software are being executed both in foreground interrupt driven and background If anything keeps either type of routine from executing the watchdog will fail quickly The only recover for this failure assuming the 5V power supply is satisfactory is to hardware reset PMAC Establishing 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 told 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 If told to look for PMAC on a COM port tell it the baud rate this was set up with jumpers or switches on the PMAC Once the program knows where and how to communicate with PMAC it will attempt to find PMAC at that address by sending a query command and waiting for the response If it gets the expected type of response it will report that it has found PMAC and can proceed If it does not get the expected type of response after several attempts it will report that it has not found PMAC Check the following General 1 Is the green LED power indicator on PMAC s CPU board ON as it should be If it 15 not find out why 15 not getting 5 voltage
143. s than 0 Example 0 gt 50700 0 2455 Timer register 1 8388608 110 msec 0700 9 245 Timer register 2 8388608 110 msec 92 gt 50701 0 24 5 Timer register 3 8388608 110 msec 9 gt 50701 0 24 8 Timer register 4 8388608 110 msec OPEN PLC3 CLEAR M1 0 Reset Outputl before start 90 1000 8388608 110 Set timer to 1000 msec 1 second WHILE 90 gt 0 Loop until counts to zero ENDWHILE M1 1 Output 1 after time elapsed DIS PLC3 disables PLC3 execution needed in this example CLOSE If more timers are needed the best technique to use is in memory address X 0 This 24 bit register counts up once per servo cycle Store a starting value for this then with each scan subtract the starting value from the current value and compare the difference to the amount of time to wait Example 0 gt 50 24 Servo counter register M85 gt X S07F0 24 Free 24 bit register 86 gt 507 1 24 Free 24 bit register OPEN PLC 3 CLEAR M1 0 Reset Outputl before start M8 5 M0 Initialize timer M8 6 0 WHILE M86 lt 1000 Time elapsed less than specified time 86 0 85 M86 M86 110 8388608 Time elapsed so far in milliseconds ENDWHILE M1 1 Set Output 1 after time elapsed DISABLEPLC3 disables PLC3 execution needed in this example CLOSE Even if the servo cycle counter rolls over starts from zero again after the counter is saturated by subtracting into another 24 bit register
144. several possibilities 1 Can the program be listed In terminal mode type LIST PROG 1 or whichever program and see if it is there If not try to download it to the card again 2 Isthe program buffer closed Type A just in case the program is running type CLOSE to close any open buffer type B1 or the program to point to the top of the program and type R to try to run it again 3 Can each motor in the coordinate system be jogged in both directions If not review that motor s setup 4 Have any motors been assigned to the coordinate system that is not really set up yet Every motor in the coordinate system must have its limits held low even if there is no real motor attached Try the following steps for any other motion program problem 1 Type amp 1 100 in the terminal window 2 Check that only one of the motors can be jogged that is to be used in the motion program 3 Type the following commands in a text editor to be downloaded to PMAC close Close any buffer opened delete gather Erase unwanted gathered data undefine all Erase coordinate definitions in all coordinate systems 1 gt 2000 Replace 1 for the motor being used and 2000 the appropriate scale factor for the number of counts per user units OPEN PROG 1 CLEAR Prepare buffer to be written LINEAR Linear interpolation INC Incremental mode TA500 Acceleration time is 500 msec ToU gt No S curve acceleration component TM2000
145. shutting down the card because the housekeeping task in background did not have the time to keep it updated Although it is very rare for a motion program to cause a watchdog failure this does happen on occasion If there is an empty no motion loop the motion program acts much like a PLC 0 during this period These empty loops which are used usually to wait for a certain condition provide fast response to the change in condition but their fast repetition occupies a lot of CPU time and can starve the background tasks for time Particularly if several coordinate systems are executing empty loops at the same time serious background time limitations can be created which can be severe enough to trip the watchdog timer If there are a huge number of lines of intensive calculations e g 100 before any move or dwell is encountered there can be such a long time before background calculations are resumed more than 512 RTI cycles it is possible to trip the watchdog timer If this problem occurs the calculations should be split apart with short DWELL commands to give other tasks time to execute It is possible to use compiled PLCC programs for faster execution The faster execution of the compiled PLCs comes from two factors first from the elimination of interpretation time and second from the capability of the compiled PLC programs to execute integer arithmetic The space dedicated to store up to 32 compiled PLC programs however is limited to
146. t is important to check its functionality and its polarity Note Make sure the motor 15 not powered while performing this test In the PEWIN open a Position window by pressing Alt V and P from the terminal window Rotate the encoder to monitor the corresponding position value of the motor in the Position window Make sure that a rotation in the positive direction increments the position values Also make sure that the number of counts per revolution of the encoder matches the number read by PMAC when a complete revolution of the motor has been rotated If necessary for troubleshooting purposes place an oscilloscope in the encoder inputs to check the appropriate signals provided by the encoder Example for Encoder 1 ER IER E e Channel A in pin 25 of JMACHI Acc 8D or Acc 8P iO ma o e Channel B in pin 21 of Acc 8D Acc 8P e Ground in pin 3 or 4 of JACHI Acc 8D or Acc 8P Checking the DAC Outputs Before connecting the DAC outputs to the amplifier it is opportune to check the DAC outputs operation Note Make sure the amplifier is not connected while performing this test In the PEWIN terminal window define the following M Variables for the DACs of the motors under consideration 27 Motor 1 Motor 2 Motor 3 Motor 4 DAC output M102 gt Y C003 8 16 S M202 gt Y C002 8 16 S M302 gt Y CO0B 8 16 S M402 gt Y C00A 8 16 S Motor 5 Motor 6 Motor 7 Motor 8 DAC output M502 gt Y C013 8 1
147. the trajectory generator routines that compute the series of commanded positions for the motors every servo cycle The motion program must be working ahead of the actual commanded move to keep the trajectory generators fed with data PMAC processes program lines either in zero one or two moves including DWELLs and DELAYs ahead Calculating one move ahead is necessary in order to be able to blend moves together calculating a second move ahead 15 necessary if proper acceleration and velocity limiting is to be done or a three point spline is to be calculated SPLINE mode For linear blended moves with I13 move segmentation time equal to zero disabled PMAC calculates two moves ahead because the velocity and acceleration limits are enabled here In all other cases PMAC 15 calculating one move ahead No Moves Ahead Two Moves Ahead One Move Ahead Linear with 113 0 Linear with 113 gt 0 Spline 1 bis step through program 92 1 blending disabled When a RUN command is given and every time the actual execution of programmed moves progresses into anew move a flag 15 set saying it is time to do more calculations in the motion program for that coordinate system At the next RTI if this flag is set PMAC will start working through the motion program processing each command encountered This can include multiple modal statements calculation statements and logical control statements Program calculations will con
148. their range varies depending on the particular variable There are 1024 I Variables from IO to I1023 and they are organized as follows IO General card setup 190 199 Geared Resolver setup 1100 1184 Motor 1 setup 1225 Coordinate System 1 setup 1200 284 Motor 2 setup pops Coordinate System 2 setup 1800 1884 Motor 8 setup Coordinate System 8 setup 1900 11979 Encoder 1 16 setup 1960 11023 Reserved for future use Values assigned to an I Variable may be either a constant or an expression The commands to do this are on line immediate if no buffer is open when sent or buffered program commands if a buffer is open Examples T120 45 1120 LLZO TPZ5 35 32 Programming PMAC 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 13 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 I Variable values can be stored in a 2K x 8 EEPROM IC with the SAVE command These values are safe here even in the event of a battery backed RAM failure so the basic setup of the board is not lost After a new value is given to one of these I Variables the SAVE command must
149. ting 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 s motion program language is perhaps best described as a cross between a high level computer language like BASIC or Pascal and G Code RS 274 machine tool language In fact it can accept straight G Code programs directly provided it has been set up properly It has the calculational and logical constructs of a computer language and move specification constructs similar to machine tool languages Numerical values in the program can be specified as constants or expressions Motion or PLCs programs are entered in any text file to be downloaded afterwards to PMAC PEWIN provides a built in text editor for this purpose but any other text editor could be used conveniently Once the code has been written 1t can be downloaded to PMAC using PEWIN All PMAC commands can be issued from any terminal window communicating with PMAC Online commands allow for example to jog motors change variables report variables values start and stop programs query for status information and even write short programs and PLCs In fact the downloading process is just a sequence of valid PMAC commands sent line by line from a particular text file How PMAC Executes a Motion Program Basically a PMAC program exists to pass data to
150. tinue which means no background tasks will be executed until one of the following conditions occurs 1 The next move a DWELL command or a PSET statement is found and calculated 2 End of or halt to the program e g STOP is encountered 3 Two jumps backward in the program from ENDWHILE or GOTO are performed 4 AWAIT statement is encountered usually in a WHILE loop Motion Programs 43 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 anew 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 If PMAC cannot finish calculating the trajectory for a move by the time execution of that move should begin PMAC will abort the program showing a run time error in its status word Coordinate Systems A coordinate system PMAC 15 a grouping of one or more motors for the purpose of synchronizing movements A coordinate system even with only one motor can run a motion program a motor cannot PMAC can have up to eight coordinate systems addressed as amp 1 to amp 8 in a flexible fashion e g eight coordinate systems of one motor each one coordinate system of eight motors four coordinate systems of two motors
151. tion cycles minus one Ill Program Move Calc Time 0 8 388 607 0 113 Programmed Move Segmentation Time 0 8 388 607 0 000 0 None 115 Deg Radians for User Trig None 114 115 16 118 10 118 Fixed Buffer Full Warning Point 0 8388607 10 Long Memory Words ___ Gathering Range Default Units __ 0 Cycles 20 Data Gathering Selection Mask 000000 0 None 121 ata Gathering Source 1 Address 000000 BY 144 Addresses FFFFFF 145 Data Gathering Buffer Location And 0 3 None Mode Appendix PMAC I Variables Summary 75 PMAC Quick Reference Guide EN Other Global I Variables Default 147 Address Of Pointer For Control W 0000 SFEFF 0 Legal PMAC Y addresses Command 0 65 535 14 Servo Data Enable 0 foe V RE 0 607 0 Name PE DPRAM Communications Interrupt Enable 148 150 151 152 153 EE 157 DPRAM Binary Rotary Buffer Enable 0 1 None None None None 00 2 i DPRAM ASCII Communications Sembee 0 2 Mme o rtp 59 Number r jd None None Internal Message Carriage Return Control Control X Echo Enable Internal Response Tag Enable turn Point point degrees mensem turns Backlash Hysteresis 0 8 388 607 64 4 cou
152. 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 20 MHz PMAC 8 commutated servo motors 40 MHz PMAC 8 commutated servo motors 12 20 MHz PMAC 8 non commutated servo motors 40 MHz PMAC 8 non commutated servo motors Servo Cycle Phase Cycle Real Time Interrupt Background Cycle Introduction 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 Additionally PEWIN contains a suite of tools for configuring and working with PMAC and its accessories including interfaces for jogging motors extensive system utilities screens for viewing various PMAC variables and status registers Configuring PEWIN 1 Define a new device using the MOTIONEXE EXE application provided Motion Controls control devices Pmacl SER 2 Baudrate 9500 Parity None NC Setup Add Remove Setup 2
153. ts of Distance of the velocity encoder 3 Leave any loads disconnected from the motor at this point Test the polarity and functioning of the motor by means of open loop commands For the open loop command to work the overtravel limits must be either disabled See Ix25 or properly connected Type the following in the terminal 1010 Pound one O ten will output 10 of the DAC on motor 1 It 15 about 0 6 on default settings lt Observe the motor turning in the positive direction the position window should indicate motor 1 counting up gt 10 10 Pound one O negative ten will output a negative 10 of the DAC on motor 1 about 0 6V lt Observe the motor turning in the negative direction the position window should indicate motor 1 decreasing If no motion is observed slowly increase the percentage of the output command issued If after 50 no reaction of the motor occurred check the DAC outputs following the guidelines in the previous sections Perform a tuning procedure as described in the PEWIN chapter 5 After the tuning process has been completed satisfactory check it by means of the following online commands SAVE Save this setup 1 Jog Motor 1 continuously in the positive direction 1 204 Motor 1 continuously in the negative direction 19 2000 Jog Motor 1 to a known location 6 Create a PMAC memory backup file as described in the PEWIN chapter 30 Installing and C
154. ubroutines The GOSUBx command in a motion program causes a jump to line label Nx of the same motion program Program execution will jump back to the command immediately following the GOSUB when a RETURN command is encountered This creates a subroutine Motion Programs 47 PMAC Quick Reference Guide The CALLx command 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 15 to line label N y 100 000 where y is the fractional part of x This structure permits the creation of special subprograms either as a single subroutine or as a collection of subroutines that can be called from other motion programs The PRELUDE command allows creating an automatic subprogram call before each move command or other letter number command in a motion program Passing Arguments to Subroutines These subprogram calls are made more powerful by use of the READ statement The READ statement in the subprogram can go back up to the calling line and pick off values associated with other letters to be used as arguments in the subprogram The value after an A would be placed in variable Q101 for the coordinate system executing the program the value after a B would be placed in Q102 and so on Z value goes in 0126 Letters or cannot be passed This structure
155. uide 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 Further instructions for the jumper setup can be found the PMAC User manual After all jumpers have been properly set PMAC can be installed either inside the host computer or linked with a serial cable to it Serial Connections For serial communications use a serial cable to connect the PC s COM port to the PMAC s serial port connector J4 on PMAC PC Lite and VME J1 on PMAC STD s bottom board Delta Tau provides cables for this purpose Acc 3D connects PMAC PC or VME to a DB 25 connector Acc 3L connects PMAC Lite to a DB 9 connector and Acc 3S connects PMAC STD to a DB 25 connector Standard DB 9 to DB 25 or DB 25 to DB 9 adapters may be needed for a particular setup If using the Acc 26 Serial Communications converter connect from the PC COM port to Acc 26 with a standard DB 9 or DB 25 cable and from Acc 26 to PMAC using the cable provided with Acc 26 Since the serial ports on PMAC PC and PMAC VME are RS 422
156. ut was not ON last time COMMAND 1 9 JOG motor 11 1 Set latch ENDIF ELSE P1120 reset latch ENDIF PLCO or PLCCO should be used for only a few tasks usually a single task that must be done at a higher frequency than the other PLC tasks The PLC 0 will execute every real time interrupt as long as the tasks from the previous RTI have been completed PLC 0 is potentially the most dangerous task on PMAC as far as disturbing the scheduling of tasks is concerned If it is too long it will starve the background tasks for time The first thing noticed is that communications and background PLC tasks will become sluggish In the worst case the watchdog timer will trip shutting down the card because the housekeeping task in background did not have the time to keep it updated Because all PLC programs in PMAC s memory are enabled at power on reset it is good practice to have I5 saved as 0 in PMAC s memory when developing PLC programs This will allow PMAC to be reset no PLCs running an enabled PLC only runs if I5 1s set properly and recover more easily from a PLC programming error As an example type these commands in the terminal window After that open a watch window and monitor for P1 to be counting up OPEN PLCI CLEAR Prepare buffer to be written Pl continuously incrementing CLOSE Close written buffer 15 2 Press lt CTRL D gt and type Troubleshooting 71 72 PMAC Quick Referenc
157. ution see manual Design Goals Excitation Time ms 50 16 Bandwadth Hz Damping 0 Banc Auto select Sample Period Include Low Pass Filter Optional Items to Auto Turne Feed Forward Acceleration Feed Forward rr Integral Acton Mone C Soft Hard Auto Tuning Dual Mater Number of 2 Maximum motor tavel icts 4000 Pause between Iterations Dont jog back to anginal position Activate Second Motor Helo PMAC Executive Program PEWIN PMAC Quick Reference Guide Make sure to read the PEWIN manual section related to the safety issues of this procedure Perform a DAC calibration if necessary Select the type of amplifier being tuned Let the Auto Tune select the bandwidth by checking Auto Select bandwidth Do not activate any feed forward parameters in this first pass Do not activate the integral action component in this first pass g Start the first Auto Tuning interaction Most likely the motor will move after Begin is clicked we Second Interaction Denn Gost Exckaton Tee mi 50 Bardot Mumberol 2 D amping 0 0000 250 0 Mirea motor bawel cht jo Auto pebect Autc pelect Sample Penod Dont jeg back position inchada Low P
158. will get entered into the buffer instead It is good practice to have close at the beginning and end of any file to be downloaded to PMAC When PMAC receives a CLOSE command it appends a RETURN statement to the end of the open program buffer automatically If any program or PLC in PMAC is structured improperly e g no ENDIF or ENDWHILE to match IF or WHILE PMAC will report at the CLOSE command for any buffer until the problem 15 fixed Example clo se Close any buffer opened delete gather Erase unwanted gathered data undefine all Erase coordinate definitions in all coordinate systems 1 gt 2000 Motor 1 is defined as axes X OPE N PROG 1 CLEAR Open buffer to be written LINEAR Linear interpolation INC TAL ToU F50 x1 CLO Incremental mode 00 Acceleration time is 100 msec No S curve acceleration component Feedrate is 50 Units per Ix90 msec One unit of distance 2000 encoder counts SE Close written buffer program one Running a Motion Program 1 46 Select the coordinate system where the motion program will be running This is done by issuing the amp command followed by the coordinate system number e g amp 1 for the coordinate system one Select the program that to run with the B constant command where the constant represents the number of the motion program buffer Use the B command to change motion programs and after any motion program buffer has be
159. x DAC Ist Phase Bias 32 768 32 767 0 __ DAC Bits NEN Servo Control I Variables Default Units 8 388 607 8 388 607 bits Counts cycle Gain bits Counts cycle bits _ _ ai Monor seat Mode EN pee PDN tn ot Coefficient N1 PY Gooey 54 401 9 Coefficient N2 OU 20 720 P emen eimi enel Coefficient D1 OU 20 00 enecen Coefficient D2 mee Vibe Ix56 Variable Appendix PMAC I Variables Summary 27 PMAC Quick Reference Guide __ Motor Servo Loop Modifiers Default Motor x Continuous Current Limit 0 32 767 O Bits of a 16 bit DAC Motor x Integrated Current Limit 0 8 388 607 0 230 DAC bits 2 servo cycles 0 3 Ix59 Motor x User Written Servo None Enable lr a Extension 8 388 607 deadband Motor x Deadband Size 0 32 767 16 71 count 1 16 count Motor x Position Error Limit 0 8 388 607 4 194 304 1 16 count Motor x Friction Feedforward 32 768 32 767 0 DAC bits 1 69 Motor x DAC Limit 0 32 767 20 480 DAC bits 6 25V _____ Commutation I Variables Default Cycles Cycles Angle commutation cycle Ix73 Motor x Phase Finding Value 0 32 767 bits of 16 bit DAC Ix74 Motor x Phase Finding Time 239 Servo Interrupt Cycles for Ix80 0 or 1 1 75 Motor x Power On Phase Position 8 388 608 Offset 8 388 607 Servo Interrupt Cycles 256 for Ix80
160. ximum Non negative None ld AF ee Variables I900 Encoder 0 Decode Control 0 15 7 None 99 es perm I906 1907 1906 ______ MACRO Support I Variables Default 1000 MACRO Node Auxiliary Register 0 SFFFF 0 0 None Enable 65 535 1001 MACRO Ring Check Period 0 255 0 Comm Timeout Count ee a Shutdown Count Appendix PMAC I Variables Summary 79 80 PMAC Quick Reference Guide Appendix I Variables Summary PMAC Quick Reference Guide APPENDIX PMAC ON LINE IMMEDIATE COMMANDS binary one shot gathering lt CONTROL E gt Report following errors for all motors Value 5D ASCII Value 6D Syntax 01 02 03 04 505 06 Report global status word ASCII Value 7D 507 lt CONTROL H gt Erase last character lt CONTROL I gt Repeat last command line ASCII Value 8D ASCII Value 9D 08 lt gt 09 lt TAB gt Kill all motors ASCII Value 11D 0B coordinate systems coordinate systems system ASCII Value 18D ASCII Value 19D 0C CR OE OF 10 11 12 13 14 15 16 ees 18 19 mode f constant _ Address a motor 1 fconstamt system axis definition Clear axis definition for specified motor 20 Constant Assign an axis definition
Download Pdf Manuals
Related Search
Related Contents
- Frank`s Hospital Workshop WANGuard Platform 3.0 User Manual Bigaole 3G-A ジャイロ取扱説明書 2 - PlayStation Copyright © All rights reserved.
Failed to retrieve file