Home

DELTA TAU PMAC

image

Contents

1. Compatible X Not Compatible P Partially Compatible O Compatible if PMAC Opt Purchased A Compatible if PMAC Acc Purchased Wir 2 els Pe 264 Name Description gt ao qa 32 AJ A amp A AP OPT ON Remove VME interface for standalone C X X A 1 4 additional channels axis interface circuitry X X OCO X X X X X OPT 14 Replacement of flag opto isolators with socketed shunts X C C C CO X X 16 16K x 24 battery backed parameter RAM X 4 15 Additional 4 axis capability Piggyback board X CO X X X X OPT 1V 4 additional channels axis interface circuitry X XIX X X X X OPT 4A 20 MHz CPU zero wait RAM flash backup no battery 25 speed increase X C C C X X X gt 5 40 MHz CPU zero wait RAM flash backup no battery 125 speed increase X X 58 60 MHz CPU zero wait state flash RAM no battery buffered expansion port 5 80 MHz CPU zero wait RAM flash backup no battery buffered expansion port C C C X S OPT 8A High accuracy clock 19 6608MHz 15ppm for long term velocity accuracy
2. CO gt gt 2 O T oO 2 0 gt 2 019 999 AS ox Co os oS cos o os AS 7 oS 251 219 CDC am ox PS PS OP Lite Compatible X Not Compatible P Partially Compatible O Compatible if PMAC Opt Purchased A Compatible if PMAC Acc Purchased T Compatible w Turbo Version N Compatible w non Turbo Version mM 8 Description lt gt Ei lt S 2 5 5 5 E ROO ESA EA e 28 32 Z ee 2 E22 ACC 14D 48 expansion board for parallel feedback devices or 48 digital I O can plug into PC Bus 14 I O expansion board for parallel feedback devices or 48 digital I O can plug into VME Bus Pl PR RE LP 18 Thumbwheel multiplexer board for 16 thumbwheels no digits
3. The amplifier enable signal could also be manually controlled setting Ix00 0 and using the properly defined Mx14 variable 3 7 6 Amplifier fault signal FAULTn This input can take a signal from the amplifier so PMAC knows when the amplifier is having problems and can shut down action The polarity is programmable with I variable Ix25 1125 for motor 1 and the return signal is analog ground AGND FAULTI is pin 49 With the default setup this signal must actively be pulled low for a fault condition In this setup if nothing is wired into this input PMAC will consider the motor not to be in a fault condition The amplifier fault signal could be monitored using the properly defined Mx23 variable 3 7 7 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 Accessory 21F is a six foot cable for this purpose These inputs and outputs are typically accessed in software through the use of M variables In the suggested set of M variable definitions variables M1 through 8 are used to access outputs 1 through 8 respectively and M11 through M18 to access inputs
4. i inc 7 gi pF 1 i abs X abs 1 PMAC performs arc moves by segmenting the arc and performing the best cubic fit on each segment I variable 113 determines the time for each segment I13 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 is 5 10 msec A value of 10 msec is recommended for most applications a lower than 10 msec I13 value will improve the accuracy of the interpolation calculating points of the curve more often but will also consume more of the PMAC s total computational power 2 When PMAC is automatically segmenting moves 113 gt 0 which is required for Circular Interpolation the Ix17 accelerations limits and the 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 Any 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 K 1 defines the XY plane This command can only define planes in XY Z space which means
5. 215 I O simulator for PMAC JOPT port 8 switch inputs 8 LED outputs X X g ACC 27 Opto isolated I O board 24V 8in Gout not compatible with other JTHW port accessories C C C C C 8 ACC 34A Optically isolated I O board 64 bits total 32in 32out 15V to 24V 100 mA EIER e ACC 34AA 32 In Out Isolated I O w parity amp Low Pass Input Filters 64 bits total Go Oo ECH e C C Q ACC 34B Optically isolated I O board 64 bits total for Opto 22 and compatible boards C C C C C ACC 34C 6U Digital Rack I O 32 outputs or 32 inputs w built in Acc35B circuitry XX X ACC 34D 32 in 32 out Opto c c 35 Thumbwheel port differential line driver for remote connections gt ACC 35B Thumbwheel port buffer differential line receiver for remote connections C C C C C ze ACC 24P 4 channel axis expansion PC card d pes 5 24 1 4 additional channels 16 channels total 8 on 8 on ACC 24P ES El AE E ESO P P S ACC 24P2 4 channel PMAC2 style axis expansion card ISA form with 1 8 cm 3 cable X X ACC 24P2 OPT1 Option 1 4 additional channels X X et ACC 24V 4 channel axis ex
6. ACC 33N 32 bits PMAC NC software for IBM PC Windows based Executable code per machine PICICIPIXICICICIP C P co 335 software for PC Windows based source code Site License AP X 5 ACC 50 Reach out Version 7 0 for Windows PC Remote Communications Software CIC CX m 0 ACC 9DA IBM PC Executive software diskette for DOS CIC 2 ACC 9G Function blocks for GE 90 70 interface to 1 PMAC Site License X X X ger ACC 9GA Function blocks for GE 90 70 interface to 1 4 PMACs Site License X X e V ACC 9GB Function blocks for GE 90 70 interface to 1 8 PMACs Site License X X X C 5 ACC 9P IBM PC Communications library PCOMM 16 bits Site License ACC 9PL IBM PC PMAC LabView Interface Library PMACPanel C ACC 9PN PMAC Win 32 Communications Driver Site License ACC 9PT PTALK 32 BIT PMAC communication OLE custom control OCX Site License c c ACC 9W IBM PC Executive software Diskette for Window 16 bits Site License Cx Cal CCC ACC 9WN IBM PC Executive software Diskette for Window 32 bits Site License c Cc 5 26 Serial communications isolator converter with
7. Ge ceu ACC 1 5V 3A linear power supply for standalone use 231562 x x P P 54 1 5V 6A linear power supply for standalone use OO ACC 1B 5V 9A linear power supply for standalone use CICICICICICICICIC C C 2 1 5V 12A linear power supply for standalone use B ACC 1L Replacement Lithium battery 3V 1200 mAh BR 2 3 A size no tabs for obsolete models X X X X X X X X X X ACC 1LS Replacement Lithium battery 3 6V 1000 mAh can stack Series 38880 0 0 0 0 X gt 15 5V 8A switching power supply for better transient suppression for standalone use 2 15V 1 5A power supply for analog circuits 0 0 A oa X gt 2 15V Power supply amp 5 Volts HTAA 16WA X ACC 2B 15V Power supply amp 5 Volts HBAA 40W Recommended for 8 channel PMAC X ACC 2SA 12V 1 2A switching power supply for better transient suppression 0 C C A O X d ACC 25 Extended algorithm autotuning software for IBM PC Must have PMAC OPT 6 33 PMAC NC software for IBM PC Windows based Executable code per machine PICICIPIXIC CICJ P H ACC 33L PMAC NC software for IBM PC Windows based linkable DLL libraries Site License 1 PX
8. Next coordinate system A IT End of Interrupt move calculations needed Yes the motion program Read next line of line contains move commands calculate move execute line No perform safety checks end of travel limits amplifier faults following error sets watchdog register to 4095 Y end of program No Execute next Yes W enabled PLC Execute first enabled PLCC Execute next enabled PLCC All PLCCs checked NON command response communications 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 1s a signal to PMAC that it must respond to a command The most common control character is the carriage return CR 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 t
9. Circle radius error bit M181 gt Y 0817 21 1 M281 gt Y 08D7 21 1 M381 gt Y 0997 21 1 M481 gt Y 0A57 21 1 M581 gt Y 0B17 21 1 M681 gt Y 0BD7 21 1 781 gt 0 97 21 1 M881 gt Y 0D57 21 1 Run time error bit M182 gt Y 0817 22 1 M282 gt Y 08D7 22 1 382 gt 0997 22 1 482 gt 0 57 22 1 M582 gt Y 0B17 22 1 M682 gt Y 0BD7 22 1 M782 gt Y 0C97 22 1 M882 gt Y 0D57 22 1 Continuous motion request 184 gt 0818 4 1 284 gt 0808 4 1 384 gt 0998 4 1 M484 gt X 0A58 4 1 584 gt 0 18 4 1 M684 gt X 0BD8 4 1 M784 gt X 0C98 4 1 884 gt 0058 4 1 In position bit AND of motors M187 gt Y 0817 17 1 M287 gt Y 08D7 17 1 387 gt 0997 17 1 487 gt 0 57 17 1 M587 gt Y 0B17 17 1 M687 gt Y 0BD7 17 1 M787 gt Y 0C97 17 1 M887 gt Y 0D57 17 1 Warning following error bit OR M188 gt Y 0817 18 1 M288 gt Y 08D7 18 1 388 gt 0997 18 1 488 50 57 18 1 M588 gt Y 0B17 18 1 M688 gt Y 0BD7 18 1 M788 gt Y 0C97 18 1 M888 gt Y 0D57 18 1 Fatal following error bit OR M189 gt Y 0817 19 1 M289 gt Y 08D7 19 1 389 gt 0997 19 1 489 50 57 19 1 M589 gt Y 0B17 19 1 M689 gt Y 0BD7 19 1 M789 gt Y 0C97 19 1 M889 gt Y 0D57 19 1 Amp fault error bit OR of motors M190 gt Y 0817 20 1 M290 g
10. EQU compare flag 116 gt 000 16 1 216 gt 004 16 1 316 gt 008 16 1 M416 gt X C00C 16 1 M516 gt X C010 16 1 M616 gt X C014 16 1 M716 gt X C018 16 1 M816 gt X C01C 16 1 ENC position captured flag M117 gt X C000 17 1 217 gt 004 17 1 317 gt 008 17 1 M417 gt X C00C 17 1 M517 gt X C010 17 1 M617 gt X C014 17 1 M717 gt X C018 17 1 M817 gt X C01C 17 1 ENC Count error flag 118 gt 000 18 1 218 gt 004 18 1 318 gt 008 18 1 M418 gt X C00C 18 1 M518 gt X C010 18 1 M618 gt X C014 18 1 M718 gt X C018 18 1 M818 gt X C01C 18 1 ENC 3rd channel input status 119 gt 000 19 1 219 gt 004 19 1 319 gt 008 19 1 M419 gt X C00C 19 1 M519 gt X C010 19 1 M619 gt X C014 19 1 M719 gt X C018 19 1 M819 gt X C01C 19 1 HMEL input status M120 gt X C 000 20 1 220 gt 004 20 1 320 gt 008 20 1 M420 gt X C00C 20 1 M520 gt X C010 20 1 M620 gt X C014 20 1 M720 gt X C018 20 1 M820 gt X C01C 20 1 LIM input status M121 gt X C 000 21 1 M221 gt X C 004 21 1 M321 gt X C 008 21 1 M421 gt X C00C 21 1 M521 gt X C010 21 1 M621 gt X C014 21 1 721 gt 018 21 1 821 gt 016 21 1 LIM input status 122 gt 000 22 1 222 gt 004 22 1
11. Motor x Ongoing Position Address Further Motor I Variables PMAC addresses Range Legal PMAC X and addresses Units Motor x Backlash Takeup Rate 0 8 388 607 1 16 Counts Background Cycle Motor x Backlash Size Coordinate System I variables 0 8 388 607 Range Default 1 16 Count Units C S x Default Acceleration Time 0 8 388 607 0 so Ix88 controls msec C S x Default S Curve Time 0 8 388 607 50 msec C S x Default Feedrate positive floating point 1000 user position units feedrate time units C S x Feedrate Time Units positive floating point 1000 0 msec C S x Default Working Program Number 0 32 767 0 Motion Program Numbers C S x Move Blend Disable 0 1 0 C S x Time Base Address PMAC X addresses see Ix93 table Legal PMAC addresses C S x Time Base Slew Rate 0 8 388 607 1644 23 2 msec servo cycle C S x FeedHold Decel Rate 0 8 388 607 1644 23 2 msec servo cycle C S x Circle Error Limit positive floating point 0 function disabled User length units Coordinate System x Maximum Feedrate Encoder Flag Setup I variables Non negative floating point 0 Default none gee Encoder 0 Decode Control 4 gee Encoder 0 Delay Filter Disable gee Encoder 0 Capture Control Encoder 0 Flag S
12. Motor x Warning Following Error Limit 0 8 388 607 16000 1 16 Count Motor x 4 Software Position Limit 247 0 Disabled Encoder Counts Motor x Software Position Limit 2 0 Disabled Encoder Counts Motor x Abort Lim Decel Rate positive floating point 0 25 2 Counts msec Motor x Maximum Velocity positive floating point 32 Counts msec Motor x Maximum Acceleration positive floating point 0 015625 2 Counts msec Motor x Maximum Jog Acceleration positive floating point 0 015625 2 Counts msec Page 1 of 2 Appendix 2 PMAC I VARIABLE SUMMARY Motor movement I variables Range Default Units Motor x Jog Home Acceleration Time 0 8 388 607 0 so 21 controls msec Motor x Jog Home S Curve Time 0 8 388 607 50 msec Motor x Jog Speed positive floating point 32 Counts msec Motor x Homing Speed amp Direction floating point 32 Counts msec Motor x Flag Address X addresses see Ix25 table Extended legal PMAC X addresses Motor x Home Offset 8 388 608 8 388 607 0 1 16 Count Motor x Position Rollover Range 0 8 388 607 0 Counts Motor x In Position Band 0 8 388 607 160 210 counts 1 16 Count Motor x DAC Ist Phase Bias Servo Control I Variables 32 768 32 767
13. 85 0 Initialize timer M86 0 WHILE M86 lt 1000 Time elapsed less than specified time 86 0 85 86 86 110 8388608 Time elapsed so far in milliseconds ENDWHILE 1 1 Set Output 1 after time elapsed DISABLEPLC3 disables PLC3 execution needed in this example CLOSE Even if the servo cycle counter rollovers start from zero again after the counter is saturated by subtracting into another 24 bit register we handle rollover gracefully Rollover example MO 1000 85 16777000 86 1216 Lee eee ees Cee pe ee ee ee 4 Carry out bit 6 8 Compiled PLC Programs PLCCs are compiled by PEWIN in the downloading process Only the compiled code gets downloaded to PMAC Therefore it is suggested to 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 If a single PLCC code is downloaded all the rest PLCCs that might 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 having the PLCC codes in differ
14. Binary Thumbwheel Multiplexer Definition d d d M constant constant gt DP address d MI 4 MI 4 constant constant gt TWB muxaddr offset size format M constant gt TWD address BCD Thumbwheel Multiplexer M Variable Definition M constant constant gt TWD muxaddr offset size dp format M constant gt TWR addr off Resolver Thumbwheel Multiplexer M Variable Definition M constant constant gt TWR muxaddr offset M constant gt TWS address Serial Thumbwheel Multiplexer M Variable Definition M constant constant gt TWS muxaddr M constant gt X Y address Short Word M Variable Definition M constant constant gt X address offset width format M constant constant gt Y address offset width format MACROAUX Report or write MACRO auxiliary parameter value MACROAUX NodeNum ParamNum constant MX NodeNum ParamNum constant MACROAUXREAD Read MACRO auxiliary parameter value MACROAUXREAD NodeNum ParamNum Variable MXR NodeNum ParamNum Variable MACROAUXWRITE Write MACRO auxiliary parameter value MACROAUXWRITE NodeNum ParamNum Variable MXW NodeNum ParamNum Variable MACROSLV command node Send command to Type 1 MACRO slave MACROSLAVE command node MS command node MACROSLV node slave variable Report Type 1 MACRO auxiliary parameter value MACROSLAVEInode
15. If PMAC is in bootstrap mode send a CONTROL R gt character to PMAC to bypass the firmware download f communications are successful type 5 and SAVE in the terminal window Turn off PMAC remove the jumper E51 and try communications again Bus Communications 3 Do the bus address jumpers E91 E92 E66 E71 set an address that matches the bus address that the Executive program is trying to communicate with 4 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 Address 768 300 hex is usually open Serial communications 5 Are you using the proper port on the PC Make sure if the Executive program is addressing the COMI port which you have cabled out of the COMI connector 6 Does the baud rate specified in the Executive program match the baud rate setting of the E44 E47 jumpers on PMAC 7 With a breakout box or oscilloscope make sure you see action on the transmit lines from the PC as you type into the Executive program If you do not there is a problem on the PC end 8 Probe the return communication line while you give a command that requires a response e g CONTROL F gt If there is no action you may have to change jumpers E9 E16 on PMAC to exchange the send and receive lines If there is action but the host program does not receive characters you may have RS 232 receiving circuitry that does not resp
16. rin TA end_ position SS equal to 20900 N 4 TM 00 0 1 uz 05 Time rec In order to reach the desired position since the move involves a change in direction and stop simply place a DWELLO command between moves This command will disable blending for that particular move TA100 TM250 X10 DWELLO X 10 4 Sincethe value of TA determines the minimum time in which a programmed move could 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 100 Acceleration time is 100 msec TA TSO No S curve component F40 Feedrate is 40 length_units second 3 1190 3000 X3 75 msec 40 40 CLOSE Page 48 5 0 Motion Programs Since the calculated TM for the given feedrate is 75 msec and the programmed TA for this move is 100 msec the TM used will be100 msec instead This yields the following feedrate value instead of the programmed one fe 3 1190 3000 units of distance 100 100 second 120000 Vel Programmed 100000 feedrate gon GO anon Maximum feedrate n reached 200n op 0 1 02 Time zc To be able to reach the desired
17. through 8 respectively This port maps into PMAC s memory space at Y address FFC2 The 21 is an I O simulator for the PMAC port it provides 8 switch inputs and 8 LED outputs The 215 is a good tool for I O simulation and troubleshooting of the JOPTO port in PMAC Page 25 Installing and Configuring PMAC 3 8 Machine Connections Example Amplifier 15 Volts Power Supply o000 ACC 8D or ACC 8P 4 FA AGND At 15V OPT V A 15V PMAC installed in a desktop PC I ACC 8D This diagram is just an example of one of the many variations of the machine connections PMAC Jumpers must be set appropriately following both the appropriate PMAC Hardware Reference and the PMAC User s Manual Page 26 Installing and Configuring PMAC 3 9 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 assure a clean memory configuration before start SSS Global Reset 1023 0 00 1023 0 ResetP variables and Q variables values MO 1023 gt MO 1023 0 Reset M variables definitions and values UNDEFINE ALL Undefine Coordinate Systems SAVE Save this initial clean configuration 2 Define the safet
18. 0B14 2 1 M642 gt Y 0BD4 2 1 742 gt 0 94 2 1 842 gt 0054 2 1 Amplifier fault error bit M143 gt Y 0814 3 1 M243 gt Y 08D4 3 1 343 gt 0994 3 1 M443 gt Y 0A54 3 1 M543 gt Y 0B14 3 1 M643 gt Y 0BD4 3 1 743 gt 0 94 3 1 M843 gt Y 0D54 3 1 Home complete bit M145 gt Y 0814 10 1 M245 gt Y 08D4 10 1 M345 gt Y 0994 10 1 445 gt 0 54 10 1 M545 gt Y 0B14 10 1 M645 gt Y 0BD4 10 1 M745 gt Y 0C94 10 1 M845 gt Y 0D54 10 1 Motor Move Registers Motor 1 Motor 2 Motor 3 Motor 4 Motor 5 Motor 6 Motor 7 Motor 8 Commanded position 1 Ix08 32 cts M161 gt D 0028 M261 gt D 0064 M361 gt D 00A0 M461 gt D 00DC M561 gt D 0118 M661 gt D 0154 M761 gt D 0190 M861 gt D 01CC Actual position 1 Ix08 32 cts 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 Target end position 1 Ix08 32 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 Position bias 1 Ix08 32 cts 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 X axis target position
19. 5 a Se SS Tome 3 3000 gt user_uniis 20000 5 0 p 208 unis 3001566 15000 24 units 00 02 04 08 08 10 12 14 18 1190 msec 3 3000 7 CLOSE Page 53 5 0 Motion Programs 5 10 Other programming features 5 10 1 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 allows running motion programs larger than the available space in PMAC s memory Motion Program in a Text File PMAC s memory 15 M Py LEE Portion of the 22477775 E Rotary buffer PER Host reads the file Code is sent to from the hard drive PMAC s buffer Communication routines provided by Delta Tau have the necessary code to implement this feature in a host computer 5 10 2 Internal Timebase 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 18 set at default this parameter could be changed by different means n where 0 lt 100 Online or CMD command that runs all motion commands in slow motion wherel00 lt n lt 225 Online or CMD command that runs all motion commands proportionally faster 0 Online or CMD command that freezes all motions and timing in that C S 99100 Online or CMD command that restores the real time refe
20. 6 4 Conditional Statements Most action in a PLC program is conditional dependent on the state of PMAC variables such as inputs outputs positions counters etc You may want your action to be level triggered or edge triggered both can be done but the techniques are different 6 4 1 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 1 1 1 ENDIF As long as the input is true P1 will increment several hundred times per second When the input goes false P1 will stop incrementing 6 4 2 Edge Triggered Conditions Suppose instead that you only want to increment P1 once for each time M11 goes true triggering on the rising edge of M11 sometimes called a one shot latched do this we must get a little more sophisticated We need a compound condition to trigger the action then as part of the action we 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 1s only taken when the shadow variable does not match the input variable Our code could become M11 1 11 0 1 1 1 11 1 ENDIF ELSE 11 0 ENDIF Notice that we had to make sure that P11 could follow M
21. 8 388 607 4194304 1 16 count Motor x Deadband Gain 32 768 32 767 0 no deadband none Motor x Deadband Size 0 32 767 16 1 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 Motor x DAC Limit Commutation I Variables 0 32 767 Range 20 480 6 25V Default DAC bits Units Motor x Number of Commutation Cycles 0 255 1 Commutation cycles Motor x Counts N Commutation Cycles 8 388 607 1000 Counts Motor x Commutation Phase Angle 85 120 e 360 256 elec deg 1 256 commutation cycle Motor x Phase Finding Value 0 0 255 0 32 767 bits of 16 bit DAC Motor x Phase Finding Time 0 255 Servo Interrupt Cycles for Ix80 0 or 1 Servo Interrupt Cycles 256 for 80 2 or 3 Motor x Power On Phase Position Offset 8 388 608 8 388 607 Encoder counts Ix70 Motor x Velocity Phase Advance Gain 0 8 388 607 Angle Vel Motor x Magnetization Current 32 768 32 767 DAC bits Motor x Slip Gain 0 8 388 607 27 electrical cycles update DAC bit Motor x 2nd Phase DAC Bias 32 768 32 767 DAC bits Motor x Power On Mode 0 3 none Motor x Power On Phase Position Address PMAC addresses Extended PMAC or multiplexer port addresses
22. 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 7 3 1 General 1 Is the green LED power indicator on PMAC s CPU board ON as it should be If it is not find out why PMAC is getting a 5V voltage supply 2 Isthered LED watchdog timer indicator on PMAC s CPU board OFF as it should be If it is ON make sure PMAC is 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 Ifthe voltage is satisfactory inspect PMAC to see that all inter board connections and all socketed ICs are well seated If you cannot get the card to run with the red LED off contact the factory 7 3 2 Bus Communications 1 Do the bus address jumpers E91 E92 E66 E71 set an address that matches the bus address that the Executive program 18 trying to communicate with 2 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 Address 768 300 hex is usually open 7 3 3 Serial communications l Are you using the proper port on PC Make sure if the Executive program is addressing the COMI port that you have cabled out of the COMI connector 2 Does the baud rate specified in the Executive program match the baud rate setting of the E
23. Range 0 Default DAC Bits Units Motor x Proportional Gain 8 388 608 8 388 607 2000 Ix08 2 DAC bits Encoder count Motor x Derivative Gain 8 388 608 8 388 607 1280 1 30 1 09 22 DAC bits Counts cycle Motor x Velocity Feed Forward Gain 0 8 388 607 1280 1 30 1 08 22 DAC bits Counts cycle Motor x Integral Gain 0 8 388 607 Ix30 1x08 27 DAC bits counts cycles Motor x Integration Mode 05 none Motor x Acceleration Feed Forward Gain 0 8 388 607 Ix30 1x08 276 DAC bits counts cycle Motor x PID Notch Filter Coefficient N1 2 0 2 0 none actual z transform coefficient Motor x PID Notch Filter Coefficient N2 2 0 2 0 none actual z transform coefficient Motor x PID Notch Filter Coefficient D1 2 0 2 0 none actual z transform coefficient Motor x PID Notch Filter Coefficient D2 2 0 2 0 none actual z transform coefficient Motor x Extended Servo Loop I Variable Motor Servo Loop Modifiers Range Default Units Motor x Continuous Current Limit 0 32 767 0 Bits of a 16 bit DAC Motor x Integrated Current Limit 0 8 388 607 0 2 DAC bits servo cycles Motor x User Written Servo Enable 0 3 0 none Motor x Servo Cycle Period Extension 0 255 0 Servo Interrupt Periods Motor x Integration Limit 8 388 608
24. amp lblr Example T13 10 Move Segmentation Time NORMAL K 1 plane INC Incremental End Point definition INC R Incremental Center Vector definition CIRCLE 1 Clockwise circle X20 YO 110 JO Arc move Start 0 0 End 20 0 Page 51 5 0 Motion Programs 5 8 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 particularly suited 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 is split into equal time segments each of TA time Each axis is given a 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 is 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 only work with integer millisecond values for the TA segment times If a non integer value is specified for the TA time PMAC will automatically round it to the nearest integer It will not report an error This rounding will change the speeds and times for the trajecto
25. axis is a letter specifying the axis the first data is a value specifying the end position or the piece distance depending on whether the axis is in absolute or incremental mode respectively and the second data is a value representing the ending velocity 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 the user can specify directly or indirectly a non zero end velocity for the move it is not a good idea to step through a program of transition point moves and great care must be exercised in downloading these moves in real time With the use ofthe 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
26. 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 the subprogram does not have to be at the beginning the statement CALL 20 15000 causes entry into Program 20 at line N15000 GOSUBs and CALLs can be nested only 15 deep The CLOSE statement closes the currently OPENed buffer This should be used immediate 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 P1 0 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 automatically appends a RETURN statement to the end of the open program buffer If any PROGRAM or PLC in PMAC is improperly structured e g no ENDIF ENDWHILE to match an IF or WHILE PMAC will report an ERROO3 at the CLOSE command for any buffer until the problem 16 fixed close Close any buffer opened delete gather Erase unwanted gathered data undefine all Erase coordinate definitions in all coordinate systems 1 gt 2000X Motor 1 is defined as axes X OPEN PROG 1 CLEAR Open buffer to be written
27. mount c c 2 Dual ported for 8 16 high speed X X X X X X X X X 2 Dual ported RAM for PC 8Kx16 high speed RAM on board CX X OPT 2V On board dual ported RAM X X X C X X X X C X X OPT 2VL On board dual ported RAM X X X X X X X X C IOPT 9L RS232 to RS422 converter x Dax tee ae DIESE Compatible w Turbo Version N Compatible w non Turbo Version 2 8 Description lt gt lt gt T 5 3 32 2 4 Additional manual PMAC PMAC2 Family User s Manual amp Software Reference ACC 4A2 Additional manual PMAC2 User s Manual XIXIXIXIXICICICIC C C ACC 4L Additional manual PMAC Lite Hardware Reference A A ACC 4L2 Additional manual PMAC2 Lite Hardware Reference X X X xX X X X ACC 4M Additional manual Mini PMAC Hardware Reference X X X X X X X X ACC 4M2 Additional manual Mini PMAC2 Hardware Reference X X XX X X 5 ACC 4P Additional manual PMAC PC Hardware Reference X X CX X XX X X 4 2 Additional manual PMAC2 PC Hardware Reference X X X X X X X X X ACC 4PL2 Additional manual PMAC2 PC Ultralite Hardwar
28. possible values The command I3 5 would actually assign a value of 5 modulo 4 1 to the variable On PMACS with battery backed RAM most of the I variable values can be stored in a 2K x 8 EEPROM IC with the SAVE command 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 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 in 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 ofthe I variable values can be stored in the flash memory with the SAVE command If there is an EEPROM IC on the board it is 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 in the manufacturer supplied firmware They can be used individually with the I constant command or in a range with 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 The
29. the background tasks for time The first thing you will notice 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 A Although it is very rare for a motion program to cause a watchdog failure this does happen on occasion If you have empty no motion loop the motion program acts much like a PLC 0 during this period These empty loops which are usually used to wait for a certain condition provide very 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 you can run into serious background time limitations 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 tis 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
30. 24 S M671 gt X 016D 0 24 S M771 gt X 01A9 0 24 S 871 gt 01 5 0 24 5 Variable jog position distance counts M172 gt L 082B M272 gt L 08EB M372 gt L 09AB M472 gt L 0A6B M572 gt L 0B2B M672 gt L 0BEB M772 gt L 0CAB M872 gt L 0D6B Encoder home capture offset counts M173 gt Y 0815 0 24 S M273 gt Y 08D5 0 24 S M373 gt Y 0995 0 24 S 473 50 55 0 24 5 573 gt 0 15 0 24 5 M673 gt Y 0BD5 0 24 S M773 gt Y 0C95 0 24 S M873 gt Y 0D55 0 24 S filtered actual vel 1 Ix09 32 cts servo cycle 174 5082 0 24 5 M274 gt Y 08EA 0 24 S M374 gt Y 09AA 0 24 S M474 gt Y 0A6A 0 24 S M574 gt Y 0B2A 0 24 S 674 gt 0 0 24 5 774 gt 0 0 24 5 874 gt 006 0 24 5 Motor 1 following error 1 Ix08 32 cts M175 gt D 0840 M275 gt D 0900 M375 gt D 09C0 M475 gt D 0A80 M575 gt D 0B40 M675 gt D 0C00 M775 gt D 0CCO M875 gt D 0D80 Coordinate System Status Bits Coordinate System 1 Coordinate System 2 Coordinate System 3 Coordinate System 4 Coordinate System 5 Coordinate System 6 Coordinate System 7 Coordinate System 8 Program running bit M180 gt X 0818 0 1 280 gt 0808 0 1 380 gt 0998 0 1 480 gt 0 58 0 1 M580 gt X 0B18 0 1 M680 gt X 0BD8 0 1 M780 gt X 0C98 0 1 M880 gt X 0D58 0 1
31. 322 gt 008 22 1 M422 gt X C00C 22 1 M522 gt X C010 22 1 M622 gt X C014 22 1 M722 gt X C018 22 1 M822 gt X C01C 22 1 FAULT input status 123 gt 000 23 1 223 gt 004 23 1 323 gt 008 23 1 423 gt 006 23 1 523 gt 010 23 1 623 gt 014 23 1 723 gt 018 23 1 823 gt 016 23 1 Motor Status Bits Motor 1 Motor 2 Motor 3 Motor 4 Motor 5 Motor 6 Motor 7 Motor 8 Stopped on position limit bit M130 gt Y 0814 11 1 M230 gt Y 08D4 11 1 M330 gt Y 0994 11 1 M430 gt Y 0A54 11 1 M530 gt Y 0B14 11 1 M630 gt Y 0BD4 11 1 M730 gt Y 0C94 11 1 M830 gt Y 0D54 11 1 Positive end limit set bit 131 gt 0030 21 1 231 gt 0079 21 1 M331 gt X 00B5 21 1 431 gt 00 1 21 1 531 gt 0120 21 1 M631 gt X 0169 21 1 731 501 5 21 1 M831 gt X 01E1 21 1 Negative end limit set bit 132 gt 0030 22 1 232 gt 0079 22 1 M332 gt X 00B5 22 1 432 gt 00 1 22 1 532 gt 0120 22 1 632 gt 0169 22 1 732 gt 01 5 22 1 832 gt 01 1 22 1 Desired velocity zero bit M133 gt X 003D 13 1 M233 gt X 0079 13 1 M333 gt X 00B5 13 1 433 gt 00 1 13 1 M533 gt X 012D 13 1 M633 gt X 0169 13 1 M733 gt X 01A5 13 1 M833 gt X 01E1 13 1 Dwell in pr
32. File downloaded Uploaded translated PMAC code Hdefine PUMP P1 OPEN PLC1 CLEAR OPEN PLC 1 CLEAR PUMP 1 1 1 DISABLE DISPLC1 CLOSE CLOSE Make sure the Support MACRO s PLCCs option is checked before downloading The MACRO must be defined before it could be used In general MACRO definitions are at the beginning of the text file MACROs must be up to 255 valid ASCII characters and cannot have spaces in between the underscore is suggested in place of a space The MACRO definitions or any PMAC code could be placed in a separate file and be included with a single line in the text file The file name must be complete of a full path in order for PEWIN to find it Example include c deltatau files any pmc 2 7 Downloading compiled PLCCs PLCCs are compiled by PEWIN in the downloading process Only the compiled code gets downloaded to PMAC Therefore it is suggested to 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 If a single PLCC code is downloaded all the rest PLCCs that might have been present in memory will be erased remaining only the last compiled code The mu
33. LINEAR INC 100 TSO X1 CLOSE Linear interpolation Incremental mode Acceleration time is 100 msec No S curve acceleration component Feedrate is 50 Units per 90 msec Oneunit of distance 2000 encoder counts Close written buffer program one Page 43 5 0 Motion Programs 5 4 Running a MOTION PROGRAM 1 2 3 4 5 6 7 8 9 Select the Coordinate System where the motion program will be running under This 1 done by issuing the command amp followed by the coordinate system number like amp 1 for the coordinate system one Select the program that you want to run with the B constant command where the constant represents the number of the motion program buffer You must use the B command to change motion programs and after any motion program buffer has been opened You do not have to use it if you are repeatedly running the same motion program without modification when PMAC finishes executing a motion program the program counter for the coordinate system is automatically set to point to the beginning of that program ready to run it again Once you are pointing to the motion program you wish to run you may issue the command to start execution of the program If you wish continuous execution of the program use R command lt CTRL R gt for all coordinate systems simultaneously The program will execute all the way through unless stopped by command or error con
34. Report command line checksum ASCII Value 14D 0E lt CONTROL O gt Feed hold on all coordinate systems ASCII Value 15D 0F lt CONTROL P gt Report positions of all motors ASCII Value 16D 10 lt CONTROL Q gt Quit all executing motion programs ASCII Value 17D 11 lt CONTROL R gt Begin execution of motion programs in all coordinate systems ASCII Value 18D 12 lt CONTROL S gt Step working motion programs in all coordinate systems ASCII Value 19D 13 lt CONTROL T gt Toggle serial port half full duplex mode ASCII Value 20D 14 lt CONTROL U gt Open rotary program buffer s ASCII Value 21D 15 lt CONTROL V gt Report velocity of all motors ASCII Value 22D 16 lt CONTROL W gt Take command line from dual ported RAM ASCII Value 23D 17 lt CONTROL X gt Cancel in process communications ASCII Value 24D 18 lt CONTROL Y gt Report last command line ASCII Value 25D 19 lt CONTROL Z gt Set PMAC in serial port communications mode ASCII Value 26D 1A Report currently addressed motor constant Address a motor constant constant gt Report the specified motor s coordinate system axis definition constant gt Clear axis definition for specified motor constant gt 0 constant gt axis definition Assign an axis definition for the specified motor constant gt 0 constant gt axis definition Reset motor F
35. Try increasing it as long as stability is kept b Is your big step limit Ix67 too low Try increasing it to 8 000 000 near the maximum to eliminate any effect Is your output limit 1569 too low Try increasing it to 32 767 the maximum to make sure PMAC can output adequate voltage d Can an integrator help Try increasing integral gain 1533 to 10 000 or more and the integration limit 1563 to 8 000 000 3 Runaway condition Check the following 2 Do you have feedback Check that you can read position changes in both directions b Does your feedback polarity match output polarity Recheck the polarity match as explained above 4 Brief movement then stop Check the following a Are you tripping your following error limit Increase the fatal following error limit Ix11 by setting it to a more appropriate value and try to move again If you are holding position well but cannot move the motor you probably do not have your hardware limits 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 your ammeter in series with this circuit 1 you need to confirm this Refer to the section Installing and Configuring for details on checking the limit inputs If your motor dies after you give it a jog command you have probably exceeded your fatal following error limit If t
36. and more move planning calculations are required In the execution of a motion program if PMAC finds two jumps backward toward 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 1 6 6 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 All 5 programs checked C S program running No Y 1 0 Introduction to PMAC Enabled PLCO Enabled PLCCO decrement the Yes watchdog register 8
37. breakout board X X X X XC X X ACC 3U1 1 5m 5 terminated glass optical fiber cable XX X X XX C C z ACC 3U2 5m 15 terminated glass optical fiber cable 228 2 m ACC 3U3 8m 28 terminated glass optical fiber cable X X X X X XX C C ACC 3U4 Custom length terminated glass optical fiber cable X X X X X X X C C 3 ACC 42P2 MACRO Interface Board for PMAC2 PC X X 42 MACRO interface board for PC Bus amp JEXP port cA X X 5 43 MACRO developer s kit o i OPT A Fiber optic interface X X X X X X C C OPT C RJ 45 cable interface X X X X X X X X X C C ACC 16D Control panel box with switches display handwheel V F converter X X X X ACC 22 Extended warranty to 2 years from date of purchase C ACC 31 4 axis demo unit purchase PMAC must be purchased separately XXX 7 ACC 31L 4 axis demo unit carrying case lease 2 week min C C CX X XX X X 40 On site field service training 2 day 16 hr minimum plus lodging travel cost amp time vo gt 41 Servo training system torsional bar diskette mechanism PMAC not included X X X X X X X X X ACC 41B Servo training system mass spring damper mechanism PMAC not included X X X X X X X X X X C Compa
38. cross assembled for the 56000 Page 34 4 0 Programming PMAC 4 4 Memory processor is the Motorola 56001 DSP The 56001 have 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 is 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 is mapped 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 The user may specify PMAC addresses with either decimal or hexadecimal values the hex values must be preceded by a to be interpreted as hex For example Y FFCO is the hexadecimal specification and Y 65472 18 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
39. done using the defines arrow gt composed of the minus sign and greater than symbols An M variable may take one of the following types as specified by the address prefix in the definition 1 to 24 bits fixed point in X memory 1 to 24 bits fixed point in Y memory 48 bits fixed point across both X and Y memory 48 bits floating point across both X and Y memory Di O FH o Page 31 4 0 Programming PMAC DP 32 bits fixed point low 16 bits of X and Y for use in dual ported RAM F 32 bits floating point low 16 bits of X and Y 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 No address definition uses part of the definition word as general purpose variable If an X or Y type of M variable is defined you must also define the starting bit to use the number of bits and the format decoding method Typical M variable definition statements are M1 gt Y FFC2 8 1 MIO2 2Y 49155 8 16 95 103 50003 0 24 5 M161 gt D 002B M191 gt 1L 50822 M50 gt DP SD201 M51 gt F SD7FF MIOO0 2IWD 4 0 8 23 U 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 contain
40. engineering units M165 gt L 081 F 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 gt L 081D Actual velocity 1 Ix09 32 cts cyc M166 gt X 0033 0 24 S 266 gt 006 0 24 6 M366 gt X 00AB 0 24 S 466 gt 00 7 0 24 5 566 gt 0123 0 24 5 666 gt 015 0 24 5 M766 gt X 019B 0 24 S M866 gt X 01D7 0 24 S Present master handwheel pos 1 Ix07 32 cts M167 gt D 002D M267 gt D 0069 M367 gt D 00A5 M467 gt D 00E1 M567 gt D 011D M667 gt D 0159 M767 gt D 0195 M867 gt D 01D1 Filter Output DAC bits M168 gt X 0045 8 16 S 268 gt 0081 8 16 5 M368 gt X 00BD 8 16 S M468 gt X 00F9 8 16 S M568 gt X 0135 8 16 S M668 gt X 0171 8 16 S M768 gt X 01AD 8 16 S 868 gt 01 9 8 16 5 Compensation correction 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 Present phase pos includes fraction in Y register 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 M870 gt D 01E5 Present phase position counts Ix70 171 gt 0041 0 24 5 M271 gt X 007D 0 24 S M371 gt X 00B9 0 24 S M471 gt X 00F5 0 24 S M571 gt X 0131 0
41. 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 Matrix Axis Definition A rotates about X B about Y C about Z Matrix Axis Transformation Position Rollover Ix27 Circular Interpolation Cutter Radius Compensation U V W Traditionally Secondary Linear Axes Matrix Axis Definition Page 42 5 0 Motion Programs 5 3 Writing MOTION PROGRAM 1 2 3 4 5 6 7 8 9 10 Example Open a program buffer with OPEN PROG constant where constant is an integer from 1 to 32767 representing the motion program to be opened Motion Programs 1000 1001 1002 and 1003 could contain G codes M codes T codes and D codes for machine tool G codes or RS 274 programming method Still these buffers could be used for general PMAC code programming as long as G codes programming is not needed in PMAC 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 mo
42. from the other versions of PMAC Its JOPT connector J4 the base board has 24 I O individually selectable software as inputs or outputs 1 4 6 Machine Connectors The primary machine interface connector is 1 78 on 1 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 is JMACH2 J7 on PMAC PC P2A on PMAC VME J4 on the middle board of an 8 channel PMAC STD not available on a PMAC Lite It is essentially identical to the JMACH1 connector for one to four more axes It is only present if the PMAC card has been fully populated to handle eight axes Option 1 because it interfaces the optional extra components 1 4 7 LED Indicators PMACs with the Option CPU have 3 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 18 applied to the 5V input when the red LED 1s lit this indicates that the watchdog timer has tripped and shut down the 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 1s operational and stable This indicator is for diagnosti
43. interface 2 axis requires ACC 8T for connections to PMAC2 E ACC 29 Converter MLDT magnetostrictive linear displacement transducer 4 channel 1 6 P P 5 36 16 Channel 12 bit A D converter board mountable in ISA Bus SEITE IE DE SIE SZ C ml 36 16 Channel 12 bit A D converter board mountable VME Bus Ep Rn Pe En En 39 Handwheel encoder converter board w 60 cm 24 cable to JPAN Ce ES P 9 49 Sanyo Absolute Encoder interface amp Sy roo LE 51 High resolution sinewave encoder interpolator for 2 encoders 4096 states line PCI bus form factor 6 Handwheel encoder HEDS 7501 with 15 cm 6 cable Gol Ge be Ge rere 1 6 1 6 oc ACC 8D OPT 6 Option 6 Quad 3 channel encoder isolate board with 4 40 cm 16 cables to ACC 8D 8E 8F Cc X ger ACC 8D OPT 7 R to D converter 2 channels 12 bit fixed resolution CICICICICICICICIC ACC 8D OPT 7 OPT A R to D converter 2 additional channels 4 total X X 5 ACC 8D OPT 8 Analog encoder interpolator board 128x 256x 1 encoder 110 1 6 Gg X X o ACC 8D OPT 9 Yaskawa absolute encoder interface board X X OPT 12 on board 8 Channels 12 bit A D converters X C X OPT 12A on board 8 Extra cha
44. 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 15K 15 360 24 bit words of PMAC memory or 14K 14 336 words if there is a user written servo as well n 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 Most of the housekeeping functions are safety checks such as following error limits and overtravel limits Since compiled PLCCs are executed at the same rate as the housekeeping functions code to complement or replace these functions could be placed in a compiled PLCC If for example an extra input flag is desired 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 Onpower up reset PLC programs are executed seque
45. 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 diagram PVT Segment Shapes below 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 2nd and 3rd order B splines respectively which pass to the inside of programmed points Compared to PMAC s SPLINE mode PVT produces a more accurate profile Page 52 5 0 Motion Programs vel Axis Letter Vet Distance P in user end velocity V in 1190 units calculated user_units per from this page 190 msec t Time E Time t Time ve ve vel Time t Time vel A vel A 5 V 1 vel V V 6 490 Vo 2 2 Vet V 6 1190 A Time t Time Replace 1190 for the appropriate x90 variable according to coordinate system Example leve close delete gather undefine all 120000 581 1 gt 2000X OPEN PROG 1 CLEAR SE INC 60000 PVT300 Time is 300 msec per section dere 50user_units 300msec 15000 20000
46. 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 that you need to watch for The ATAN2 two argument arctangent function automatically uses QO as its second argument the cosine argument The READ command places the values it reads following letters A through Z in Q101 to Q126 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 8 Coordinate Systems 128 variables each the practical range of the Q variables to be safely used in motion programs is therefore Q1 to Q99 The set of Q variables you are working with in a command depends on the type of command When you are accessing a Q variable from an on line immediate command from the host you are working with the Q variable for the currently host addressed coordinate system with the amp n command When you are accessing a Q variable from a motion program statement you are working with the Q variable belonging to the coordinate system running the program If a different coordinate system runs the same motion program it will use different Q variables When you are accessing a Q vari
47. last saved values are not lost they are just not used Page 30 4 0 Programming PMAC 4 3 2 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 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 variables which are coupled to a given coordinate system below 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 you send the command 342 CR to PMAC it will interpret it as PO 342 lt CR gt 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 4 3 3 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 1s utilizing
48. matrix TINIT PROG ROT Set Move Time TM data PROG ROT Set S Curve Acceleration Time TS data PROG ROT Select active transformation matrix for X Y and Z axes TSELECT constant PROG ROT U Axis Move U data PROG ROT V Axis Move V data PROG ROT W Axis Move Widata PROG ROT Suspend program execution WAIT PROG ROT Conditional looping WHILE condition Motion or PLC Conditional looping WHILE condition action PROG ROT X Axis Move X data PROG ROT Y Axis Move Y data PROG ROT Z Axis Move PROG ROT Page 2 of 2 Registers associated with Encoder DAC Motor 1 Appendix 5 Motor Suggested M variable Definitions Motor 2 Motor 3 Motor 4 Motor 5 Motor 6 Motor 7 Motor 8 ENC 24 bit counter position M101 gt X C001 0 24 S M201 gt X C005 0 24 S M301 gt X C009 0 24 S 401 gt 000 0 24 5 M501 gt X C011 0 24 S M601 gt X C015 0 24 S M701 gt X C019 0 24 S M801 gt X C01D 0 24 S DAC 16 bit analog output M102 gt Y C003 8 16 S M202 gt Y C002 8 16 S M302 gt Y C00B 8 16 S M402 gt Y C00A 8 16 S M502 gt Y C013 8 16 S M602 gt Y C012 8 16 S M702 gt Y C01B 8 16 S M802 gt Y C01A 8 16 S ENC capture compare position register M103 gt X C003 0 24 S M203 gt X C007 0 24 S M303 gt X C00B 0 24 S 403 gt 00 0 24 5 M503 gt X C013 0 24 S M603 gt X C017 0 24 S M703 gt X C01B 0 24 S 8
49. of the error message is BELL CR error message This setting 15 appropriate for use with the PMAC Executive Program in terminal mode Currently the following error messages can be reported ERROO1 Command not allowed during should halt program execution before program execution issuing command should enter the proper password ERROO3 Data error or unrecognized should correct syntax of command command ERROO4 Illegal character bad value gt 127 should correct the character and or ASCID or serial parity framing check for noise on the serial cable error ERROO5 Command not allowed unless should open a buffer first ERROO6 No room in buffer for command should allow more room for buffer mE DELETE or CLEAR other buffers ERROO7 should CLOSE currently open buffer first ERROOS MACRO Link error Register X 0798 holds the error value ERROO9 Program structural error e g should correct structure of program ERRO10 Both overtravel limits set for a should correct or disable limits ERRO11 should Abort it or allow it to complete ERRO12 A motor in the coordinate system should close the loop on the motor is open loop ERRO13 A motor in the coordinate system should set to 1 or remove motor ee TT ERRO14 No motors in the coordinate should define at least one motor in M dmm buffer out scrambled buffers Running improperly structured should correct structure of program pro
50. passed successfully bit 0 is 1 if an A argument has been passed bit 1 is 1 if a B argument has been passed and so on with bit 25 set to 1 ifa 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 2000X open progl clear LINEAR INC TA100 TSO F50 Mode and timing parameters gosub 100 10 Subroutine call passing parameter H with value 10 return End of the main program section execution ends 11100 Subroutines section First subroutine labeled 100 read h Read the parameter value passed IF 0100 amp 80 gt 0 If the 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 5 5 2 G M T and D Codes Machine Tool Style Programs PMAC permits the execution of 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 his own machine but it requires the manufacturer to do the actual implementation of the subroutines that will execute the desired actions When encounters the letter G with a value in a motion program it treats the command as a CALL to motion program 10n0 where n is the hundreds digit of the value The value without the hundred s d
51. port or host port PC or STD is the highest priority in PMAC This task takes only 200 nsec per character but having it at this high priority ensures that the host cannot outrun PMAC on a character by character basis This task is never a significant portion of PMAC s total calculation time Note that this task does not include processing a full command that happens at a lower priority see background tasks below m IT J lals E Ge E conection aii d 1 6 2 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 is 9 kHz 110 usec cycle At the default the commutation of each motor takes approximately 3 of PMAC s computational power Algorithm DAC 2 DAC 1 Commutation 1 6 3 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 PMAC 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 frequency of this task 1s determined by
52. 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 some actual action The most common control character used 18 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 4 1 Online Commands Many of the commands given to PMAC are on line commandis that is they are executed immediately by PMAC either 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 1000 Y1000 cannot be on line commands there must be an open buffer even if it is a special buffer for immediate execution These commands will be rejected by PMAC reporting an ERROOS 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 motor specific commands which affect only the motor that is currently addressed by the host coordinate system specific commands which affect only the coordinate system that is currently addressed by the host
53. slave variable MS node slave variable MACROSLV node slave var const Set Type 1 MACRO auxiliary parameter value MACROSLAVE node slave variable constant MS node slave variable constant MSR node slave variable PMAC MACROSLVREAD Read copy Type 1 MACRO auxiliary parameter value MACROSLVREAD node slave variable PMAC variable variable MSWinode slave variable PMAC MACROSLVWRITE Write copy Type 1 MACRO auxiliary parameter value MACROSLVWRITEInode slave variable PMAC variable variable MFLUSH Clear pending synchronous M variable assignments MFLUSH Of constant Open loop output Of constant OPEN PLC Open a PLC program buffer for entry OPEN PLC constant OPEN PROGRAM Open a fixed motion program buffer for entry OPEN PROGRAM constant OPEN PROG constant OPEN ROTARY Open all existing rotary motion program buffers for entry OPEN ROTARY OPEN ROT P Report motor position P P constant Report the current P variable value s P constant constant P constant expression Assign a value to a P variable P constant constant expression PAUSE PLC Pause specified PLC program s PAUSE PLC constant constant PAU PLC constant constant PASSWORD string Enter Set Program Password PASSWORD string PC Report Program Counter PC PE Report Program Execution P
54. 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 K 1 XY plane equivalent to G17 NORMAL J 1 ZX plane equivalent to G18 NORMAL I 1 YZ plane equivalent to G19 5 To put the program in circular mode use the program command CIRCLE1 for clockwise arcs G02 equivalent or CIRCLE2 for counterclockwise arcs 003 equivalent LINEAR will restore you to linear blended moves Once in circular mode a circular move 1s 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 6 Ifthe vector method of locating the arc center is used the vector is specified by its I J and K components specifies the component parallel to the X axis J to the Y axis and K to 7 axis This vector can be specified as a distance from the starting point 1 6 incrementally or from the XYZ origin 1 6 absolutely The choice is made by specifying R in ABS or INC statement e g
55. 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 isolation In this case no new connections need to be made However you should be sure jumpers E85 E87 E88 E89 and E90 are set up for this circumstance The card is not shipped from the factory in this configuration 3 5 3 Flags Power Supply optional Each channel of PMAC has four dedicated digital inputs on the machine connector LIMn LIMn overtravel limits home flag and FAULTn amplifier fault In most PMACS these inputs can be kept isolated from other circuits A power supply from 12 to 24 Volts could be used to power the corresponding opto isolators related to these inputs This feature is not available in the PMAC PC without Option 1 PMAC VME or the PMAC STD board 3 6 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 Page 21 Installing and Configuring PMAC 3 6 1 Disa
56. this register in counts P169 M169 1108 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 Important for the capture compare features Example If M117 1 P103 M103 M173 Captured position minus offset endif 174 gt 082 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 good for display purposes To read this register in cts msec P174 M174 8388608 1109 32 110 1160 1 M175 gt D 0840 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 M161 M162 M164 M169 M175 M167 1108 32 P176 To read this register in counts P176 MI75 I108 32 Page 38 4 0 Programming PMAC 4 7 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 If a home search procedure in not pe
57. to an l variable I constant constant INC Specify Incremental Move Mode INC INC axis axis J Adjust motor commanded position to nearest integer count J J Jog Positive J J Jog Negative J J Jog Stop J J constant Jog Relative to Commanded Position J constant J Jog to specified variable distance from present commanded position J Jog to Prejog Position J J constant Jog to specified position J constant J Jog to specified variable position J J constant Jog to specified motor position and make that position the pre jog position J constant J constant Jog Relative to Actual Position J constant J Jog to specified variable distance from present actual position J jog command constant Jog until trigger J constant J constant constant J constant constant JM constant constant J constant J constant J constant K Kill motor output K LEARN Learn present commanded position LEARN axis axis LRN axis axis LIST List the contents of the currently opened buffer LIST LIST COMP List contents of addressed motor s compensation table LIST COMP LIST COMP DEF List definition of addressed motor s compensation table LIST COMP DEF LIST GATHER Report contents of the data gathering buffer LIST GATHER start length LIS GAT start length LIST LDS List Linking Address
58. velocity a longer move could be performed split into two sections The first move will be executed using a suitable TA to get the motor to move from rest The second move will have a lower acceleration time TA in order to decrease the move time TM and so reach the programmed feedrate Programmed feedrate reached OPEN PROG 1 CLEAR LINEAR INC TSO F40 TA100 CLOSE Time ita 5 All the previous analysis was performed assuming a zero 5 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 No 5 curve with S curve Time _ LN 4 Page 49 5 0 Motion Programs 5 7 Circular Interpolation PMAC allows circular interpolation on the X Y and Z axes in a coordinate system As with linear blended moves TA and TS control the acceleration to and from a stop and between moves Circular blended moves can be either feedrate specified or time specified TM just as with linear moves It is possible to change back and forth between linear and circular moves without stopping This is accomplish by entering the command LINEAR when linear interpolation is needed and or CIRCLE2 for circular interpolation Starting point Starting point End point Y End point inc inc 805 j inc La
59. 0 A motion program could be stopped by sending a amp 1 or for simplicity a CTRL A command which will stop any motion taking place in PMAC 11 Ifthe motion of any axis becomes uncontrollable and is desired to be stopped a CTRL K command could be issued killing all the motors in PMAC disabling the amplifier enable line if connected However the motor will come to a stop in an uncontrollable way and might proceed to move due to its own inertia 12 A motion program could also be stop by issuing a CTRL Q command The last programmed moves in the buffer will be completed before the program quits execution It could be resumed by issuing an command alone without first pointing to the beginning of the buffer by the B command Page 44 5 0 Motion Programs 5 5 Subroutines and Subprograms It is possible to create subroutines and subprograms in PMAC motion programs to create well structured modular programs with re usable subroutines 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 The CALLx command in a motion program causes a jump to PROG x with a jump back to the command immediately following the CALL when a RETURN command is encountered If x is an integer the jump is to the beginning of PROG x if there is a fra
60. 03 gt 01 0 24 5 ENC interpolated position 1 32 104 gt 0720 0 24 5 204 gt 0721 0 24 5 304 gt 0722 0 24 5 404 gt 0723 0 24 5 504 gt 0724 0 24 5 604 gt 0725 0 24 5 704 gt 0726 0 24 5 804 gt 0727 0 24 5 ADC 16 bit analog input M105 gt Y C006 8 16 S M205 gt Y C007 8 16 S 305 gt 00 8 16 5 405 gt 00 8 16 5 M505 gt Y C016 8 16 S M605 gt Y C017 8 16 S M705 gt Y C01E 8 16 S M805 gt Y C01F 8 16 S EQU compare flag latch control 111 gt 000 11 1 211 gt 004 11 1 311 gt 008 11 1 M411 gt X C00C 11 1 M511 gt X C010 11 1 M611 gt X C014 11 1 M711 gt X C018 11 1 M811 gt X C01C 11 1 EQU compare output enable 112 gt 000 12 1 212 gt 004 12 1 312 gt 008 12 1 M412 gt X C00C 12 1 M512 gt X C010 12 1 M612 gt X C014 12 1 M712 gt X C018 12 1 M812 gt X C01C 12 1 EQU compare invert enable M113 gt X C000 13 1 M213 gt X C004 13 1 313 gt 008 13 1 M413 gt X C00C 13 1 M513 gt X C010 13 1 M613 gt X C014 13 1 M713 gt X C018 13 1 M813 gt X C01C 13 1 AENA DIR Output M114 gt X C000 14 1 M214 gt X C004 14 1 M314 gt X C008 14 1 M414 gt X C00C 14 1 M514 gt X C010 14 1 M614 gt X C014 14 1 M714 gt X C018 14 1 M814 gt X C01C 14 1
61. 11 both up and down We set P11 to 0 in a level triggered mode we could have done this edge triggered as well but it does not matter as far as the final outcome of the routine is concerned it is about even in calculation time and it saves program lines 6 5 WHILE Loops Normally a PLC program executes all the way from beginning to end within a single scan The exception to this rule occurs if the program encounters a true WHILE condition In this case the program will execute down to the ENDWHILE statement and exit this PLC After cycling through all of the other PLCs it will re enter this PLC at the WHILE condition statement not at the beginning This process will repeat as long as the condition is true 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 If we want to increment our counter as long as the input 1s true and prevent execution of the rest of the PLC program we could program WHILE 11 1 1 1 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 Page 59 6 0 PLC Programs 6 6 COMMAND and SEND statements One of the most common uses of PLCs is to start motion programs and Jog motors by means of c
62. 1ght channel configuration with a typical load of encoders The host computer provides the 5 Volts power supply in the case PMAC is installed in its internal bus With the board plugged into the bus it will automatically pull 5V power from the bus and it cannot be disconnected In this case there 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 na stand alone configuration when PMAC is not plugged in a computer bus it will need an external five volt 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 3 5 2 Analog Power Supply 0 3A 12 to 15V 4 5W 0 25 12 to 15V 3 8W Eight channel configuration The analog output circuitry on PMAC is 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 15 volts should be brought in on the A 15V line on pin 59 The negative supply 12 to 15V should be brought in on the A 15V line on pin 60 analog common important should be brought in on the 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
63. 22 DELTA TAU 1 Data Systems Inc 21314 Lassen Street Chatsworth CA 91311 Tel 818 998 2095 Fax 818 998 7807 www deltatau com 1 0 INTRODUCTION TO PMAC 1 1 About this manual 1 2 Description of PMAC 1 3 Types of PMAC 1 3 1 PMAC 1 PC or PMAC 1 VME features 1 3 2 PMAC PC 1 3 3 PMAC Lite 1 34 PMAC VME 1 3 5 PMAC STD 1 3 6 Mini PMAC 1 3 7 PMAC2 1 3 8 PMAC2 Ultralite 1 3 9 Turbo PMAC family 1 4 PMACY 1 connectors and indicators 1 4 1 Display Port Outputs JDISP Port 1 4 2 Control Panel Port I O JPAN Port 1 4 3 Thumbwheel Multiplexer Port I O JTHW Port 1 4 4 Serial Port Connection 1 4 5 General Purpose Digital Inputs and Outputs JOPTO Port 1 4 6 Machine Connectors 1 4 7 LED Indicators 1 5 Working with PMAC 1 5 1 Hardware Setup 1 5 2 Software Setup 1 5 3 Programming PMAC 1 6 PMAC Tasks 1 6 1 Single Character I O 1 6 2 Commutation Update 1 6 3 Servo Update 1 6 4 VME Mailbox Processing 1 6 5 Real Time Interrupt Tasks 1 6 6 Background Tasks 1 6 7 Observations 1 6 8 Priority Level Optimization 2 0 PMAC EXECUTIVE PROGRAM PEWIN 2 1 Configuring PEWIN 2 2 Quick Plot feature 2 3 Saving and retrieving PMAC parameters SS AAA 00 4 CO 14 14 2 4 The WATCH a
64. 221 gt X C004 21 1 M321 gt X C008 21 1 421 5000 21 Flag Type Motor 6 Motor 7 Motor 8 LIM input status M521 gt X C010 21 1 621 2 50014 21 1 721 gt 5 018 21 1 821 gt 01 21 1 LIM input status 122 gt 9 000 22 1 M222 2X C004 22 1 322 gt 008 22 1 M422 gt X C00C 22 1 HMFL input status 520 gt 9 010 20 1 620 gt 9 014 20 1 M720 2X C018 20 1 M820 gt X C01C 20 1 LIM input status M522 2X C010 22 1 M622 2X C014 22 1 722 gt 5 018 22 1 M822 gt X C01C 22 1 Open a Watch Window and press insert to enter the M variable number to watch Interacting with the switch or sensor monitor a change in the corresponding M variable A value of zero indicates that the 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 1 open instead 3 7 Motor signals connections 3 7 1 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 you do not have your PMAC plugged into a bus and drawing its 5V an
65. 6 1 M941 gt Y FFD1 17 1 M942 gt Y FFD1 18 1 M943 gt Y FFD1 19 1 M944 gt Y FFD1 20 1 M945 gt Y FFD1 21 1 M946 gt Y FFD1 22 1 M947 gt Y FFD1 23 1 Page of 1 Appendix 7 ACC 8D 8P pin out description 90 Ul 917 PMAC ACC 8D TERMINAL BLOCK BOARD RESERVED FOR OPTION 1 JPMAC PCBUS JiBeeeee japeeeee JA cocoon 2 4 989989988996 7 87 in 200 00 ZE LZ Ul 1872 Page 1 of 2 PIN4 SYMBOL FUNCTION PIN SYMBOL FUNCTION Please refer to the appropriate PMAC Hardware reference for connections and jumper descriptions Encoder Inputs Encoder Inputs 3 7 11 15 25 4 _ al mr oma Amplifier Amplifier 3 4 TT T5 e Encoder Inputs 2 6 10 14 Encoder Inputs 4 8 12 16 L3 cowwo c ACC 8D 8P Terminal Block connections Amplifier 2 6 10 14 Amplifier 4 8 12 16 2 6 10 14 4 8 12 16 Page 2 of 2
66. 7 39 39 41 41 42 42 42 43 44 45 45 45 46 47 S0 52 52 54 54 54 54 55 55 55 55 55 55 55 6 0 PLC PROGRAMS 6 1 Entering a PLC Program 6 2 PLC Program Structure 6 3 Calculation Statements 6 4 Conditional Statements 6 4 1 Level Triggered Conditions 6 4 2 Edge Triggered Conditions 6 5 WHILE Loops 6 6 COMMAND and SEND statements 6 7 Timers 6 8 Compiled PLC Programs 7 0 TROUBLESHOOTING SECTION 7 1 Resetting PMAC to factory defaults 7 2 The watchdog timer red LED 7 3 Establishing communications 7 3 1 General 7 3 2 Bus Communications 7 3 3 Serial communications 7 4 Motor parameters 7 5 Motion programs 7 6 PLC programs Appendix 1 PMAC error code summary Appendix 2 PMAC I variables summary Appendix 3 PMAC On Line Immediate Commands Appendix 4 PMAC program command specification Appendix 5 Motor Suggested M variable Definitions Appendix 6 Suggested M variable Definitions Appendix 7 ACC 8D 8P pin out description Appendix 8 PMAC Accessories and Options CGDM MM Version 2 2 57 58 58 58 59 59 59 59 60 60 61 63 63 63 64 64 64 64 65 65 66 1 0 Introduction to PMAC 1 1 About this manual This manual is intended for first time users of the motion control It is oriented to the PMAC 1 family of motion controls and it does not cover other PMAC families PMAC2 Turbo PMAC 1 Turbo PM
67. A4 E47 jumpers on PMAC 3 With a breakout box or oscilloscope make sure you see action on the transmit lines from the PC as you type into the Executive program If you do not there 1 a problem on the PC end 4 Probe the return communication line while you give PMAC a command that requires a response e g CONTROL F gt If there is no action you may have to change jumpers E9 E16 on PMAC to exchange the send and receive lines Ifthere is action but the host program does not receive characters you may have RS 232 receiving circuitry that does not respond at all to PMAC s RS 422 levels If you have another model of PC try using it as a test most models accept RS 422 levels quite well If you cannot get your computer to accept the signals you may need a level conversion device such as Delta Tau s Accessory 26 Page 64 7 0 Troubleshooting Section 7 4 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 b Do you have proper supply to A 15V A 15V and AGND Is your proportional gain 30 greater than zero d Can you measure any output at the DAC pin when an O command has been given Are you tripping your following error limit Increase the fatal following error limit Ix11 by setting it to a more appropriate value and try to move again 2 Movement but sluggish Check the following a Is proportional gain Ix30 too low
68. ABS or INC R This affects I J and K specifiers together ABS INC without arguments affect all axes but leave the vectors unchanged The default is for incremental vector specification Page 50 5 0 Motion Programs 7 PMAC s convention is to take the short arc path if the R value is positive and the long arc path if R is negative Ifthe value of R is positive the arc to the move endpoint is the short route lt 180 degrees Ifthe value of R is negative the arc to the move endpoint is the long route gt 180 degrees Example 2 circle 1 X20 Y10 R 10 Example 4 circle 1 X20 Y10 R10 Example 3 circle 2 X20 Y10 R 10 Example 1 circle 2 X20 Y10 R10 8 When performing a circular interpolation the individual axes describe a position Vs time profile close to a sine and cosine shape This 18 also true 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 could be set by the total move time given by TA TM Circular Interpolation close delete gather undefine all 1 2 gt 2000Y X 18 phantom open progl clear inc inc r ta300 tso tm1000 TA TM is period 113 10 normal k 1 X Y plane circlel clockwise 00 OF 04 06 05 12 14 18 18 20 22 24 25 The 565 0 yO 110 complete circle Mir 2C md ots Mir 2i md vel close
69. AC2 MACRO or UMAC The subjects illustrated could be used as a quick informative features description or as a roadmap for a more advanced learning through the main documentation It 1s strongly recommended to use this quick reference manual in conjunction with the following manuals gt Software Reference User s Manual Hardware References Accessory Manuals 1 2 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 1 4 Ports Flags 9 12 DACs 9 12 Gate Array Gate Array DACs 1 4 Encoders 9 12 Encoders 1 4 Motorola 56002 SSS Flags 5 8 Flags 13 16 Gate Array Cate Array 5 8 DACs 13 16 option 1 option 1 Encoders 13 16 Encoders 5 8 ACC 24 optional PMAC There are five hardware versions of PMAC the PMAC PC the PMAC Lite the PMAC VME the PMAC STD and the Mini PMAC 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 Motorola s Digital Signal Processor DSP DSP56k is the CPU for PMAC and it handles all the calculations for all eight axes The registers in PMAC s DSPGATE Gate Array ICs are mapped into the memory space of PMAC s processor Each DSPGATE contains four conse
70. APLC program can be opened while others are running Buffers must be defined from end of memory toward beginning Buffers must be deleted amp ROTARY from beginning of memory to end amp SROTARY TBUF Z BLCOMP DELETE 8BLCOMP 1TCOMP 8 ICOMP 1COMP Z8COMP UBUFFER Page 35 4 0 Programming PMAC 4 5 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 some detail to make the changes necessary to use other types of feedback to optimize their 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 4 5 1 Conversion Table Structure The Encoder Conversion Table has two columns one 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 user sets up the table by writing to the Y column and PMAC uses the Y column data to fi
71. B 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 RS 422 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 is optically isolated the accessory also helps prevent noise and ground loop problems If a cable needs to be made the easiest approach is to use a flat cable prepared with flat cable type connectors as indicated in the following diagrams DB 9 Female IDC 10 1 1 Do not connect wire 10 DB 25 Female IDC 26 1 1 e Do not connect wire 26 Page 19 Installing and Configuring PMAC 3 3 Establishing Host Communications Either the Executive or Setup program can be used to establish initial communications with the card Both programs have menus that allow you to tell the PC where to expect to find the PMAC and how to communicate with it at that location If you tell it to look for PMAC on the bus you must also tell it PMAC s base address on the bus this was set up with jumpers on PMAC If you tell it to look for PMAC on a COM port you must tell it the baud rate this was set up with jumpers switches on the PMAC Once you have told the program wher
72. BLE PLC n Toerase an uncompiled PLC program you must open the buffer clear the contents then close the buffer again This can be done with 3 commands on one line as in OPEN PLC 5 CLEAR CLOSE 6 2 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 6 3 Calculation Statements Much of the action taken by a PLC is 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 1 1 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 I1108 32 10000 COS 262 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 very frequently whoever needs access to this information e g host computer operator motion program can be assured of having current data Page 58 6 0 PLC Programs
73. Interface for the PMAC2 JIO port to OPTO22 type boards ACC 3D 3 meter 10ft RS232 or RS422 flat cable DB25 to IDC 26 9 xipuoddy Additional connectors for Daisychaining ACC 3D cable 16 maximum 15 6 apart ACC 3L 3 Meter 10 RS232 flat cable DB 9 female to IDC 10 female ACC 3L opt 1 Adapter for 3L cable male DB9 connector to female DB25 connector ACC 8D PMAC terminal block remote Must be specified with OPT P cable to PMAC ACC 8D PMAC terminal block remote Must be specified with OPT V cable to PMAC VME ACC 8DCE 1 4 channel fully shielded breakout board ACC 8DE 6U 4 Channel axis breakout board 6U Eurocard optically isolated encoder inputs ACC 8DP PMAC 1 4 channel panel mount breakout board with D Sub input connectors ACC 8D OPT 5 Rail mount for ACC 8D ACC 8D OPT P 40 cm 16 cable with 60 pin IDC connector ACC 8D OPT V 40 cm 16 cable with 96 pin DIN connector ACC 8DR U 4 Channel axis breakout board 6U Eurocard Dsub connector ACC 8T Supplemental flag multiplexer board needed also for ACC 28B connection to PMAC2 OPT 2 OPT A 50 pin 3 connector cable when more than one of these are used OPT 2 ACC 14 24 29 or 36 OPT 3V Extended VME front plate for additional 5 connectors mounted on front of panel OPT 3VG Enclosed plastic PLC style front plate OPT 7 Plate mounting f
74. SABLE PLC constant constant DIS PLC constant constant DIS PLC constant constant PROG ROT PLC Disable Compiled PLC Program s DISABLE PLCC constant constant DISABLE PLCC constant constant DIS PLCC constant constant DIS PLCC constant constant PROG ROT PLC EXCEPT PLCO PLCCO Display Text to Display Port DISPLAY constant message DISP constant message PROG ROT PLC Formatted Display of Variable Value DISPLAY constant constant constant variable DISP constant constant constant variable PROG ROT PLC Dwell for Specified Time DWELL data DWE data PROG ROT Start False Condition Branch ELSE Motion or PLC Start False Condition Branch ELSE action Motion Program Enable PLC Buffer s ENABLE PLC constant constant ENABLE PLC constant constant ENA PLC constant constant ENA PLC constant constant PROG ROT PLC Enable Compiled PLC Program s ENABLE PLCC constant constant ENABLE PLCC constant constant ENA PLCC constant constant ENA PLCC constant constant PROG ROT PLC Mark End of Conditional Block ENDIF ENDI Motion or PLC Mark End of Conditional Loop ENDWHILE ENDW Motion or PLC Set Move Feedrate Velocity F data PROG ROT Specify Feedrate Axes FRAX axis axi
75. THW Port The Thumbwheel Multiplexer Port or Multiplexer Port on the JTHW J3 connector has eight input lines and eight output lines 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 1 4 4 Serial Port Connection For serial communications use a serial cable to connect your PC s COM port to the PMAC s serial port connector J4 on PMAC PC Lite and VME on PMAC STD s bottom board Delta Tau provides cables for this purpose accessory 3D connects PMAC PC or VME to a DB 25 connector ACC 3L connects PMAC Lite to a DB 9 connector and 35 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 your particular setup 1 4 5 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 Accessory 21F is a six foot cable for this purpose The PMAC STD has a different form of this connector
76. WIN 1 Define a new device using the MOTIONEXE EXE application provided Motion Controls Motion control devices Pract 154 Port 210 nto DPRAM D4000 1 SER Baudrate 9600 Parity Mane HL Setup Add Remove Setup Her 2 Open PEWIN and select the Open Terminal pull down menu Select the device created in the previous step Executive File Configure View Status Plot Options Backup Tools Window Help Ze 7 4 Bi kl Ge PMAC O 1 166 087 471999 PIJAC File save commands PROG and PLC uploads Very useful online help file for PROG and PLC downloads PMAC commands and connectors PID Tuning tools P1Setup and P2Setup installed Variables setting tools PEWIN separately configuration Communications setup PMAC s memory backup save You are now talking to Motion and PLC status and restore functions NOTE The followi I V riabl fellpving Tv Motors and connectors status 163 1 Ctrl Z Echo Terminal PLOT Functions Watch Window Position Window 3 colors and different options could be set through the Preferences command present in the Options pull down menu It is also suggested to disable the automatic status reporting feature unchecking Enable Terminal Status Bar from the Terminal preferences Page 13 2 0 PMAC Executive program PEWIN 2 2 Quick Plot f
77. able from a PLC program statement you are working with 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 C S 1 4 3 4 M Variables To permit easy user access to PMAC s memory and I O space M variables are provided Generally a definition only needs to be made 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 1024 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
78. al Signal Processor Linear and Circular Interpolation 4 output digital to analog DAC converters 256 motion programs capacity 4 full encoder channels Asynchronous PLC program capability 16 General Purpose I O OPTO 22 compatible Rotating buffer for large programs Multiplexer port for expanded I O 36 bit position range 64 billion counts Overtravel limit home amplifier fault enable flags 6 bit DAC Output Resolution Display port for LCD and VFD displays S curve Acceleration and Deceleration Bus and or RS 422Control Cubic Trajectory Calculations Splines Stand Alone Operation Electronic gearing G Code Command Processing for CNC Advanced PID servo motion algorithms Optional Features Upto 16 digital to analog DAC converters outputs Yaskawa absolute encoders inputs Upto 16 full encoder channels Analog feedback inputs 8 16 Dual ported RAM MLDTs feedback inputs Flash Memory no battery Parallel binary feedback 40 60 or 80 MHz CPU Optically isolated encoder inputs Extended Pole Placement Servo Algorithm RS 232 or RS 422 serial communication converters Super high accuracy clock crystal 10 ppm A Analog to Digital Converted inputs Voltage to frequency V F converters On board Voltage to frequency converter 2 bit resolver to digital converter inputs Uptoa total of 2048 multiplexed I O points Sinusoidal encoder feedback input
79. and 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 stays 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 jogging commands a homing command an open loop command and requests for motor position velocity following error and status A coordinate system is addressed by a amp n command where n is the number of the coordinate system with a range of 1 to 8 inclusive This coordinate system remains the one addressed until another amp n command is received by the card For instance the command line amp 1B6R 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 So
80. ard for a given application It is strongly recommended to check each jumper configuration using the appropriate hardware reference for the particular PMAC being set Further instructions for the jumper setup could be found in the PMAC User s 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 1 5 2 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 set up 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 P1Setup and PMACPlot PEWIN has the following main tools and features Aterminal window This is the main channel of communication between the user and PMAC Watch window for real time system information and debugging A 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 typ
81. ata axis data data Motion Program Circular Arc Move Specification axis data axis data vector data PROG ROT A Axis Move A data PROG ROT Absolute Move Mode ABS axis axis PROG ROT Motor Coordinate System Modal Addressing ADDRESS constant amp constant ADR constant amp constant PLC 1 to 31 only Absolute displacement of X Y and Z axes ADIS constant PROG ROT Conditional AND AND condition PLC program only Absolute rotation scaling of X Y and Z axes AROT constant PROG ROT B Axis Move B data PROG ROT Mark Start of Stepping Block BLOCKSTART BSTART PROG ROT Mark End of Stepping Block BLOCKSTOP BSTOP PROG ROT C Axis Move C data PROG ROT Jump to Subprogram With Return CALL data letter data PROG ROT Turn Off Cutter Radius Compensation CCO PROG ROT Turn On Cutter Radius Compensation Left CC1 PROG ROT Turn On Cutter Radius Compensation Right CC2 PROG ROT Set Cutter Compensation Radius CCR data PROG ROT Set Blended Clockwise Circular Move Mode CIRCLE1 CIR1 PROG ROT Set Blended Counterclockwise Circular Move Mode CIRCLE2 CIR2 PROG ROT Program Command Issuance COMMAND command CMD command PROG ROT PLC Program Control Character Command Issuance COMMAND letter CMD letter PROG ROT 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 constant constant DI
82. axes as the PMAC2 Lite and with only 2 axes as Mini PMAC2 1 3 8 PMAC2 Ultralite 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 2 referred as MACRO stations In fact the PMAC2 UltraLite in combination with the MACRO station could 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 600000 00000 292002 292002 Amp 1 114 The PMAC2 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 1 3 9 Turbo PMAC family The Turbo PMAC is based in the 56300 Motorola s DSP processor Its power and speed allows handling up to 32 axes in up to 16 different coordinate systems In compare 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
83. background expression evaluation there is 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 PI M16 and P2 M17 right above this but there is no general solution to the second problem Page 32 4 0 Programming PMAC 4 3 5 Array capabilities 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 P3 P P1 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 M34 gt L 1001 Address location of P1 35 gt 5 22 0 16 Definition word of M34 OPEN PLC 15 CLEAR 100 31 WHILE P100 gt 40 From 31 to 40 M34 P100 Value 18 written to the array 100 100 1 Next value 35 35 1 Next Array position next P variable ENDWHILE DISABLEPLC15 This PLC runs only once CLOSE ena PLC15 Enabl
84. bling the overtravel limits flags If no overtravel limits are intended to be used they must be disabled through a change of the variable Ix25 On the terminal window the following commands will disable the limits functions for all 8 motors Select the motor numbers as appropriate The OR bit by bit function used here is accessible by pressing shift in the computer s keyboard 1125 1125 520000 Metsr 1 12325 12251520000 Motor 42 I325 1325 20000 Motor 3 I425 1425 20000 Motor 4 1525 1525 20000 Motor 5 1625 1625 520000 Motor 6 1725 17251520000 M tor 7 1825 1825 520000 Motor 8 3 6 2 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 in PMAC Usually a passive normally close switch is used If a proximity switch is needed instead the following type is recommended Normally Closed NPN Sinking 12 15V DC 1 1 Lim JMACH1 51 PC opt 1 JMACH2 PIN 59 Lite JEQU PIN 9 Mini JAUX PIN 13 Lim 15V 51 59 68 AGnd 68 AGnd 91 Lim Dry Contact 12 15 Volts proximity 15 24 Volts proximity Related PMAC Jumpers must be configured appropriately following the corresponding PMAC Hardware Reference 3 6 3 Home switches Whil
85. 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 is The hardware circuit for the watchdog timer requires that two basic conditions be met to keep it from tripping First it must see a DC voltage greater than approximately 4 75V If the supply voltage is below this value the circuit s relay will trip This prevents corruption of registers due to insufficient voltage The second necessary condition is that the timer must see a square wave input provided by the PMAC software of a frequency greater than approximately 25 Hz 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 Page 63 7 0 Troubleshooting Section 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 repeatedly endlessly Most of the housekeeping functions are safety ch
86. c purposes only it may not be present on your board Page 5 1 0 Introduction to PMAC 1 5 Working with PMAC When used for the first time the card must be configured for 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 is based in the following features clever interrupt driven scheme allows every task each motion program and PLC to run independently of each other A Pointer M variables allow monitoring virtually any register in PMAC s memory from different sources motion programs PLCs or the host computer Communications are continuously activated At any moment any variable or status command could be interrogated Upto 8 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 1 5 1 Hardware Setup On the PMAC you will see 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 bo
87. command of the View pull down menu ALT V and P from the terminal window It is a very convenient way to continuously check PMAC parameters 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 very similar function Instead of the motion related parameters allows to constantly display any variable value in PMAC Right clicking on this window allows selecting the display format from hexadecimal decimal and binary reporting values 2 5 Uploading and Downloading files These functions are accessible through the File pull down menu The uploading function is of great importance Through 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 and so on This allows not only to check what commands or values PMAC has actually in memory but also will indent IF conditions and WHILE loops making the program flow better readable The File pull down 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 2 6 Using MACRO names and Include Files PEWIN allows using names meaningful for the user in replacement of the common names for variables and functions that PMAC expects P Q M I Example
88. ctional component to x the jump is 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 5 5 1 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 the subprogram The value after an A would be placed in variable Q101 for the coordinate system executing the program the value after would be placed in Q102 and so 7 value goes 0126 Letters or cannot be passed This structure 15 particularly useful 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 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
89. cution 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 Ix60 variable A faster than 20 MHz PMAC will perform calculations faster in proportion to the corresponding clock rate increase In general a clock rate increase 1s desirable to increase the real time interrupt RTT 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 20 MHz PMAC Servo Cycle 8 commutated servo 8 non commutated motors servo motors Phase Cyde Real Time Interrupt 40 MHz PMAC 40 MHz PMAC 8 commutated servo 8 non commutated motors servo motors Background Cycle Page 11 Page 12 2 0 PMAC Executive program PEWIN PEWIN enables you to configure control and trouble shoot your PMAC s 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 it s accessories including interfaces for jogging motors extensive system utilities screens for viewing various PMAC variables and status registers 2 1 Configuring PE
90. cutively numbered channels there may be up to 4 DSPGATEs in a PMAC system for up to 16 channels There are two types of servo DSPGATE Gate Array ICs The PMAC 1 type that only allows the control of analog amplifiers with 10 Volts command signals and the PMAC2 type that is also capable of digital direct PWM or stepper command signals Each PMAC channel provided by PMAC 1 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 Any PMAC can control up to eight motors or axis as long as enough channels are provided Every contains one DSPGATE which has channels through 4 has only two channels If Option 1 18 ordered not available on PMAC Lite or Mini PMAC a second DSPGATE is provided which has channels 5 through 8 If Accessory 24 is ordered not available on PMAC STD a third DSPGATE 15 provided which has channels 9 through 12 If Accessory 24 Option 1 is ordered as well not available on PMAC STD a fourth DSPGATE 18 provided which has channels 13 through 16 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 over a bus port Page 1 1 0 Introduction to PMAC 1 3 Types of PMAC 1 3 1 PMAC 1 PC or PMAC 1 VME features Standard Features Motorola DSP 56k Digit
91. d GND from the bus use these pins to bring in 5V and GND from your power supply Page 23 Installing and Configuring PMAC Connect the A and B quadrature encoder channels to the appropriate terminal block pins For encoder 1 the CHAI is pin 25 1 is pin 21 Ifyou have a single ended signal leave the complementary signal pins floating do not ground them However if single ended encoders are used please check the settings of the jumpers E18 to E21 and E24 to E27 For a differential encoder connect the complementary signal lines CHAT is pin 27 and CHB1 is pin 23 The third channel index pulse is optional for encoder 1 CHC1 is pin 17 and CHC1 1s pin 19 3 7 2 Checking the encoder inputs Once the encoders have been properly wired it is important to check its functionality and its polarity Make sure the motor is unpowered while performing this test In the PEWIN open a Position window by pressing Alt V and P from the terminal window Rotating the encoder 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 e
92. des which specify what type of trajectory a move command will generate this category includes LINEAR RAPID CIRCLE PVT and SPLINE 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 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 determined by the mode Depending on the modes in effect the specified values can mean destination distance and or velocity If the move times TA TS and TM and or speeds F are not specifically declared in the motion program the default parameters from the I variables Ix87 Ix88 and Ix89 will be used instead You are strongly encouraged not to rely on these parameters and to declare your move times in the program This will keep your move parameters with your move commands lessening the chances of future errors and making debugging easier In a motion program PMAC has WHILE loops and IF ELSE branches that control program flow These constructs
93. dition If you wish 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 or DELAY or if it first encounters a BLOCKSTART command it will execute to the BLOCKSTOP command When a run or step command is issued PMAC checks the coordinate system to make sure it is in proper working order If it finds anything in the coordinate system is not set up properly it will reject the command sending a 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 e A motor in the coordinate system has both overtravel limits tripped 010 e A motor in the coordinate system is currently executing a move ERROI1 e A motor in the coordinate system is not in closed loop control ERRO12 e A motor in the coordinate system in not activated Ix00 0 13 e There are no motors assigned to the coordinate system ERRO14 e A fixed non rotary motion program buffer is open 15 e No motion program has been pointed to ERRO16 e After a or stop command a motor in the coordinate system is not at the stop point ERROI7 Before starting the program is convenient to issue a CTRL A command to PMAC to ensure that all the motors will be potentially in closed loo
94. e Kp 130 or increase Ko Ix31 Page 17 2 0 PMAC Executive program PEWIN 4 Perform a parabolic move and use the following guidelines for the selection of the appropriate I variables Ideal Case 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 1x32 Fix Increase Integral gain 1x33 or center evenly along the move Friction Feedforward 68 High acc FE correlation High acc FE correlation Negative vel 1 FE correlation Cause Integral lag Cause Physical system limitations Cause Too much velocity FF Fix Increase Kar Ix35 Fix Useless sudden acceleration Fix Decrease Ix32 High vel FE correlation High acc FE correlation High vel FE and acc FEcorrelation Cause damping and friction Cause Too much acc FF Cause Integral lag and friction Fix X Increase 1x32 Fix Decrease Kar 1x35 Fix Increase Kar Ix35 2 9 Other Features Setup of the PMAC encoder conversion table Setup of the Notch and Low Pass Filter parameters Coordinate systems configurations Access to PlSetup and P2Setup packages provided separately These setup utilities provide a user friendly approach for setting up and tuning PMAC 1 with PlSetup or PMAC2 using P2Setup Online PMAC Software and Hardware help files Jog Ribbon and connector status Screens t
95. e Reference X X X X X X X X X C X gt 451 Additional manual PMAC1 5 STD Hardware Reference X C X X XX X X re ACC 4T Additional manual Turbo PMAC PMAC2 Software Reference x 1 I TI T X 9 ACC 4V Additional manual PMAC VME Hardware Reference X X X X X X XX X X S ACC 4V2 Additional manual PMAC2 VME Hardware Reference X X X X X X X X C X X ACC 4VL2 Additional manual PMAC2 VME Ultralite Hardware Reference A XX X X X X XX X C et ACC 14D 48 expansion board for parallel feedback devices or 48 digital I O can plug into PC Bus Goi Sei Sei peu S OSEE ACC 14V I O expansion board for parallel feedback devices or 48 digital I O can plug into VME Bus dM SEM PA TE CIE E SEE SIEG P C 5 ACC 24P 4 channel axis expansion PC card Gi SG CR Le P P ro ACC 24P OPT1 4 additional channels 16 channels total 8 on PMAC 8 on ACC 24P CR ope P P lt ACC 24P2 4 channel PMAC2 style axis expansion card ISA form with 1 8 cm 3 cable X X gt ACC 24P2 OPT1 Option 1 4 additional channels X X 24 4 channel axis expansion card 12 chan total 8 on 4 on 24 X X X O X X P T gt ACC 24V OPT1V 4 additional channels 16 channels total 8 on PMAC 8 on ACC 24V X X X X P T 28 A D converter 4 channel 16 bit 45 nsec CIC XX d ACC 28B A D
96. e 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 you will be able to proceed If it does not get the expected type of response after several attempts it will report that it has not found 3 3 1 Terminal Mode Communications Once the program reports that it has found PMAC the program should be terminal emulation mode so that the PC 15 acting as a dumb terminal to PMAC Check to see if you get a response by typing 10 lt gt lt CR gt means carriage return the ENTER or RETURN key PMAC should respond with a six or seven digit number If you are not getting the expected results check the following 1 Is the green LED power indicator on PMAC s CPU board ON as it should be If it is not find out why PMAC is not getting a 5V voltage supply 2 Is the red LED watchdog timer indicator on PMAC s CPU board OFF as it should be Ifit is ON make sure PMAC is 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 Al and A2 on the PMAC VME If the voltage is satisfactory follow these steps Turn off PMAC or the Host computer where it is plugged into Place the Jumper E51 the hardware re initialization jumper and turn PMAC back on
97. e blending point we trace straight lines through the middle point of each acceleration lines of both velocity profiles Two blended mowes 350000 300000 250000 200000 150000 100000 0000 0 50000 DD 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 Time 5 6 1 Observations TA 220 1 TA 1 The total move time is given by TM TM 2 2 50 250 250 125 675 msec 2 The acceleration of the second blended move could only be extended up to a certain limit 2 TA Two blended mowes 350000 300000 250000 200000 150000 100000 50000 0 S0000 0 0 0 1 0 2 0 3 0 4 Da 0 7 0 8 Time sec Page 47 5 0 Motion Programs PMAC looks two moves ahead of actual move execution to perform its acceleration limit and can recalculate these two moves to keep the accelerations under the Ix17 limit However there are cases where more than two moves some much more than two would have to be recalculated in order to keep the accelerations under the limit In these cases PMAC will limit the accelerations as much as it can but because the earlier moves have already been executed they cannot be undone and therefore the acceleration limit will be exceeded 3 When performing a blended move that involve a change of direction the end point might no be reached Example TA100 TM250 100 10 9 4 250 X10 This would reach only to position 10 X 10 Back and Farih
98. e normally closed to ground switches are required for the overtravel limits inputs the home switches could be either normally close 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 recommended Normally closed switches are proven to have greater electrical noise rejection than normally open types Using the same type of switches for every input flag simplifies maintenance stock and replacements Page 22 Installing and Configuring PMAC 3 6 4 PMACPack and 2 flag inputs The PMACPack and 2 interface accessories include a bipolar opto isolating circuitry chip PS 2705 4NEC for flag and amplifier fault connections Examples 22 lt lt gt gt ar Signal en signal Sinking Signal Gnd Sourcing Signal Gnd V V FLAGRTN V FLAGRTN _ NEGLIM NEGLIM Flag Input In A Sinking Configuration Flag Input in Sourcing Configuration 3 6 5 Checking the flag inputs In the PEWIN terminal window define the following M variables for the flags of the motors under consideration Flag Type HMFL input status 120 gt 5 000 20 1 M220 gt X C004 20 1 320 gt 5 008 20 1 M420 gt X C00C 20 1 LIM input status 121 gt 5000 21 1 M
99. e previous sections 4 Perform a tuning procedure as described in the PEWIN chapter 5 After the tuning process have been completed satisfactory check it by means of the following online commands SAVE this setup 17 Jog Motor 1 continuously in positive direction 1J Jog Motor 1 continuously in the negative direction 41J 2000 Jog Motor 1 to a known location 6 Create a PMAC s memory backup file as described in the PEWIN chapter Page 27 Page 28 4 0 Programming PMAC Programming PMAC is very simple the ease of use and power is based in the following features clever interrupt driven scheme allows every task each motion program and PLC to run independently of each other Pointer M variables allow monitoring virtually any register in PMAC s memory from different sources motion programs PLCs or the host computer Communications are continuously activated At any moment any variable or status command could be interrogated Upto 8 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 PMAC is fundamentally a command driven device you make PMAC do things by issuing it ASCII command text strings and PMAC generally provides information to the host in ASCII text strings When PMAC
100. e the PLC 15 must be 2 or 3 P1 10 List the values of P1 to P10 The same concept applies for Q variables and M variables arrays although the address range for them 1 different 4 3 6 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 and 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 particularly useful 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 very 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
101. e torque compensation table DELETE TCOMP DEL TCOMP DELETE TRACE Formerly Erase the motion program trace buffer DELETE TRACE DEL TRAC DISABLE PLC Disable specified PLC program s DISABLE PLC constant constant DIS PLC constant constant DISABLE PLC constant constant DIS PLC constant constant DISABLE PLCC Disable compiled PLCC program s DISABLE PLCC constant constant DISABLE PLCC constant constant DIS PLCC constant constant DIS PLCC constant constant ENABLE PLC Enable specified PLC program s ENABLE PLC constant constant ENABLE PLC constant constant ENA PLC constant constant ENA PLC constant constant ENABLE PLCC Enable specified PLCC program s ENABLE PLCC constant constant ENABLE PLCC constant constant ENA PLCC constant constant ENA PLCC constant constant ENDGATHER Stop data gathering ENDGATHER ENDG F Report motor following error F FRAX Specify the coordinate system s feedrate axes FRAX FRAX axis axis GATHER Begin data gathering GATHER TRIGGER GAT TRIG H Perform a feedhold H HOME Start Homing Search Move HOME HM HOMEZ Do a Zero Move Homing HOMEZ HMZ constant Report the current l variable value s l constant constant I constant expression Assign a value to an l variable constant constant expression l constant Assign factory default value
102. eature 1 Torun the quick plot feature press ALT P and press Enter 2 Select the motors to gather and the feature to gather 3 Select what to plot from the possible choices and then press to left or Add to right 4 Press the Define Gather Buffer button 5 Press the Begin Gathering button 6 Click on the terminal part of the screen and run the motion program or Jog command 7 Press the End Gathering button when the motion is completed 8 First press the Upload Data button and then the Plot Data button Specify Motors To Gather EN Le La Moor d 2 3 4 5 amp 7 8 Tx 28 83 5 fi eal Commanded 1574 BASE PHC Actual g DAC Plot title Add Comments Gather Period Left Plot Axis Possible Choices 1 Act Velocity 1 Act Acceleration wes Motors to Gather E 1 Velocity Mtr 1 Act Jerk A Htr 1 Following Error 1 Act Position Htr 1 Cmd Acceleration Define Gather Buffer Mtr 1 Cmd Jerk Remove gt gt Mtr 1 Position Heu Gathenng Right Plot Axis End Gathenng Gather Time 0 ms Remove ltem gt gt Upload Data Data Horizontal Time sec The Plot feature relies on the PMAC gathering functions It is very useful for analyzing motion profiles and trajectories U
103. ecks 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 16 maximum value As long as this occurs regularly at least every 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 5 Volts power supply is satisfactory is to hardware reset 7 3 Establishing communications Either the Executive or Setup program can be used to establish initial communications with the card Both programs have menus that allow you to tell the PC where to expect to find the PMAC and how to communicate with it at that location If you tell it to look for PMAC on the bus you must also tell it PMAC s base address on the bus this was set up with jumpers on PMAC If you tell it to look for PMAC on a COM port you must tell it the baud rate this was set up with jumpers switches on the Once you have told the program 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 you will be able to proceed
104. elect MACRO Support I variables Range Units MACRO Node Auxiliary Register Enable SFFFF 0 65 535 none MACRO Ring Check Period 255 servo cycles MACRO Type 1 Master Slave Comm Timeout servo cycles MACRO Ring Error Shutdown Count MACRO ring errors MACRO Ring Sync Packet Shutdown Count 0 0 0 255 2 0 65 535 2 of 2 MACRO sync packets Appendix 3 PMAC On Line Immediate Commands On Line Command Function Syntax Syntax lt CONTROL A gt Abort all programs and moves ASCII Value 1D 01 lt CONTROL B gt Report status word for all motors ASCII Value 2D 02 lt CONTROL C gt Report all coordinate system status words ASCII Value 3D 03 lt CONTROL D gt Disable all PLC programs ASCII Value 4D 04 lt CONTROL E gt Report configured address contents in binary one shot gathering ASCII Value 5D 05 lt CONTROL F gt Report following errors for all motors ASCII Value 6D 06 lt CONTROL G gt Report global status word ASCII Value 7D 07 lt CONTROL H gt Erase last character ASCII Value 8D 08 lt BACKSPACE gt lt CONTROL I gt Repeat last command line ASCII Value 9D 09 lt TAB gt lt CONTROL K gt Kill all motors ASCII Value 11D 0B lt CONTROL L gt Close open rotary buffer ASCII Value 12D 0C lt CONTROL M gt Enter command line ASCII Value 13D 0D lt CR gt lt CONTROL N gt
105. ent files They will be combined by PEWIN in the downloading process The use of L variables in a PLC program statement is the sign to the compiler that the statement is to be executed using integer operations instead of floating point operations To implement integer arithmetic in a compiled PLC the user must both 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 1 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 4 Combine all of the PLC programs to be compiled into one file on the PC 5 Make sure the Support MACRO s PLCCs option is checked before downloading 6 Activate the compiled PLCs If operation is not correct return to step 1 or 2 7 PLCCs could be deleted using the DELETE PLCCn command replace n by the appropriate number Page 61 Page 62 7 0 Troubleshooting Section PMAC 1s a highly reliable device and has several safety mechanisms to prevent continu
106. es PMAC PC PMAC Lite PMAC STD ent ua n P Turbo PMAC PC Turbo PMAC VME Turbo PMAC2 3U Turbo PMAC2 PC Turbo PMAC2 PC Ultralite UMAC Turbo System Some PMAC types have been omitted from this page Pictures are not in the same scale Page 3 1 0 Introduction to PMAC 1 3 6 Mini PMAC Recommended for applications with one or two channel requirements in either a PC based or stand alone environment The Dual ported RAM option in a Mini PMAC is on board Two extra full encoder channels for a total of 4 on board could 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 Mini PMAC board The Mini PMAC board 48 also provided stand alone box the MiniPack complete of power supplies and connectors 1 3 7 PMAC2 PMAC2 is available in either PC or VME formats It is suggested for applications that require a digital amplifier control direct PWM signals or applications with a combination of analog and digital axis PMAC2 is also recommended for the use of its built in features that are optional in 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 4 or 8 axes with only 4
107. es of Ladder Functions LIST LDS LIST LINK List Linking Addresses of Internal PMAC Routines LIST LINK LIST PC List Program at Program Counter LIST PC constant LIST PE List Program at Program Execution LIST PE constant LIST PLC List the contents of the specified PLC program LIST PLC constant LIST PROGRAM List the contents of the specified motion program LIST PROGRAM constant start length LIST PROG constant start length M constant Report the current M variable value s M constant constant M constant expression Assign value to M variable s M constant constant expression Page 2 of 3 On Line Command Appendix 3 PMAC On Line Immediate Commands Function Syntax Syntax M constant gt Report current M variable definition s M constant constant gt M constant gt Self Referenced M Variable Definition M constant constant gt M constant gt D address Long Fixed Point M Variable Definition M constant constant gt D address Dual Ported RAM Fixed Point M Variable Definition M constant gt F address Dual Ported RAM Floating Point M Variable Definition M constant constant gt F address M constant gt L address Long Word Floating Point M Variable Definition constant constant gt L address M constant gt DP address MI constant gt TWB address
108. fine all Erase coordinate definitions all coordinate systems 1 gt 2000X Replace 1 for the motor you want to use and 2000 by the appropriate scale factor for the number of counts per user units Page 65 7 0 Troubleshooting Section OPEN PROG 1 CLEAR Prepare buffer to be written LINEAR Linear interpolation INC Incremental mode TA500 Acceleration time is 500 msec TSO No S curve acceleration component T2000 Total move time is 500 2000 2500 msec X1 One unit of distance 2000 encoder counts CLOSE Close written buffer program one 4 Torunit press CTRL A and then type B1R in the terminal window 5 Repeat steps 2 through 4 for all the motors that you intend to run in your actual motion program A good method to test motion programs is to run them at lower than one hundred percent override rate Any value for n from 1 to 100 in the Yon 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 BIR If a program run successfully at lower feedrate override values there could be mainly two reasons why it fails at 100 either there 18 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 the section entitled PMAC Tasks 7 6 PLC programs PLCs and PLCCS are one of the most comm
109. gram e g missing ENDWHILE ERRO17 Trying to resume after or with should use J to return motor s to motors out of stopped position stopped position Appendix 2 PMAC I VARIABLE SUMMARY Global I Variables ga e Default Units Serial Handshake Line Disable LA none Control Panel Disable none I O Handshake Mode none Communications Checksum Enable none PLC Programs On Off none Error Reporting Mode none In Position of Consecutive Cycles 255 Background computation cycles minus one Real Time Interrupt Period Servo Interrupt Cycles Full Abbrev Listing Form 23 none Servo Interrupt Time 8 388 607 1 8 388 608 msec Program Move Calc Time 8 388 607 0 msec Jog to Pos Calc Time 8 388 607 10 msec Programmed Move Segmentation Time 8 388 607 0 msec Auto Position Match On Run Enable 1 1 none Deg Radians for User Trig 1 0 degrees none Rotary Buffer Request On Point 8 388 607 5 Command lines Rotary Buffer Request Off Point 8 388 607 10 Program lines Fixed Buffer Full Warning Point Data Gathering I Variables 8 388 607 Range 10 Default Long Memory Words Units Data Gathering Period In Servo Cycles 0 8 388 607 1 Se
110. gt X 0BC6 0 24 S M797 gt X 0C86 0 24 S M897 gt X 0D46 0 24 S Present time base 110 units 198 gt 0808 0 24 5 298 gt 08 8 0 24 5 398 gt 0988 0 24 5 498 gt 0 48 0 24 5 1 of 1 Tip copy this page zooming it into an 11 by 17 size M598 gt X 0B08 0 24 S 698 50 8 0 24 5 M798 gt X 0C88 0 24 S 898 gt 0048 0 24 5 Appendix 6 I O Suggested M variable Definitions Start Run Input M905 gt Y FFD0 5 1 M906 gt Y FFD0 6 Stop Abort Input M907 gt Y FFDO 7 1 M908 gt Y FFDO 8 1 M909 gt Y FFDO 9 1 M910 gt Y FFD0 10 1 M911 gt Y FFD0 11 1 M912 gt Y FFD0 12 1 M913 gt Y FFD0 13 1 M914 gt Y FFD0 14 1 M915 gt Y FFD0 15 1 M916 gt Y FFD0 16 1 M917 gt Y FFD0 17 1 M918 gt Y FFDO 18 1 M919 gt Y FFD0 19 1 M920 gt Y FFD0 20 1 M921 gt Y FFD0 21 1 M922 gt Y FFD0 22 1 M923 gt Y FFD0 23 1 M924 5Y SFFD1 0 Timer register 2 8388608 110 msec M925 gt Y FFD1 1 1 Timer register 8388608 110 msec MO A SFFD1 2 Timer register 4 8388608 110 msec M927 gt Y FFD1 3 1 M928 Y SFFD1 4 1 M929 Y SFFD1 5 1 M930 gt Y FFD1 6 1 onreset _ 1 gt 1 7 1 Open registers stored in battery backed M932 gt Y FFD1 8 1 EAM M933 gt Y FFD1 9 1 M934 gt V FFD1 10 1 M935 gt Y FFD1 11 1 M936 gt Y FFD1 12 1 M937 gt Y FFD1 13 1 M938 gt Y FFD1 14 1 M939 gt Y FFD1 15 1 M940 gt Y FFD1 1
111. he host Between each scan through each background PLC program PMAC performs its housekeeping duties to keep 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 Page 9 1 0 Introduction to PMAC 1 6 7 Observations has an on board watchdog timer circuit whose job it is to detect a number of conditions that could result in dangerous misfunction 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 PLCO0 or 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 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
112. he communications troubleshooting section below in case communications are still not established SSS Global Reset PO 1023 0 Reset P variables values 00 1023 0 Reset Q variables values MO 1023 gt MO 1023 0 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 your application It is strongly recommended to have a backup file saved in the host computer with all the parameters and programs that PM AC 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 7 2 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 misfunction and shut down the card to prevent a misfunction The philosophy behind the use of this circuit 1s that it 1s 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
113. hen HOMEZ is issued 4 8 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 you will know when PMAC has rejected such a command Setting I6 to 2 in the actual application can prevent program hangup from a full response queue or from disturbing the normal host communications protocol Messages to a host computer or terminal window could be issued using the SEND command If there is no host on the port to which the message is sent or the host is not ready to read the message the message is 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 is possible to send messages to a non existent host by disabling the port handshaking with 11 1 If a program particularly a 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 t
114. his has happened it is either because you have asked for a move that is more than the system can physically do if so reduce 1122 or because you are very badly tuned if this 1s the case you will need to increase proportional gain 1130 To restore closed loop control issue the J command 7 5 Motion programs If the program does not run at all there are several possibilities 1 Can you list the program 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 Did you remember to close the program buffer Type A just in case the program is running type CLOSE to close any open buffer type B1 or your program to point to the top of the program and type R to try to run it again 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 1 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 Ge Try the following steps for any other motion program problem 1 amp 1 100 in the terminal window 2 Check that you can appropriately Jog only one of the motors that you intend to use in your 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 unde
115. idth parameter Auto Tune Parameters excitation magnitude 5 20 Excitation Time ms en Humber af Iterations P Maximum motor travel cts 4000 Minimum motor travel cts 0 Pause between Iterations Amplifier Type Current Loop Velocity Loop Design Goals Bandwidth Hz Damping Ratio E Auto select Sample Period Include Low Pass Filter Don t jog back to original position Gant Auto Tuning Dual Motor Activate Second Motor DAC Calibration Optional Items to Auto T une Velocity Feed Forward Acceleration Feed Forward Integral Action f Mone Soft Hard a Make sure you read the PEWIN manual section related to the safety issues of this procedure b Perform a DAC calibration if necessary c Select the type of amplifier you are trying to tune d Letthe Auto Tune select the bandwidth by checking Auto Select bandwidth e Do notactivate any feed forward parameters in this first pass f Do not activate the integral action component in this first pass Start the first Auto Tuning interaction Most likely the motor WILL move after Begin is pressed Page 16 Begin PID Auto Tuning Help Done 2 0 PMAC Executive program PEWIN Design Goals Bandwidth Hz 5 34 Damping Ratio ho 1260 0 Second Interaction Auto select Bandwidth Auto select Sample Peri
116. if I5 is set properly and more easily recover from a PLC programming error Asanexample type these commands in the terminal window After that open a watch window and monitor for Pl to be counting up OPEN PLC1 CLEAR Prepare buffer to be written P1 P1 1 Pl continuously incrementing CLOSE Close written buffer PLC1 1527 Press lt CTRL D gt ENA Page 66 Appendix 1 PMAC ERROR CODE SUMMARY 16 Error Reporting Mode This parameter controls how PMAC reports errors in command lines When 1615 set to 0 or 2 PMAC reports any error only with a lt BELL gt character When I6 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 lt BELL gt 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 I6 is set to or 3 an error number message can be reported along with the lt BELL gt 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 is a lt LF gt character in front of the message When 16 is set to 1 the form of the error message is lt BELL gt error message This setting is the best for interfacing with host computer driver routines When I6 is set to 3 the form
117. igit 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 1 encountered it will jump back to the calling program 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 Page 45 5 0 Motion Programs 5 6 Linear blended moves move time is set directly by TM or indirectly based on the the distances and feedrate parameters set 100 FRAX X Y X3 Y4 1190 37 42 5000 X3 4 50 100 msec 50 50 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 TA or 2 TS if TA lt 2 TS results in the minimum move time of a linearly interpolated move Ifthe TA programmed results to be less than twice the TS programmed TA lt 2 TS the TA time used will be 2 TS instead The acceleration time TA of a blended move cannot be longer than two t
118. imes the previous TM minus the previous otherwise the value 2 TM TA will be used as the current TA instead The safety variables Ix16 and Ix17 will override these parameters if they are found to violate the programmed limits If TM TA TM TA If TA 2 TS TA 2 TS If gt 2 TM TA 2 TM 4 TA 1 Example gt 1 ume 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 Lets consider the following motion program code close delete gather undefine all amp 1 1 gt 2000 OPEN PROG 1 CLEAR LINEAR Linear mode INC Incremental mode TA100 acceleration time is 100 msec TA TSO No S curve component TM250 Move time is 250 msec 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 Page 46 5 0 Motion Programs 2 The two move commands are plot without blending placing a DWELLO command in between the two moves Two moves no blending 350000 300000 250000 200000 150000 100000 50000 0 50000 DD 0 1 0 2 0 3 0 4 0 5 0 6 De 0 8 0 9 1 0 Time sec 3 The two moves are now plot with the blending mode activated To find out th
119. ing I900 CR causes the value of the I900 to be returned The value may be changed by typing in the name an equals sign and the new value e g 190023 CR Remember that if you change any I variables during this setup you must use the SAVE command before you power down or reset the card or you will lose the changes that you have made 1 5 3 Programming PMAC Motion or PLCs programs are entered in any text file and then downloaded with PEWIN to PMAC PEWIN provides a built in text editor for this purpose but any other text editor could be conveniently used 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 Page 6 1 0 Introduction to PMAC 1 6 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 PMAC 440 usec per Servo Cycle Background Ge 8 Motors Servo Cycle Real Time Interrupt 8 Motors Phase Cycle Lower Priority Interrupted by Interrupted by 3 Interrupted by Higher Priority Background Cycle Real Time Interrupt Servo Cycle Phase C
120. is the increased number of variables necessary to control up to 32 axes The main Turbo PMAC board has the 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 1 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 Page 4 1 0 Introduction to PMAC 1 4 PMAC 1 connectors and indicators 1 4 1 Display Port Outputs JDISP Port The JDISP connector J1 allows connection of 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 1 4 2 Control Panel Port I O JPAN Port The JPAN connector J2 on PMAC PC Lite VME and top board of PMAC STD is 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 Ifthis is the case they may be used as general purpose inputs by assigning M variable to their corresponding memory map locations bits of Y address 1 4 3 Thumbwheel Multiplexer Port I O J
121. ll up the X column each servo cycle X Source address Result value for PMAC s usage and conversion FeedBack device F Servo algorithms 5 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 result 15 placed in the last highest address X word and the other X words hold intermediate data 728 1832 400723 Time base from converted Enc 4 729 1833 000295 Time base scale factor for above The result of this timebase value based on encoder 4 is placed in register X 0729 the second and last entry for this conversion Example 4 5 2 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 po
122. ltiple file download feature of the PEWIN File menu allows having the PLCC codes in different files They will be combined by PEWIN in the downloading process Page 15 2 0 PMAC Executive program PEWIN 2 8 The PID Tuning Utility This function is accessible from the terminal window by pressing ALT C for the Configure pull down menu and T for tuning The Autotuning feature allows finding the PID parameters with virtually no effort from the user The parameters are in most cases very close to optimal and in some cases require further fine tuning by the user In this screen press the Page Up or Page Down keys on the keyboard to select the motor number Move Size cts 4000 Move Time ms 500 Parabolic 1230 Prop Gain 700000 1231 Derivative Gain 300 1232 Velocity FF Gain on 2 33 Integral Gain 234 Integration Mode i l l l l Step Size 000 Step Time 500 Following Error DAC Output Plot Response Gantry Auto Tuning Dual Matar Activate Second Motor Open Loop Move Auto Ture 238 Accel FF Gain 0 1228 DAC Offset 0 1269 DAC Limit 2040 0 260 Servo Cycle Per Ext 1268 Friction FF Gain Toggle Gains Hotch Filter Kill Motor 1 Select the Auto Tune feature This is the first interaction to find a starting bandw
123. me 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 8 encoders the default table converts the eight incremental encoder 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 maybe be done as PLCC1 or RTI could be done every 4th or 5th 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 W statements could 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 your routines of lower priority than the servo loop are not executing fast enough you should consider slowing down the servo update rate increasing the update time You may well be updating faster than is required for the dynamic performance you need If so you are just wasting processor time 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 exe
124. me on line commands do not depend on which motor or coordinate system 1 addressed For instance the command P1 1 sets the value of P1 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 at a time When a buffer is open commands can be entered into the buffer for later execution Control character commands 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 daisy chain 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 LR amp 2R lt CR gt causes both Coordinate Systems 1 and 2 to run Page 29 4 0 Programming PMAC 4 2 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 8 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 15 added onto the end of the list of commands the open buffer 1f you wish to replace the exis
125. ncoder II EXN CH e O Example for encoder 1 SS Channel A in pin 25 of MACHT ACC 8D or ACC 8P Channel B in pin 21 of JMACHI ACC 8D or ACC 8P Ground in pin 3 or 4 of JMACHI ACC 8D or ACC 8P 3 7 3 Checking the DAC outputs Before connecting the DAC outputs to the amplifier it is opportune to check the DAC outputs operation Make sure the amplifier is not connected while performing this test In the PEWIN terminal window define the following M variables for DACs of the motors under consideration DAC output 102 gt 5 003 8 16 5 202 gt 5 002 8 16 5 302 gt 5 00 8 6 5 M402 gt Y C00A 8 16 S Po Motor _ Motor 6 Motor 7 Motor 8 DAC output 502 gt 5 013 8 16 5 602 gt 5 012 8 6 5 702 gt 5 01 8 6 5 802 gt 5 01 9 16 5 Example for DAC 1 Type the following in the terminal window M102 gt 7 5C003 8 16 8 1100 0 102 16383 measure 5 Volts between pins 43 and 58 of JMACHI ACC 8D or ACC 8P gt M102 16383 lt measure 5 Volts between pins 43 and 58 of JMACH1 ACC 8D or ACC 8P gt 110041 3 7 4 DAC Output signals If PMAC is not performing the commutation for the motor only one analog output channel 15 required to command the motor This output channel can be either single ended or differential depending on what the amplifier 15 expecting For a
126. nd POSITION windows 2 5 Uploading and Downloading files 2 6 Using MACRO names and Include Files 2 7 Downloading compiled PLCCs 2 8 The PID Tuning Utility 2 9 Other Features 3 0 INSTALLING AND CONFIGURING PMAC 3 1 Jumpers Setup 3 2 Serial Connections 3 3 Establishing Host Communications 3 3 Terminal Mode Communications 3 3 2 Resetting PMAC for first time use 3 4 Connections 3 5 Power Supplies 3 5 1 Digital Power Supply 3 5 2 Analog Power Supply 3 5 3 Flags Power Supply optional 3 6 Overtravel limits and Home switches 3 6 1 Disabling the overtravel limits flags 3 6 2 Types of overtravel limits 3 6 3 Home switches 3 6 4 PMACPack and 2 flag inputs 3 6 5 Checking the flag inputs 3 7 Motor signals connections 3 7 1 Incremental Encoder Connection 3 7 2 Checking the encoder inputs 3 7 3 Checking the DAC outputs 3 7 4 DAC Output signals 3 7 5 Amplifier enable signal AENAx DIRn 3 7 6 Amplifier fault signal FAULTn 3 7 7 General Purpose Digital Inputs and Outputs JOPTO Port 3 8 Machine Connections Example 3 9 Software Setup 4 0 PROGRAMMING PMAC 4 1 Online Commands 4 2 Buffered Program Commands 4 3 COMPUTATIONAL FEATURES 4 3 1 I variables 15 15 15 15 16 18 19 19 19 20 20 20 21 21 21 21 21 21 22 22 22 23 23 23 23 24 24 24 25 25 25 26 27 29 29 30 30 30 4 3 2 P Variable
127. nnels 12 bit A D converters X X X ACC 32 PMAC firmware upgrade kit includes EPROM Executive diskette and manuals 10 Firmware version specification Standard is last revision available Cc c 6 Extended servo algorithm firmware option ec C D Compatible X Not Compatible P Partially Compatible O Compatible if PMAC Opt Purchased A Compatible if PMAC Acc Purchased T Compatible w Turbo Version N Compatible w non Turbo Version Description PMAC2 PC Ultra Lite PMAC2 VME ACC 28A A D converter 4 channel 16 bit 45 nsec ACC 28B A D interface 2 axis ACC 36P 16 Channel 12 bit A D converter board mountable in PC Bus ACC 36V 16 Channel 12 bit A D converter board mountable in VME Bus OPT 12 on board 8 Channels 12 bit A D converters OPT 12A on board 8 Extra channels 12 bit A D converters OPT 15 on board Voltage to frequency converters ACC 21F Cable 50 pin card edge to 34 pin IDC header for PMAC JOPT connector ACC 21FH Cable 50 pin IDC header to 34 pin IDC header for PMAC JOPT connector ACC 21G Cable 50 pin card edge to 50 pin IDC header for ACC 14D amp ACC 34B connector ACC 21GH Cable 50 pin IDC header to 50 pin IDC header for ACC 14D amp ACC 34B connector ACC 21A Adapter
128. nt PAU PLC constant constant PROG ROT PLC Specify automatic subroutine call function PRELUDE1 command Motion Program PRELUDEO Redefine current axis positions Position SET PSET axis data axis data Motion Program Set Position Velocity Time mode PVT data PROG ROT Set Q Variable Value Q constant expression PROG ROT PLC Set Circle Radius R data PROG ROT Set Rapid Traverse Mode RAPID RPD PROG ROT Read Arguments for Subroutine READ letter letter Motion Program Resume execution of PLC programs s RESUME PLC constant constant RESUME PLC constant constant RES PLC constant constant RES PLC constant constant PROG ROT PLC Return From Subroutine Jump End Main Program RETURN RET Motion Program Spindle data command S data PROG ROT Cause PMAC to Send Message SEND message SENDS message SENDP message PROG ROT PLC Cause PMAC to Send Control Character SENDX letter PROG ROT PLC SENDS letter SENDP letter Put program in uniform cubic spline motion mode SPLINE1 PROG ROT Put program in non uniform cubic spline motion mode SPLINE2 PROG ROT Stop program execution STOP Motion Program Tool Select Code T Code T data PROG ROT Set Acceleration Time TA data PROG ROT Initialize selected transformation
129. nt to 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 very useful for English metric conversion floating origins making duplicate mirror images repeating operations with angle offsets and more The matrices gets implemented by the use of Q variables and the commands DEFINE TBUF TSEL TINIT ADIS IDIS AROT and IROT 5 10 9 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 is executed totally in hardware without the need for software intervention although it is set up and later serviced in 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 is reached The position compare feature is essentially 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 5 10 10 Learning a Motion Program It is possible to have PMAC learn lines of a motion program using the on line LEARN c
130. ntially from 1 to 31 This makes PLC1 the first code executed the ideal place to perform initialization commands like other PLCs disabling motors phasing and motion programs start After its execution could disable itself with the command DIS running only once on power up reset Bits ofthe first word returned from the global status bits request command 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 I8 1 servo cycles later It stays at 1 until the card is reset or until this bit is manually changed 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 properly complete its servo routines This is a serious error condition It is 0 if the servo operations have been completing properly Page 10 1 0 Introduction to PMAC 1 6 8 Priority Level Optimization PMAC will usually have enough speed and calculation power to perform all of the tasks asked of it without the user having to worry Some applications will put a large demand on a certain priority level and to make PMAC run more efficiently some priority level optimization should be done When PMAC begins to run out of time problems such as sluggish communications slow PLC PLCC scan rates run ti
131. numbered 0 through 31 for both the compiled and uncompiled PLCs This means that you can have 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 is limited to 15K 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 buffers PLC program 0 is a special fa
132. o 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 This will almost always 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 Page 39 Page 40 5 0 Motion Programs PMAC can hold up to 256 motion programs at one time Any coordinate system can run any of these programs at any time even if another coordinate system is already executing the same program PMAC can run as many motion programs simultaneously as there are coordinate systems defined on the card up to 8 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 very much like machine tool languages Numerical values in the program can be specified as constants or expre
133. o display organize or change I P and M variables Firmware downloading through MOTIONEXE for PMACs with flash memory Page 18 3 0 Installing and Configuring PMAC 3 1 Jumpers Setup On the PMAC you will see 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 It is strongly recommended to check each jumper configuration using the appropriate hardware reference for the particular PMAC being set Further instructions for the jumper setup could be found in the PMAC User s 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 3 2 Serial Connections For serial communications use a serial cable to connect your PC s COM port to the PMAC s serial port connector J4 on PMAC PC Lite and VME on PMAC STD s bottom board Delta Tau provides cables for this purpose Accessory 3D connects PMAC PC or VME to a DB 25 connector ACC 3L connects PMAC Lite to a DB 9 connector and 35 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 your particular setup If you are using the ACC 26 Serial Communications converter you will connect from the PC COM port to ACC 26 with a standard D
134. o 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 Page 54 5 0 Motion Programs 5 10 4 Position Following Electronic Gearing PMAC has several methods of coordinating the axes under its control to axes not under its control The simplest method 15 basic position following This is a motor by motor function not a coordinate system function as time base following 15 An encoder signal from the master axis which is not under PMAC s control is fed into one of PMAC s encoder inputs This master signal is typically either from an open loop drive or a handwheel knob Ix05 and Ix06 control this function 5 10 5 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 15 required for CIRCLE mode anyway Program commands CC1 CC2 CCR and NORMAL control this feature 5 10 6 Synchronous M Variable Assignment The scan
135. ocity and acceleration limits are enabled here In all other cases PMAC is calculating one move ahead two moves ahead one move ahead LINEAR with 113 0 LINEAR with 113 0 HOME SPLINEI CIRCLE DWELL bis step through the program Ix92 1 blending disabled When a Run command is given and every time the actual execution of programmed moves progresses into a new move a flag 1s set saying it 1s 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 continue 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 A WAIT statement is encountered usually in a WHILE loop If calculations stop on condition 1 or 2 the calculation flag is cleared and will not be set again until actual motion progresses into the next move 1 or a new Run command is given 2 If calculations stop on conditions 3 or 4 the flag remains set so calculations will resume at the next RTI In these cases you have an empty no m
136. od Include Low Pass Filter j Optional Items to Auto Tune Velocity Feed Forward Acceleration Feed Forward Integral Action Begin PID amp uto Tuning lt None C Soft Hard Excitation Time ms Number of Iterations hd asimum motor travel cts 4000 Minimum motor travel cts om Pause between Iterations jog back to original position Gantry Auto Tuning Dual Matar Activate Second Motor h The calculated bandwidth could be increased up to three times Uncheck the Auto Select bandwidth this time 1 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 completed remember to 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 approach 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 Cause friction or constant force system limitation position Fix Increase Ki Ix33 and maybe use more Ke Ix30 Sluggish Response Overshoot and Oscillation Cause much damping or too little proportional gain Cause Too little damping or too much proportional gain Increase Kp 1530 or decrease 191 Fix Decreas
137. 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 1 1 for example will indicate PMAC that the assignment have 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 is the acceleration blending time This is only available for M variables and that are not in the form TWB TWD TWR TWS 5 10 7 Synchronizing PMAC to Other PMACs When multiple are used together inter card 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 5 10 8 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 definition statements are mea
138. ogress bit M135 gt X 003D 15 1 M235 gt X 0079 15 1 M335 gt X 00B5 15 1 435 gt 00 1 15 1 M535 gt X 012D 15 1 M635 gt X 0169 15 1 M735 gt X 01A5 15 1 M835 gt X 01E1 15 1 Running program bit M137 gt X 003D 17 1 M237 gt X 0079 17 1 M337 gt X 00B5 17 1 437 gt 00 1 17 1 M537 gt X 012D 17 1 M637 gt X 0169 17 1 M737 gt X 01A5 17 1 M837 gt X 01E1 17 1 Open loop mode bit M138 gt X 003D 18 1 238 gt 0079 18 1 338 gt 00 5 18 1 438 gt 00 1 18 1 M538 gt X 012D 18 1 M638 gt X 0169 18 1 M738 gt X 01A5 18 1 M838 gt X 01E1 18 1 Amplifier enabled status bit M139 gt Y 0814 14 1 M239 gt Y 08D4 14 1 339 gt 0994 14 1 M439 gt Y 0A54 14 1 M539 gt Y 0B14 14 1 M639 gt Y 0BD4 14 1 M739 gt Y 0C94 14 1 M839 gt Y 0D54 14 1 In position bit M140 gt Y 0814 0 1 M240 gt Y 08D4 0 1 340 gt 0994 0 1 M440 gt Y 0A54 0 1 M540 gt Y 0B14 0 1 M640 gt Y 0BD4 0 1 M740 gt Y 0C94 0 1 M840 gt Y 0D54 0 1 Warning following error bit M141 gt Y 0814 1 1 M241 gt Y 08D4 1 1 341 gt 0994 1 1 M441 gt Y 0A54 1 1 M541 gt Y 0B14 1 1 M641 gt Y 0BD4 1 1 M741 gt Y 0C94 1 1 M841 gt Y 0D54 1 1 Fatal following error bit M142 gt Y 0814 2 1 M242 gt Y 08D4 2 1 M342 gt Y 0994 2 1 M442 gt Y 0A54 2 1 M542 gt Y
139. ointer PE PMATCH Re match Axis Positions to Motor Positions PMATCH PR Report Rotary Program Remaining PR Q Quit Program at End of Move Q Q constant Report Q Variable Value Q constant constant Q constant expression Q Variable Value Assignment Q constant constant expression R Run Motion Program R R H address Report the contents of a specified memory address es R H address constant RESUME PLC Resume execution of specified PLC program s RESUME PLC constant constant RES PLC constant constant 5 Execute One Move Step of Motion Program 5 SAVE Copy setup parameters to non volatile memory SAVE SIZE Report the amount of unsed buffer memory in PMAC SIZE TYPE Report type of PMAC TYPE UNDEFINE Erase Coordinate System Definition UNDEFINE UNDEF UNDEFINE ALL Erase coordinate definitions in all coordinate systems UNDEFINE ALL UNDEF ALL V Report motor velocity V VERSION Report PROM firmware version number VERSION VER W address Write value s to a specified address es W address value value Z Make commanded axis positions zero Z Page 3 of 3 Appendix 4 PMAC PROGRAM COMMAND SPECIFICATION Function Syntax Syntax Type Position Only Move Specification axis data axis data PROG ROT Position and Velocity Move Specification axis data data axis data data PROG ROT Move Until Trigger axis data d
140. ommand In this 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 Page 55 Page 56 6 0 PLC Programs PMAC will stop the scanning of the motion program lines when enough move commands are calculated ahead of time This feature is called look ahead and it is necessary to properly blend the moves together and to observe the motion safety parameters In the following example PMAC calculates up to the third move and will stop the program scanning until the first move 1s completed that 18 when more move planning is required Example OPEN PROG 1 CLEAR Open program buffer I1320 Two moves ahead of calculation LINEAR INC TA100 TSO F50 Mode commands Xl First Move X1 Second Move X1 Third Move 1 1 This line will be executed only after the first move 1s 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 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 programmable logic controllers PLC programs are
141. ommand 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 1 always true if a second COMMAND action statement that requires the first COMMAND action statement to finish will follow Remember COMMAND action statements are only processed during the communications section of the background cycle Suppose you want an input to stop any motion in a Coordinate System and start motion program 10 The following PLC could be used 187 gt 50817 17 1 1 In position bit AND of motors OPEN PLC3 CLEAR IF M11 1 input is ON IE BITS input was not ON last time 11 1 set latch COMMAND amp 1A ABORT all motion WHILE M187 0 wait for motion to stop ENDW COMMAND amp 1B10R Start program 10 ENDIF ELSE P1120 reset latch ENDIF 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 if these statements get executed on consecutive scans through the PLC IF M11 1 input is ON Pille Input was not ON last time COMMAND 10 JOG motor 11 1 set latch ENDIF ELSE P11 0 reset latch ENDIF 6 7 Timers Timing commands like DWELL or DELAY are only reserved to motion programs and cannot be used for timing purpo
142. on This is the absolute value function INT This 18 a truncation function which returns the greatest integer less than or equal to the argument INT 2 5 2 INT 2 5 3 Functions and operators could be used either in Motion Programs PLCs or as online commands For example the following commands could be typed in a terminal window 1 51 45 Pl Reports the sine value of a 45 angle 1130 1330 2 Lower the proportional gain of Motor 1 by half 125 1125 1520000 Disable the end of travel limits of Motor 41 4 3 8 Comparators 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 are equal to not egual to greater than gt not greater than less than or equal to less than not less than greater than or equal to approximately equal to within one not approximately equal to at least one apart Note that lt and gt are not valid PMAC comparators The comparators gt and respectively should be used in their place 4 3 9 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 are to be written in Motorola 56000 assembly language code usually on a PC or compatible and
143. on 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 get executed on consecutive scans through the PLC IF M11 1 input is ON IF 11 0 input was not ON last time COMMAND 1J JOG motor 11 1 set latch ENDIF ELSE P1120 reset latch ENDIF PLCO0 or 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 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 you will notice 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 you to reset PMAC and have no PLC s running an enabled PLC only runs
144. ond at all to PMAC s RS 422 levels If you have another model of PC try using it as a test most models accept RS 422 levels quite well If you cannot get your computer to accept the signals you may need a level conversion device such as Delta Tau s Accessory 26 3 3 2 Resetting PMAC for first time use Once communications have been established type the following commands in the terminal window SSS Global Reset PO 1023 0 Reset P variables values 00 1023 0 Reset Q variables values MO 1023 gt 0 1023 0 Reset M variables definitions and values UNDEFINE ALL Undefine Coordinate Systems SAVE Save this initial clean configuration Page 20 Installing and Configuring PMAC 3 4 Connections Typically the user connections are actually made to a terminal block that is attached to the JMACH connector by a flat cable Accessory 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 15 the same and PMAC VME users can use the same terminal numbers on the terminal block board in following the instructions given below Make sure PMAC is unpowered while the connections are being made Leave any loads disconnected from the motor at this point 3 5 Power Supplies 3 5 1 Digital Power Supply 1 Q 5V 5 7 5W E
145. or 1 Ix08 32 cts of slaved motor M169 gt D 0046 1 Compensation correction M162 M164 M169 M175 M167 1108 32 P100 100 will report the same value as the online command 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 M161 gt D 0028 1 Commanded position 1 1x08 32 cts 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 002B 1 Actual position 1 Ix08 32 cts The actual position register contains the information read from the feedback sensor after it has been properly converted 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 163 gt 0 5080 1 Target end position 1 Ix08 32 cts This register contains the most recent programmed position and it 18 called the target position register If 11320 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 I108 32 M164 gt D 0813 1 Position bias 1 Ix08 32 cts This regis
146. or 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 in compare to regular PLCs Since the execution rate of compiled PLCs is the same as some of the safety checks following error limits hardware overtravel limits software overtravel limits and amplifier faults PLCCs are ideal for replace or complement them However due to its limited allocated memory space PLCCs should be reserved only for faster execution critical tasks PLC3ft this is the last executed PLC in the sequence from 1 to 31 PLC31 is then 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 Page 57 6 0 PLC Programs 6 1 Entering a PLC Program PLCs are programmed in the same way as motion programs in a text editor window for later downloading to PMAC Before start writing the PLC it is good practice to make sure that memory has not been tied up in data gathering or program trace buffers by issuing DELETE GATHER and DELETE TRACE commands Open the buffer for entry with
147. or standalone applications OPT 7V Plate mounting for standalone applications ACC 12 Display 24x2 LCD 5mm high alpha chars ACC 12A Display 40x2 LCD 5mm high alpha chars suond pue souossoooyv ACC 12C1 Display 40x2 vacuum fluor 5mm high alpha chars buffered amp 12D compatible ACC 12CA 180 cm 6 cable and mounting PCB for separately purchased display ACC 12D Long distance display signal driver module Requires ACC 12E w Option 1 12 Adapter amp power driver for ACC 12F large vacuum fluor displays ACC 12F Display purchased separately ACC 20 TM200G 001 Panel mounted numeric control keyboard amp display O O PMAC1 oPMACI Lite O OF 0 O o 1 VME O gt lt gt lt CO PMAC1 5 STD XxX XxX gt gt X X gt Mini PMAC2
148. ors but up to eight motors have been 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 a single axis the easiest way to do this 15 to have a second phantom axis and program circularly interpolated moves 5 2 2 Axis Definition Statements A coordinate system is established by using axis definition statements An axis 1s 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 18 executed in this coordinate system motor 1 will make the move The axis definition statement also 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 This scaling feature is almost universally used Once the scaling has been defined in this statement the user can program the axis in
149. otion loop the motion program acts much like a PLC 0 during this period If PMAC ever cannot finish calculating the trajectory for a move by the time execution of that move 1s supposed to begin PMAC will abort the program showing a run time error in its status word Page 41 5 0 Motion Programs 5 2 Coordinate Systems A coordinate system in PMAC 1s 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 8 coordinate systems addressed as amp 1 to amp 8 in a very flexible fashion e g 8 coordinate systems of 1 motor each 1 coordinate system of 8 motors 4 coordinate systems of two motors each etc In general if you want certain motors to move in a coordinated fashion put them in the same coordinate system If you want them to move 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 first be established 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 1f simultaneous motions are desi
150. ous damage and malfunctions When PMAC shuts down or an erratic behavior is observed the following reset procedure should be tried 7 1 Resetting PMAC to factory defaults 1 IfPMAC 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 only leaving connected 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 properly changed to accommodate the particular setup for the machine Make sure that jumper E50 is properly installed otherwise any SAVE command issued to PMAC will not have any effect 5 Place the jumper E51 in PMAC 1 or jumper on 2 This 1 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 PMAC s with the flash memory option will be in a mode called bootstrap This means that 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 gets successfully open follow t
151. p and that all previous motions are aborted Also if in doubt the functioning of each motor could be check individually prior to run a program by means of Jog commands For example 17 2000 will make motor 1 move 2000 encoder counts and that would be a way to 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 on Ix25 even if one motor defined in the coordinate system is not closing the loop all motors in the coordinate system could be brought down impeding of running any motion program Sometimes the feedrate override for the current addressed coordinate system is set at zero and no motion will occur in result of this Check the feedrate override parameter by issuing 61 command on the terminal window replace 1 for the appropriate coordinate system number If 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 it is a good technique to change the feedrate override to a lower than 100 value If the program is run for the first time a preceding 1 0 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 1
152. pansion card 12 chan total 8 on PMAC 4 on ACC 24V X OO ACC 24V OPT1V 4 additional channels 16 channels total 8 on PMAC 8 on ACC 24V X X X X X X X P T dis 4 80 1 Dual 3rd phase generator for PMAC commutated motors XX X X ro 5 ACC 8D OPT 2 V F converter to control stepper drivers X X lt 80 4 Quad hydraulic valve driver 20W channel 30V 1 0A cont 2 0 Leet Ce e ee gt ACC 8D OPT 4A Quad motor Driver 150W channel 48V max 3 0A cont 5 0A peak C UE LEE WO 50211725 IR X X C ACC 8E PMAC2 2 axis analog breakout terminal block board 4 DACs 2 encoders 2 flag sets X X X X X gt ACC 8F PMAC2 2 axis PWM breakout w digital current feedback 36 pin con X X ACC 8FP PMAC2 2 axis PWM breakout panel mount w digital current feedback 36 pin con X X X X XC X X 8 1 PMAC2 2 axis PWM interface board to Fanuc C S Series drives ACC 8K2 PMAC2 2 axis PWM interface board to Kollmorgen IPB drives X X X X XC X X 5 8 1 4 channel breakout board monolithic terminal block must specify Opt C X CX X XX X X ml ACC 8P PMAC 1 4 channel breakout board monolithic terminal block must specify Opt V X X X CO X X X XX X X 85 PMAC2 2 stepper motor
153. precedence as and and have the same precedence as and Use of parentheses can override these default precedences 4 3 7 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 ATAN ATAN2 SQRT LN EXP ABS and INT Whether the units for the trigonometric functions are degrees or radians is controlled by the global I variable 115 Page 33 4 0 Programming PMAC 2 This 16 an expanded arctangent function which returns the angle whose sine is the expression parentheses and whose cosine 1s 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 is that it has a full 360 degree range rather than the 180 degree range of the single argument ATAN function This is the natural logarithm function log base e EXP This is the exponentiation function Note To implement y function use e instead A sample PMAC expression would be EXP P2 LN P1 to implement the function P1 SQRT This is the square root functi
154. red of multiple motors their move commands are simply put on the same line and the moves will be coordinated 5 2 1 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 8 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 coordinate system Even when this 15 the case however the matching motor and axis are not completely synonymous The axis is 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 in a coordinate system This is common in gantry systems where motors on opposite ends of the cross piece 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 This is commonly done with two mot
155. rence 1 msec 1 msec MI97 110 Suggested M variable for timebase change Equal to I10 is 100 equal to 0 is 096 10 The variable Ix94 controls the rate at which the timebase changes Ix94 128 where t is the slew rate time in msec 5 10 3 External Time Base Control Electronic Cams The time reference of each coordinate system could be changed from the default internal reference controlled by the 4 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 timebase and an external source In this fashion motion programs can be developed and tested running in real time internal timebase and synchronized later to a master frequency when proven to be functional and completed gt gt Master encoder Pulses of the master The coordinate Motion programs in The distances generates pulses as are seeing by PMAC system timebase is PMAC are programmed in distance is covered as a number that adjusted every programmed in time PMAC are covered in like a web of material represent a frequency servo cycle based on TS TA TM and the times specified passing by the master frequency DELAY TS and TA TM Distance of the slaved coordinate system depends on the distance covered by the master The only setup part of this feature is an entry in the conversion table that will als
156. rformed after power up reset PMAC will consider the power up reset position as the zero point reference Motor x Position Address Motor x Home Offset Motor x Jog Home Acceleration Time 1902 1907 Encoder 0 Capture Control PMAC 1 Only Motor x Jog Home S Curve Time 903 1908 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 ENC capture compare position register FAULT input status Mx23 ENC 3rd channel input status Desired velocity zero bit Mx33 LIM input status Home complete bit Mx45 LIM input status Encoder home capture offset counts Mx73 Vom NN EN ET Home commands could be issued the terminal window a Motion Program PLC Program 1 8 Home axis 1 to 8 Motion Program Program is halted until home is completed 1HM Online command for homing motor 1 from the terminal window CMD 1HM Online command for homing motor 1 from a PLC program while command statement 18 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 very 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 w
157. rvo Interrupt Cycles Data Gathering Selection Mask 5000000 SFFFFFF 0 none Data Gathering Source 1 Address 000000 SFFFFFF 0 Modified PMAC addresses Data Gathering Source 2 thru 24 Addresses 000000 SFFFFFF Modified PMAC addresses Data Gathering Buffer Location And Mode Other global I variables 0 3 Range none Units Address Of Pointer For Control W Command 50000 FFFF 0 65 535 Legal Y addresses DPRAM Servo Data Enable 44 none DPRAM Background Data Enable 4 none RAPID Mode Control d none Leadscrew Compensation Enable 1 none Feed Hold Slew Rate 8 388 607 110 units segmentation period Program Step Mode Control m none DPR Background Data buffer enable none DPRAM Communications Interrup Enable none DPRAM Binary Rotary Buffer Enable none DPRAM ASCII Communications Enable none DPRAM Buffer Max Motor CS Number none Auto Converted ADC Register Address SFFDO FFFE PMAC Y addresses Number of Auto Converted ADC pair Registers Number of registers minus 1 Internal Message Carriage Return Control none Control X Echo Enable none Internal Response Tag Enable 1 ke Motor x 3rd Resolver Gear Ratio 0 4095 0 Second resolver turns per third resolver turn Cu
158. ry At the beginning and end of a series of splined moves PMAC automatically adds a zero distance segment of TA time for each axis and performs the spline between this segment and the adjacent one This results in an 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 is removed 5 9 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 user specifies the axis states 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 user specifies the end position or distance the end velocity and the piece time 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 with 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 data where
159. s PROG ROT Preparatory Code G Code G data PROG ROT Unconditional Jump With Return GOSUB data Motion Program Unconditional Jump Without Return GOT Of data Motion Program Programmed Homing HOME constant constant HM constant constant PROG ROT HOME constant constant constant constant HM constant constant constant constant Programmed Zero Move Homing HOMEZ constant constant HMZ constant constant PROG ROT HOME constant constant constant constant HMZ constant constant constant constant I Vector Specification for Circular Moves or Normal Vectors PROG ROT Set I Variable Value l constant expression PROG ROT PLC Incremental displacement of X Y and Z axes IDIS constant PROG ROT Conditional branch IF condition Motion or PLC Conditional branch IF condition action action PROG ROT Incremental Move Mode INC axis axis PROG ROT Incremental rotation scaling of X Y and Z axes IROT constant PROG ROT J Vector Specification for Circular Moves J data PROG ROT Page 1 of 2 Appendix 4 PMAC PROGRAM COMMAND SPECIFICATION Function Syntax Syntax Type K Vector Specification for Circular Moves K data PROG ROT Blended Linear Interpolation Move Mode LINEAR LIN PROG ROT Set M Variable Value M constant expression PROG ROT Synchronous M Variable Value Assignment M con
160. s 4 3 3 Q Variables 4 3 4 M Variables 4 3 5 Array capabilities 4 3 6 Operators 4 3 7 Functions 4 3 8 Comparators 4 3 9 User Written phase and User Written servo algorithms 4 4 Memory Map 4 4 1 User Buffer Storage Space 4 5 Encoder Conversion Table 4 5 Conversion Table Structure 4 5 2 Further Position Processing 4 6 PMAC position registers 4 7 Homing Search Moves 4 8 Command and Send statements 5 0 MOTION PROGRAMS 5 1 How PMAC Executes a Motion Program 5 2 Coordinate Systems 5 2 1 Axis definitions 5 2 2 Axis Definition Statements 5 3 Writing a MOTION PROGRAM 5 4 Running a MOTION PROGRAM 5 5 Subroutines and Subprograms 5 5 Passing Arguments to Subroutines 5 5 2 G M T and D Codes Machine Tool Style Programs 5 6 Linear blended moves 5 6 1 Observations 5 7 Circular Interpolation 5 8 Splined Moves 5 9 PVT Mode Moves 5 10 Other programming features 5 10 1 Rotary Motion Program Buffers 5 10 2 Internal Timebase the feedrate override 5 10 3 External Time Base Control Electronic Cams 5 10 4 Position Following Electronic Gearing 5 10 5 Cutter Radius Compensation 5 10 6 Synchronous M Variable Assignment 5 10 7 Synchronizing PMAC to Other PMACs 5 10 8 Axis Transformation Matrices 5 10 9 Position Capture and Position Compare Functions 5 10 10 Learning a Motion Program 3l 31 31 33 29 33 34 34 35 35 36 36 3
161. s Upto 100 meters remote I O operation 1 3 2 PMAC PC Recommended for applications with more than four channel requirements either a PC based or stand alone environment More than four channels could 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 1 3 3 PMAC Lite 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 on board The number of channels could always be expanded from 4 to 12 through the use of an ACC 24P The PMAC Lite board 1s also provided in a stand alone box the PMACPack complete of power supplies and connectors For one or two channels applications the Mini PMAC board is suggested instead 1 3 4 PMAC VME With the same features as the PMAC PC the PMAC VME is the only option for VME based applications The PMAC VME could be ordered with either 4 or 8 axes Option 1 The Dual ported RAM option in a PMAC VME 15 on board 1 3 5 PMAC STD With the same features as the PMAC PC the PMAC STD is the only option for STD based applications The Dual ported RAM option is not available for the PMAC STD and it is limited to eight channels no ACC 24 is available for it Page 2 1 0 Introduction to PMAC PMAC Typ
162. s 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 1s interpreted 0000 Specified by assignment 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 1s to create arrays of P and Q variables or arrays in dual ported RAM or in user buffers see on line command DEFINE UBUFFER Many M variables have a more limited range than PMAC s full computational range If a value outside of the range of an M variable is attempted to be placed to that M variable PMAC automatically rolls over the value 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 is attempted to be placed in an integer M variable PMAC automatically rounds to the nearest integer Once defined an M variable may be used in programs just as any other variable through expressions When the expression 1s 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
163. ses on PLCs Instead PMAC has four 24 bit timers that you can 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 less than 0 Example 90 gt 50700 0 24 6 Timer register 1 8388608 110 msec 91 gt 50700 0 24 6 Timer register 2 8388608 I10 msec 92 gt 50701 0 24 6 Timer register 3 8388608 110 msec 93 gt 50701 0 24 6 Timer register 4 8388608 110 msec OPEN PLC3 CLEAR M1 0 Reset Output 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 Set Output 1 after time elapsed DIS PLCs disables PLC3 execution needed in this example CLOSE Page 60 6 0 PLC Programs If you need more timers probably the best technique to use is in memory address X 0 This 24 bit register counts up once per servo cycle We will store a starting value for this then each scan subtract the starting value from the current value and compare the difference to the amount of time we wish to wait Example 0 gt 50 24 Servo counter register 85 gt 507 0 24 Free 24 bit register 86 gt 507 1 24 Free 24 bit register OPEN PLC 3 CLEAR M1 0 Reset Output before start
164. sing circular interpolation for example one axis could be plot Vs the other instead of Vs time Simulating an X Y plot graphically could be a very important aid in understanding the set of parameters involved in a circular interpolation move 2 3 Saving and retrieving PMAC parameters It is very important to periodically save the complete set of PMAC parameters in the host computer 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 pull down menu select save configuration and global configuration Select a meaningful name to be saved as Usually is a good practice to include the date as part of the file name for later identification For example PMAC0112 has four digits for the application identifier and four digits for the 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 Backup pull down menu It is also suggested to verify PMAC s memory after the restore function as well Page 14 2 0 PMAC Executive program PEWIN 2 4 The WATCH and POSITION windows The position window is accessed through the Position
165. single ended command using PMAC channel 1 connect DACI pin 43 to the command input on the amplifier Connect the amplifier s command signal return line to PMAC s AGND line pin 58 Jn this setup leave the DACI pin floating do not ground it For a differential command using PMAC channel 1 connect DACI pin 43 to the plus command input on the amplifier Connect DAC1 pin 45 to the minus command input on the amplifier PMAC s AGND should still be connected to the amplifier common If your amplifier is expecting separate sign and magnitude signals connect DAC1 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 Page 24 Installing and Configuring PMAC format requires some parameter 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 you are using PMAC to commutate the motor you will 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 consecutively numbered with the lower numbered channel having an odd number e g
166. sition information in the 24 bit register pointed to by Ix03 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 Axis Position Scaling in the coordinate system axis definition a scale factor determines the relationship between encoder counts and user units to be used in motion programs Leadscrew Compensation a compensation table containing corrective values for errors due to the leadscrew imperfections can be created for each motor 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 Torque Compensation Tables The table belonging to a motor provides a torque correction to that motor as a function of that motor s position Page 36 4 0 Programming PMAC 4 6 PMAC position registers The PMAC Executive position window or the online command reports the value of the actual position register plus the position bias register plus the compensation correction register and if bit 16 of Ix05 is 1 handwheel offset mode minus the master position register 175 gt 5002 16 1 Bit 16 of I105 162 gt 0 5002 1 Actual position 1 Ix08 32 cts 164 gt 0 50813 1 Position bias 1 Ix08 32 cts M167 gt D 002D 1 Present master handwheel pos 1 Ix07 32 cts of master
167. ssions 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 conveniently be used Once the code has been written it 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 5 1 How PMAC Executes a Motion Program Basically a PMAC program exists to pass data to 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 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 is necessary 1f 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 vel
168. st 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 1t 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 the compiled PLCCO should be used in the same cases as PLCO taking advantage of the faster execution rate that a compiled PLC provides Both PLCO and PLCCO could 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 or 3 This makes PLC1 the appropriate PLC to initialize parameters perform commutated motors phase search and run motion programs PLClcould also disable other PLCs before they start running and could disable itself at the end of its execution 2 Since PLClis suggested as an initialization PLC and could potentially run only once on power up PLC2 is the first PLC in the remaining sequence from 2 to 31 This makes PLC2 the ideal place to copy digital input information from I O expansion boards like the ACC 34 into its image variables This way PLCs 3 to 30 could use the input information writing the necessary output changes to the outputs image variables PLC3 to PLC30 PLC programs are particularly useful f
169. stant expression Motion Program M Variable And Equals Assignment M constant amp expression PROG ROT M Variable Or Equals Assignment M constant expression PROG ROT M Variable XOR Equals Assignment M data expression PROG ROT Machine Code M Code M data PROG ROT Read MACRO auxiliary parameter value MACROAUXREAD NodeNum ParamNum Variable MXR NodeNum ParamNum Variable background PLC only Write MACRO auxiliary parameter value MACROAUXWRITE NodeNum ParamNum Variable MXW NodeNum ParamNum Variable background PLC only Read copy Type 1 MACRO auxiliary parameter value MACROSLVREAD node slave variable PMAC variable MSR node slave variable PMAC variable PLC 1 to 31 only Write copy Type 1 MACRO auxiliary parameter value MACROSLVWRITE node slave variable PMAC variable MSW node slave variable PMAC variable PLC 1 to 31 only Program Line Label N constant PROG ROT Define Normal Vector to Plane of Circular Interpolation and Cutter Radius NORMAL vector data vector data NRM vector data vector data PROG ROT Compensation Alternate Line Label O constant PROG ROT Conditional OR OR condition PLC program only Set P Variable Value P constant expression PROG ROT Pause execution of PLC program s PAUSE PLC constant constant PAUSE PLC constant constant PAU PLC constant consta
170. t Y 08D7 20 1 M390 gt Y 0997 20 1 490 gt 0 57 20 1 M590 gt Y 0B17 20 1 M690 gt Y 0BD7 20 1 M790 gt Y 0C97 20 1 M890 gt Y 0D57 20 1 Motor Axis Definition Registers Motor 1 Motor 2 Motor 3 Motor 4 Motor 5 Motor 6 Motor 7 Motor 8 X U A B C Axis scale factor cts unit M191 gt L 0822 M291 gt L 08E2 M391 gt L 09A2 M491 gt L 0A62 M591 gt L 0B22 M691 gt L 0BE2 791 gt 1 0 2 M891 gt L 0D62 Y V Axis scale factor cts unit M192 gt L 0823 M292 gt L 08E3 M392 gt L 09A3 M492 gt L 0A63 M592 gt L 0B23 M692 gt L 0BE3 M792 gt L 0CA3 M892 gt L 0D63 Z W Axis scale factor cts unit M193 gt L 0824 M293 gt L 08E4 M393 gt L 09A4 M493 gt L 0A64 M593 gt L 0B24 M693 gt L 0BE4 M793 gt L 0CA4 M893 gt L 0D64 Axis offset cts M194 gt L 0825 M294 gt L 08E5 M394 gt L 09A5 M494 gt L 0A65 M594 gt L 0B25 M694 gt L 0BE5 M794 gt L 0CA5 M894 gt L 0D65 Coordinate System Variables Coordinate System 1 Coordinate System 2 Coordinate System 3 Coordinate System 4 Coordinate System 5 Coordinate System 6 Coordinate System 7 Coordinate System 8 Host commanded time base 110 units 197 gt 0806 0 24 5 M297 gt X 08C6 0 24 S M397 gt X 0986 0 24 S M497 gt X 0A46 0 24 S M597 gt X 0B06 0 24 S M697
171. ter contains the offset specified in the axis definition command 1 gt X offset online command axis the motion program command PSET adds the specified offset to the existing M164 offset M164 M164 new offset To read this register in counts P164 M164 I108 32 M165 gt L 081F amp 1 X axis target position engineering units M165 contains the programmed axis position through a motion program X10 for example in engineering units It also gets updated by the online command axis constant the motion program command PSET Page 37 4 0 Programming PMAC 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 cts msec P166 166 8388608 1109 32 110 1160 1 M167 gt D 002D 1 Present master handwheel pos 1 Ix07 32 cts of master or 1 Ix08 32 cts of slaved motor M167 is related to the master slave relationship set through 05 and Ix06 It contains the present number of counts the master To read this register in counts P167 M167 I108 32 or P167 M167 I107 32 M169 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
172. the OPEN PLC n statement where n is 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 When you are finished you close the buffer with the CLOSE command Opening a PLC program buffer automatically disables that program After it is closed it 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 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 You should then correct the PLC program in the host and re enter it clearing the erroneous block in the process of course This process is repeated for all of the PLC buffers you wish to use 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 you to reset PMAC and have no PLC s running an enabled PLC only runs if I5 is set properly and more easily recover from a PLC programming error Structure example CLOSE DELETE GATHER DELETE TRACE OPEN PLC n CLEAR PLC statements CLOSE ENA
173. the master clock frequency and jumpers E98 E29 E33 E3 E6 The default update frequency is 2 26 kHz 442 usec cycle At the default the servo update of each motor takes approximately 79 of PMAC s computational power Actual Position Commanded AGnd Position 1 6 4 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 Page 8 1 6 5 Real Time Interrupt Tasks The real time interrupt RTT tasks are the fifth highest priority on They occur immediate after the servo update tasks at a rate controlled by parameter 18 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 precalculation could be either zero one or two and it depends on the type of motion commands and the mode in which the program 1 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
174. tible X Not Compatible P Partially Compatible O Compatible if PMAC Opt Purchased A Compatible if PMAC Acc Purchased T Compatible w Turbo Version N Compatible w non Turbo Version Worldwide Leadership in Motion Control Delta Tau USA West Coast Headquarters USA Delta Tau Data Systems Inc 21314 Lassen St Chatsw orth CA 91311 U S A PH 818 998 2095 FAX 818 998 7807 E MAIL support deltatau com Delta Tau Branch Offices 9 Representatives Distributors Europe Delta Tau Europa Hheinweg 4 CH 8200 Schaffhausen Switzerland Tel 41 52 625 2088 Fax 41 52 625 4482 E mail bradp deltatau com PMAC Japan 13 10 Nihonbashi Odennmacho Chuo ku Tokyo 103 Japan PH 03 3665 6421 FAX 03 3665 6888 E MAIL info pmac j com PMAC Japan 2 Delta Tau Int l Korea South Korea Delta Tau Intl Korea Hyundai Apt 1103 1205 1575 4 Ilsan2 Ilsan Koyang Kyungki do South Korea 411 312 PH 82 344 975 6156 FAX 82 344 957 6155 E MAIL jypark bora dacom co kr
175. ting 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 4 3 COMPUTATIONAL FEATURES 4 3 1 I variables I Variables initialization or setup variables determines the personality of the card for a given application They at fixed locations in memory and have pre defined meanings Most are integer values and their range varies depending on the particular variable There 1024 I variables from 10 to 1023 and they are organized as follows l0 179 General card setup 199 Geared Resolver setup 1100 1184 Motor 1 setup 1185 1199 Coordinate System 1 setup 200 1284 Motor 2 setup 1285 1299 Coordinate System 2 setup 1800 1884 Motor 8 setup 1885 1899 Coordinate System 8 setup 1900 1979 Encoder 1 16 setup 1980 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 is a buffer is open Examples 1120 45 1120 111204 25 3 For I variables with limited range an attempt to assign an out of range value does not cause an error The value is automatically rolled over to within the range by modulo arithmetic truncation For example I3 has a range of 0 to 3 4
176. tion Table DEFINE COMP entries source target count length DEFINE COMP two dimensional Define two dimensional leadscrew compensation table DEFINE COMP entr1 entr2 src1 src2 trgt Igt1 lgt2 DEF COMP DEFINE GATHER Create a data gathering buffer DEFINE GATHER constant DEF GAT constant DEFINE ROTARY Define a rotary motion program buffer DEFINE ROTARY constant DEF ROT constant DEFINE TBUF Create a buffer for axis transformation matrices DEFINE TBUF constant DEF TBUF constant DEFINE TCOMP Define torque compensation table DEFINE TCOMP entries count length DEF TCOMP entries count length DEFINE UBUFFER Create a buffer for user variable use DEFINE UBUFFER constant DEF UBUF constant DELETE BLCOMP Erase backlash compensation table DELETE BLCOMP Page 1 of 3 DEL BLCOMP Appendix 3 PMAC On Line Immediate Commands On Line Command Function Syntax Syntax DELETE COMP Erase leadscrew compensation table DELETE COMP DEL COMP DELETE GATHER Erase the data gather buffer DELETE GATHER DEL GAT DELETE PLCC Erase specified compiled PLC program DELETE PLCC constant DEL PLCC constant DELETE ROTARY Delete rotary motion program buffer of addressed coordinate system DELETE ROTARY DEL ROT DELETE TBUF Delete buffer for axis transformation matrices DELETE TBUF DEL TBUF DELETE TCOMP Eras
177. tter Comp Outside Corner Break Point 1 0 1 0 0 99848 cos 1 cos 0 Minimum Arc Angle Non negative floating point 0 sets 2 20 Semi circles radians 180 degrees Motor x 2nd Resolver Gear Ratio 0 4095 0 Primary resolver turns per second resolver turns Backlash Hysteresis Motor definition I variables 0 8 388 607 Range 64 4 counts Default 1 16 Count Units Motor x Activate 0 1 1 for motor 1 none Motor x PMAC Commutate Enable 0 1 0 none Motor x DAC Address PMAC addresses see 02 table Extended legal PMAC X and Y addresses Motor x Position Address PMAC X addresses see encoder table Extended legal PMAC X addresses Motor x Velocity Address PMAC X addresses Same as 03 Legal PMAC X addresses Motor x Master Position Address PMAC X addresses 073F Legal PMAC X addresses Motor x Master Follow Enable 0 1 0 none Motor x Master Scale Factor 8 388 608 8 388 607 96 none Motor x Position Scale Factor 0 8 388 607 96 none Motor x Velocity Scale Factor 0 8 388 607 96 none Motor x Power on Servo Position Address Motor safety I variables PMAC addresses Range 0 Default Extended PMAC or multiplexer port addresses Units Motor x Fatal Following Error Limit 0 8 388 607 32000 1 16 Count
178. ull card reset Global card reset and reinitialization 55977 96 Report the addressed coordinate system s feedrate override value 96 constant Set the addressed coordinate system s feedrate override value constant amp constant Address a coordinate system amp constant amp Report currently addressed coordinate system amp Halt program execution at end of currently executing move 2 Report motor status 2 Report the status words of the addressed coordinate system 2 22 Report global status words 22 Report currently addressed card on serial daisychain card Address a card on the serial daisychain card Do a program hold permitting jogging while in hold mode A Abort all programs and moves in the currently addressed coordinate system A ABS Select absolute position mode for axes in addressed coordinate system ABS ABS axis axis axis constant Re define the specified axis position axis constant B constant Point the addressed coordinate system to a motion program B constant CLEAR Erase currently opened buffer CLEAR CLR CLOSE Close the currently opened buffer CLOSE CLS constant Assign value to variable PO or to table entry constant DATE Report PROM firmware revision date DATE DAT DEFINE BLCOMP Define backlash compensation table DEFINE BLCOMP entries count length DEF BLCOMP entries count length DEFINE COMP one dimensional Define Leadscrew Compensa
179. were assigned to Machine Inputs 1 thru 8 MI1 MI8 and to M8 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 for his own use 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 Warning Certain registers that are under PMAC s automatic control particularly those used in the servo calculations can cause problems if the user writes to them directly 0000 00FF Fixed Use calculation Registers Fixed Use calculation Registers Internal DSP Memory 0100 17FF Fixed Use calculation Registers Fixed Use calculation Registers External Static RAM Battery Backed 1800 BBFF User Buffer Storage Space User Buffer Storage Space External Static RAM Battery Backed BC00 BFFF User Written Servo Storage M Variable Definitions External Static RAM Battery Backed D000 DFFF Bits 0 to 15 Bits 0 to 15 Dual Ported RAM E000 F000 VME Setup Registers bits 0 to 7 Mailbox Registers bits 0 to 7 VME bus registers 1800 PROGm 4 4 1 User Buffer Storage Space PROGn PROGz 256 Motion Programs be held All programs must be stopped before any can be PLCO opened All programs must be stopped before any can run
180. y I variables appropriately x stands for the motor number 1 through 8 jMotorsafetykvariables Range Default Units o kx _ kt Sotware Posen lim 24 ia rc Soar Poston Lit bz Number of counts of the position encoder Number of counts of the velocity encoder For dual feedback systems 1x08 09 Units of Distance of the position encoder Units 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 O ten will output 10 of the DAC on motor 1 It is about 0 6 Volts 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 6 Volts lt Observe the motor turning in the negative direction the position window should indicate motor 1 decreasing gt Slowly increase the percentage of the output command issued if no motion is observed If after 50 no reaction of the motor occurred check the DAC outputs following the guidelines in th
181. ycle Time left over from other tasks Rate set by 18 in servo cycles Rate set by jumpers and Ix60 Rate set by jumpers 15 enabled PLC 1 enabled PLCC Coordinate System amp 2 2 enabled PLCC move planning Coordinate System amp 1 move planning Encoder Conversion Table Execution Commutation Update Motor 1 Servo Update Motor 1 Last enabled PLCC Coordinate System amp 3 move planning Host command Coordinate System amp 4 move planning Safety checks and Watchdog register set Commutation Update Motor 2 Servo Update Motor 2 Commutation Update Motor 3 Servo Update Motor 3 Coordinate System amp 5 move planning 2 enabled PLC Coordinate System amp 6 move planning 1 enabled PLCC Coordinate System amp 7 29 enabled PLCC move planning Commutation Update Servo Update Motor 4 Motor 4 Servo Update Motor 5 Commutation Update Motor 5 Servo Update Motor 6 Commutation Update Motor 6 Last enabled PLCC Coordinate System amp 8 move planning Host command Safety checks and enabled PLCCO Watchdog register set Servo Update Motor 7 Commutation Update Servo Update Motor 8 Motor 7 Commutation Update Enabled data gathering Motor 8 otor and reporting functions Watchdog register Last enabled PLC decrement Page 7 1 0 Introduction to PMAC 1 6 1 Single Character I O Bringing in a single character from or sending out a single character to the serial
182. you can use and DAC2 for a motor or DACH and but not DAC2 and DAC3 or DAC2 and DACA For our 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 DAC1 pin 45 DAC2 pin 46 minus command inputs otherwise leave the complementary signal outputs floating If you need to limit the range of each signal to 5V you will do so with parameter I169 3 7 5 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 you are not using a direction and magnitude amplifier or voltage to frequency converter you can use this pin to enable and disable your amplifier wired to the enable line AENA1 DIR1 is pin 47 This signal is an open collector output and requires a pull up resistor to A 15V For early tests you may wish to have this amplifier signal under manual control The polarity of the signal is controlled by jumper 5 E17 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 could be used JMACH1 JMACH1 15 59 VW 59 15V ANN gt p e the amplifier To the amplifier enable signal ble signal 47 1 enable signa 47 AENA4

Download Pdf Manuals

image

Related Search

Related Contents

Gigabyte GA-H61M-USB3H motherboard  - tuprints - Technische Universität Darmstadt    MTM 8-30 kW UNIVERSAL OIL HEATER  

Copyright © All rights reserved.
Failed to retrieve file