background image

PMAC Quick Reference Guide 

Installing and Configuring PMAC 

25 

Home Switches 

While normally closed-to-ground switches are required for the overtravel limits inputs, the home switches 
could be either normally closed or normally open types.  The polarity is determined by the home sequence 
setup, through the I-Variables  
I902, I907, ... I977.  However, for the following reasons, the same type of switches used for overtravel 
limits are 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. 

PMACPack and PMAC2 Flag Inputs 

The PMAC Pack and PMAC2 interface accessories include a bipolar opto-isolating circuitry (chip PS-
2705-4NEC) for flag and amplifier fault connections: 

+V

Flag

Return

Signal

Sinking Signal

(Gnd)

Gnd

Flag

Return

Signal

Sourcing Signal

(+V)

 

Examples: 

 

 

Checking the Flag Inputs 

In the PEWIN terminal window, define the following M-Variables for the flags of the motors under 
consideration: 

Flag Type 

Motor #1 

Motor #2 

Motor #3 

Motor #4 

HMFL input status 

M120->X:$C000,20,1 M220->X:$C004,20,1 M320->X:$C008,20,1 M420->X:$C00C,20,1 

 -LIM input status 

M121->X:$C000,21,1 M221->X:$C004,21,1 M321->X:$C008,21,1 M421->X:$C00C,21,1 

 +LIM input status 

M122->X:$C000,22,1 M222->X:$C004,22,1 M322->X:$C008,22,1 M422->X:$C00C,22,1 

Flag Type 

Motor #5 

Motor #6 

Motor #7 

Motor #8 

HMFL input status 

M520->X:$C010,20,1 M620->X:$C014,20,1 M720->X:$C018,20,1 M820->X:$C01C,20,1 

 -LIM input status 

M521->X:$C010,21,1 M621->X:$C014,21,1 M721->X:$C018,21,1 M821->X:$C01C,21,1 

 +LIM input status 

M522->X:$C010,22,1 M622->X:$C014,22,1 M722->X:$C018,22,1 M822->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 the 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 is open instead. 

Summary of Contents for PMAC Mini

Page 1: ...uick Reference 3 Reference Guide for PMAC Products 4 3A0 PMACQR xPRx 5 September 29 2009 Single Source Machine Control Power Flexibility Ease of Use 21314 Lassen Street Chatsworth CA 91311 Tel 818 998 2095 Fax 818 998 7807 www deltatau com ...

Page 2: ...amplifiers contain static sensitive components that can be damaged by incorrect handling When installing or handling Delta Tau Data Systems Inc products avoid contact with highly insulated materials Only qualified personnel should be allowed to handle this equipment In the case of industrial applications we expect our products to be protected from hazardous or conductive materials and or environme...

Page 3: ...REVISION HISTORY REV DESCRIPTION DATE CHG APPVD 1 CORRECTED PMAC VME DESCRIPTION P 2 09 29 09 CP M YAHYAEI ...

Page 4: ......

Page 5: ...up 6 Programming PMAC 7 PMAC Tasks 7 Single Character I O 8 Commutation Update 8 Servo Update 8 VME Mailbox Processing 9 Real Time Interrupt Tasks 9 Background Tasks 9 Observations 10 Priority Level Optimization 11 PMAC EXECUTIVE PROGRAM PEWIN 13 Configuring PEWIN 13 Quick Plot Feature 14 Saving and Retrieving PMAC Parameters 15 The Watch and Position Windows 15 Uploading and Downloading Files 15 ...

Page 6: ...Variables 33 Q Variables 33 M Variables 34 Array Capabilities 35 Operators 36 Functions 36 Comparators 37 User Written Phase and User Written Servo Algorithms 37 Memory Map 37 User Buffer Storage Space 38 Encoder Conversion Table 38 Conversion Table Structure 39 Further Position Processing 39 PMAC Position Registers 40 Homing Search Moves 41 Command and Send Statements 42 MOTION PROGRAMS 43 How PM...

Page 7: ...ons 63 Edge Triggered Conditions 63 WHILE Loops 64 COMMAND and SEND Statements 64 Timers 65 Compiled PLC Programs 66 TROUBLESHOOTING 67 Resetting PMAC to Factory Defaults 67 The Watchdog Timer Red LED 67 Establishing Communications 68 General 68 Bus Communications 69 Serial Communications 69 Motor Parameters 69 Motion Programs 70 PLC Programs 71 APPENDIX A PMAC ERROR CODE SUMMARY 73 I6 Error Repor...

Page 8: ...PMAC Quick Reference Guide iv Table of Contents ...

Page 9: ...ypes of servo DSPGATE Gate Array ICs The PMAC type that allows only the control of analog amplifiers with 10V command signals and the PMAC2 type that is capable also of digital direct PWM or stepper command signals Each PMAC channel provided by a PMAC DSPGATE has one DAC output one encoder input and four dedicated flag inputs two end of travel limits one home input and one amplifier fault input An...

Page 10: ...e to frequency converter 12 bit resolver to digital converter inputs Up to a total of 2048 multiplexed I O points Sinusoidal encoder feedback inputs Up to 100 meters remote I O operation PMAC PC Recommended for applications with more than four channel requirements in either a PC based or stand alone environment More than four channels can be used for more than four motors operation dual feedback a...

Page 11: ...ither a PC based or stand alone environment The dual ported RAM option in a PMAC Mini is on board Two extra full encoder channels for a total of four on board can be used for dual feedback applications or with the two optional voltage to frequency V F converters for stepper drivers or hybrid amplifiers control There is no control panel port or bus interrupt in the PMAC Mini board The PMAC Mini boa...

Page 12: ...onnects to motors amplifiers and different I O points The PMAC2 Ultralite and the MACRO Motion And Control Ring Optical stations are linked with a fiber optic or twisted pair connection This clever distribution of components brings many benefits drastic reduction of wiring complexity elimination of interference by electromagnetic noise and long distance connections 3000 m 2 miles with glass fiber ...

Page 13: ... VME to a DB 25 connector Acc 3L connects PMAC Lite to a DB 9 connector and Acc 3S connects PMAC STD to a DB 25 connector Standard DB 9 to DB 25 or DB 25 to DB 9 adapters may be needed for a particular setup General Purpose Digital Inputs and Outputs JOPTO Port PMAC s JOPTO connector J5 on PMAC PC Lite and VME provides eight general purpose digital inputs and eight general purpose digital outputs ...

Page 14: ...er others have been left open These jumpers customize the hardware features of the board for a given application Check each jumper configuration using the appropriate hardware reference for the particular PMAC being set Further instructions for the jumper setup can be found in the PMAC User manual After all the jumpers have been properly set PMAC can be installed either inside the host computer or...

Page 15: ...y terminal window communicating with PMAC Online commands allow for example to jog motors change variables report variables values start and stop programs query for status information and even write short programs and PLCs In fact the downloading process is just a sequence of valid PMAC commands sent line by line by PEWIN from a particular text file PMAC Tasks As an example a 40 MHz PMAC could per...

Page 16: ...cle 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 µsec cycle At the default the commutation of each motor takes approximately 3 of PMAC s computational power Servo Update The servo update computing the new commanded position reading the new actual position and computing a c...

Page 17: ...ecution 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 Enabled PLC0 Enabled PLCC0 move calculations needed Read next line of the motion program line contains move commands calculate move execute line end of program C S pro...

Page 18: ...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 to 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 updat...

Page 19: ...y Priority Level Optimization Usually PMAC will have enough speed and calculation power to perform all of the tasks asked of it without worry Some applications will put a large demand on a certain priority level and to make PMAC run more efficiently When PMAC begins to run out of time problems such as sluggish communications slow PLC PLCC scan rates run time errors and even tripping the watchdog t...

Page 20: ...e of the total computational time available These cases include applications where large move calculations are involved small moves contouring maintaining the same servo loop rate and therefore the same control performance 20 MHz PMAC 8 commutated servo motors 40 MHz PMAC 8 commutated servo motors 20 MHz PMAC 8 non commutated servo motors 40 MHz PMAC 8 non commutated servo motors Servo Cycle Phase...

Page 21: ...for configuring and working with PMAC and its accessories including interfaces for jogging motors extensive system utilities screens for viewing various PMAC variables and status registers Configuring PEWIN 1 Define a new device using the MOTIONEXE EXE application provided 2 Open PEWIN and select the Open Terminal menu Select the device created in the previous step 3 The colors and different optio...

Page 22: ...utton 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 The Plot feature relies on the PMAC gathering functions It is useful for analyzing motion profiles and trajectories Simulating an X Y plot graphi...

Page 23: ...parameters any variable value in PMAC can be displayed constantly Right clicking on this window allows selecting the display format from hexadecimal decimal and binary reporting values Uploading and Downloading Files These functions are accessible through the File menu The uploading function is of great importance With these functions it is possible to open a text editor with the contents of the r...

Page 24: ...gle PLCC code is downloaded all the other 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 the PLCC codes to be in different files They will be combined by PEWIN in the downloading process PID Tuning Utility This function is accessible from the terminal window by pressing ALT C from th...

Page 25: ...ed Second Interaction h The calculated bandwidth can be increased up to three times Uncheck the Auto Select Bandwidth this time i Add the feed forward parameters as necessary j Add the integral actions function as necessary k Perform the second pass of the Auto Tuning After it is completed select Implement Now to activate the selected parameters 2 After the Auto Tuning is completed the PID paramet...

Page 26: ...ntrated in the center evenly along the move High vel FE correlation Cause damping Fix Increase Kvel Ix32 High vel FE correlation Cause friction Fix Increase Integral gain Ix33 or Friction Feedforward Ix68 High acc FE correlation Cause Integral lag Fix Increase Kaff Ix35 High acc FE correlation Cause Physical system limitations Fix Use less sudden acceleration Negative vel FE correlation Cause Too ...

Page 27: ...rations Access to P1Setup and P2Setup packages provided separately These setup utilities provide a user friendly approach for setting up and tuning PMAC 1 with P1Setup or PMAC2 using P2Setup Online PMAC Software and Hardware help files Jog Ribbon and connector status Screens to display organize or change I P Q and M variables Firmware downloading through MOTIONEXE for PMACs with flash memory ...

Page 28: ...PMAC Quick Reference Guide 20 PMAC Executive Program PEWIN ...

Page 29: ...ME J1 on PMAC STD s bottom board Delta Tau provides cables for this purpose Acc 3D connects PMAC PC or VME to a DB 25 connector Acc 3L connects PMAC Lite to a DB 9 connector and Acc 3S connects PMAC STD to a DB 25 connector Standard DB 9 to DB 25 or DB 25 to DB 9 adapters may be needed for a particular setup If using the Acc 26 Serial Communications converter connect from the PC COM port to Acc 26...

Page 30: ...tage can be probed at pins 1 and 3 of the J8 connector A1 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 If PMAC is in bootstrap mode send a CONTROL R character to PMAC to bypass the firmware download If communications are successful...

Page 31: ... 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 In a stand alone configuration when PMAC is not plugged in a computer bus it will need an external 5V supply to power its digital circuits The 5V line from the supply should be connected ...

Page 32: ...ative end of travel and LIMn should be placed at the positive end of travel Disabling the Overtravel Limits Flags If no overtravel limits are used they must be disabled through a change to variable Ix25 On the terminal window the following commands will disable the limits functions for all eight motors Select the motor numbers as appropriate The OR bit by bit function used here is accessible by pr...

Page 33: ...ples Checking the Flag Inputs In the PEWIN terminal window define the following M Variables for the flags of the motors under consideration Flag Type Motor 1 Motor 2 Motor 3 Motor 4 HMFL input status M120 X C000 20 1 M220 X C004 20 1 M320 X C008 20 1 M420 X C00C 20 1 LIM input status M121 X C000 21 1 M221 X C004 21 1 M321 X C008 21 1 M421 X C00C 21 1 LIM input status M122 X C000 22 1 M222 X C004 2...

Page 34: ...ed it is important to check its functionality and its polarity Note Make sure the motor is not powered while performing this test In the PEWIN open a Position window by pressing Alt V and P from the terminal window Rotate the encoder to monitor the corresponding position value of the motor in the Position window Make sure that a rotation in the positive direction increments the position values Als...

Page 35: ... test This magnitude and direction mode is suited for driving servo amplifiers that expect this type of input and for driving voltage to frequency V F converters such as PMAC s Acc 8D Option 2 board for running stepper motor drivers If using PMAC to commutate the motor use two analog output channels for the motor Each output may be single ended or differential just as for the DC motor The two chan...

Page 36: ...ral 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 Acc 21F is a six fo...

Page 37: ...the PMAC User manuals Acc 8D or Acc 8P 1 Pin 2 Pin 3 Pin 4 Pin SYMBOL 53 54 39 40 LIMn 55 56 41 42 HMFLn 51 52 37 38 LIMn 58 58 58 58 AGND 1 2 1 2 5V 3 4 3 4 GND 17 18 5 6 CHCn 19 20 7 8 CHCn 21 22 9 10 CHBn 23 24 11 12 CHBn 25 26 13 14 CHAn 27 28 15 16 CHAn 43 44 29 30 DACn 45 46 31 32 DACn 47 48 33 34 AENAn DIRn 49 50 35 36 FAULTn 58 58 58 58 AGND 58 AGND 59 A 15V OPT V 60 A 15V PMAC installed i...

Page 38: ... Flag Address PMAC X addresses see Ix25 table Extended legal PMAC X addresses For dual feedback systems encoder velocity the of Distance of Units encoder velocity the of counts of Number 09 Ix encoder position the of Distance of Units encoder position the of counts of Number 08 Ix 3 Leave any loads disconnected from the motor at this point Test the polarity and functioning of the motor by means of...

Page 39: ...ction Online Commands Many of the commands given to PMAC are on line commands that is they are executed immediately by PMAC to cause some action change some variable or report some information back to the host Some commands such as P1 1 are executed immediately if there is no open program buffer but are stored in the buffer if one is open Other commands such as X1000 Y1000 cannot be on line comman...

Page 40: ...to several locations on the card in a single line and have them take effect simultaneously at the CR at the end of the line 1R 2R CR causes both Coordinate Systems 1 and 2 to run Buffered Program Commands As their name implies buffered commands are not acted on immediately but held for later execution PMAC has many program buffers 256 regular motion program buffers eight rotary motion program buff...

Page 41: ...ables at fixed locations in PMAC s memory but with no pre defined use There are 1024 P Variables from P0 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 This allows for useful information passing between different coordinate systems P Variables...

Page 42: ...s a byte 8 bits 1 1 2 bytes 12 bits a double byte 16 bits 2 1 2 bytes 20 bits a 24 bit word a 48 bit fixed point double word a 48 bit floating point double word or special formats for dual ported RAM and for the thumbwheel multiplexer port There are 1 024 M Variables M0 to M1023 and as with other variable types the number of the M variable may be specified with either a constant or an expression M...

Page 43: ...tilizes it in the expression Care should be exercised in using M Variables in expressions If an M Variable is something that can be changed by a servo routine such as instantaneous commanded position which operates at a higher priority the background expression evaluation there is no guarantee that the value will not change in the middle of the evaluation For instance if in the expression M16 M17 ...

Page 44: ...erform 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 The global I Variable I15 controls whether the units for the trigonometric functions are degrees or radians SIN This is the standard trigonometric sine function COS This is the standard tri...

Page 45: ...aneously 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 fi...

Page 46: ...I O Registers User Buffer Storage Space 256 Motion Programs can be held All programs must be stopped before any can be opened All programs must be stopped before any can run A PLC program can be opened while others are running Buffers must be defined from end of memory toward beginning Buffers must be deleted from beginning of memory to end Encoder Conversion Table PMAC uses a multiple step proces...

Page 47: ...d and the other X words hold intermediate data Example 728 1832 400723 Time base from converted Enc 4 729 1833 000295 Time base scale factor for above The result of this time base value based on encoder 4 is placed in register X 0729 the second and last entry for this conversion Further Position Processing Once the position feedback signals have been processed by the Encoder Conversion Table which...

Page 48: ... information read from the feedback sensor after it has been converted properly through the encoder conversion table and extended from a 24 bits register to a 48 bits register To read this register in counts P162 M162 I108 32 M163 D 080B 1 Target end position 1 Ix08 32 cts This register contains the most recent programmed position and it is called the target position register If I13 0 PMAC is in s...

Page 49: ...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 32 I108 M167 M175 M169 M164 M162 M161 176 P To read this register in counts P176 M175 I108 32 Homing Search Moves If PMAC is not using an absolute feedback sensor that will keep a point of referen...

Page 50: ...etting I6 to 2 in the actual application can prevent program hang up from a full response queue or from disturbing the normal host communications protocol Messages to a host computer or terminal window can be issued using the 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 ba...

Page 51: ... 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 in zero one or two moves including DWELLs and DELAYs ahead Calculating one move ahead is necess...

Page 52: ...y put on the same line and the moves will be coordinated Axis Definitions An axis is an element of a coordinate system It is similar to a motor but not the same thing An axis is referred to by letter There can be up to eight axes in a coordinate system selected from X Y Z A B C U V and W An axis is defined by assigning it to a motor with a scaling factor and an offset X Y and Z may be defined as l...

Page 53: ...s long as G codes programming is not needed in PMAC 3 PMAC can hold up to 256 motion programs at one time For continuous execution of programs larger than PMAC s memory space a special PROG0 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 4 The CLEAR command empties the curren...

Page 54: ...coordinate definitions in all coordinate systems 1 2000X Motor 1 is defined as axes X OPEN PROG 1 CLEAR Open buffer to be written LINEAR Linear interpolation INC Incremental mode TA100 Acceleration time is 100 msec TS0 No S curve acceleration component F50 Feedrate is 50 Units per Ix90 msec X1 One unit of distance 2000 encoder counts CLOSE Close written buffer program one Running a Motion Program ...

Page 55: ...any motion program 8 Sometimes the feedrate override for the current addressed coordinate system is set at zero and no motion will occur as a result of this Check the feedrate override parameter by issuing a 1 command on the terminal window replace 1 for the appropriate coordinate system number If it is zero or too low set it to an appropriate value The 1 100 command will set it to 100 9 For troub...

Page 56: ...f seeing what arguments have actually been passed The bits of Q100 for the coordinate system are used to note whether arguments have been passed successfully bit 0 is 1 if an A argument has been passed bit 1 is 1 if a B argument has been passed and so on with bit 25 set to 1 if a Z argument has been passed The corresponding bit for any argument not passed in the latest subroutine or subprogram cal...

Page 57: ...e instead In this case the programmed TA or 2 TS if TA 2 TS results in the minimum move time of a linearly interpolated move If the TA programmed results to be less than twice the TS programmed TA 2 TS the TA time used will be 2 TS instead The acceleration time TA of a blended move cannot be longer than two times the previous TM minus the previous TA otherwise the value 2 TM TA will be used as the...

Page 58: ...ve commands are plotted without blending placing a DWELL0 command in between the two moves 3 The two moves are now plotted with the blending mode activated To find out the blending point trace straight lines through the middle point of each acceleration lines of both velocity profiles Observations 1 The total move time is given by msec 675 125 250 250 50 2 2 TA 2 TM 1 TM 2 1 TA 2 The acceleration ...

Page 59: ...ore 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 been executed already they cannot be undone and therefore the acceleration limit will be exceeded 3 When performing a blended move that involves a change of direction the end point might not be reached Ex...

Page 60: ... 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 1 1 2000X I190 1000 OPEN PROG 1 CLEAR LINEAR Linear mode INC Incremental mode TA100 Acceleration time is 100 msec TA1 TS0 No S curve component F40 Feedrate is 40 length_units second X3 msec 75 40 3000 40 I190 3 TM CLOSE Since ...

Page 61: ... from rest The second move will have a lower acceleration time TA in order to decrease the move time TM and so reach the programmed feedrate OPEN PROG 1 CLEAR LINEAR INC TS0 F40 TA100 X3 TA75 X3 CLOSE 5 All the previous analysis was performed assuming a zero S curve component A move executed with an S curve component will be similar in shape but with rounded sections at the beginning and end of th...

Page 62: ...7 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 perm...

Page 63: ...ort arc path if the R value is positive and the long arc path if R is negative If the value of R is positive the arc to the move endpoint is the short route 180 degrees If the value of R is negative the arc to the move endpoint is the long route 180 degrees 8 When performing a circular interpolation the individual axes describe a position Vs time profile close to a sine and cosine shape This is tr...

Page 64: ...ries of splined moves PMAC adds a zero distance segment of TA time for each axis automatically and performs the spline between this segment and the adjacent one This results in a S curve acceleration to and from a stop PMAC s SPLINE2 mode is very similar to the SPLINE1 mode except that the requirement that the TA spline segment time remain constant is removed PVT Mode Moves For the user who desire...

Page 65: ...the use of the BLOCKSTART and BLOCKSTOP statements surrounding a series of PVT moves the last of which has a zero end velocity it is possible to use a STEP command to execute only part of a program The PVT mode is the most useful for creating arbitrary trajectory profiles It provides a building block approach to putting together parabolic velocity segments to create whatever overall profile is des...

Page 66: ...ry space shared for motion programs PLCs compensation tables and gathering buffers The rotary motion program buffers allow running motion programs larger than the available space in PMAC s memory Communication routines provided by Delta Tau have the necessary code to implement this feature in a host computer Internal Time Base the Feedrate Override Each coordinate system has its own time base that...

Page 67: ... can possibly input to PMAC This maximum frequency will represent 100 or real time Position Following Electronic Gearing PMAC has several methods of coordinating the axes under its control to axes not under its control The simplest method is basic position following This is a motor by motor function not a coordinate system function as time base following An encoder signal from the master axis whic...

Page 68: ...e fixed for a particular application The matrix transformations permit translation rotation scaling mirroring and skewing of the X Y and Z axes They can be useful for English metric conversion floating origins making duplicate mirror images repeating operations with angle offsets and more The matrices are implemented by the use of Q Variables and DEFINE TBUF TSEL TINIT ADIS IDIS AROT and IROT comm...

Page 69: ...rvo 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 ...

Page 70: ...ng a PLC Program PLCs are programmed in the same way as motion programs are in a text editor window for later downloading to PMAC Before starting to write the PLC make sure that memory has not been tied up in data gathering or program trace buffers by issuing DELETE GATHER and DELETE TRACE commands 1 Open the buffer for entry with the OPEN PLC n statement where n is the buffer number Next if there...

Page 71: ...dates this frequently whoever needs access to this information e g host computer operator motion program can be assured of having current data Conditional Statements Most action in a PLC program is conditional dependent on the state of PMAC variables such as inputs outputs positions counters etc Action can be level triggered or edge triggered both can be done but the techniques are different Level...

Page 72: ...s of PLCs is to start motion programs and Jog motors by means of command statements Some COMMAND action statements should be followed by a WHILE condition to ensure they have taken effect before proceeding with the rest of the PLC program This is true if a second COMMAND action statement that requires the first COMMAND action statement to finish will follow Remember COMMAND action statements are p...

Page 73: ...his example CLOSE If more timers are needed the best technique to use is in memory address X 0 This 24 bit register counts up once per servo cycle Store a starting value for this then with each scan subtract the starting value from the current value and compare the difference to the amount of time to wait Example M0 X 0 24 Servo counter register M85 X 07F0 24 Free 24 bit register M86 X 07F1 24 Fre...

Page 74: ... tells 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 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 ...

Page 75: ... 8 Try communications with PEWIN and type the following commands when the terminal is opened successfully follow the communications troubleshooting section below in case communications are still not established Global Reset P0 1023 0 Reset P variables values Q0 1023 0 Reset Q variables values M0 1023 M0 1023 0 Reset M variables definitions and values UNDEFINE ALL Undefine Coordinate Systems SAVE S...

Page 76: ...re all aspects of the PMAC software are being executed both in foreground interrupt driven and background If anything keeps either type of routine from executing the watchdog will fail quickly The only recover for this failure assuming the 5V power supply is satisfactory is to hardware reset PMAC Establishing Communications Either the Executive or Setup program can be used to establish initial com...

Page 77: ...RS 422 levels quite well If the computer will not accept the signals a level conversion device such as Acc 26 may be needed Motor Parameters 1 No movement at all Check the following a Are both limits held low to AGND and sourcing current out of the pins b Is there proper supply to A 15V A 15V and AGND c Is the proportional gain Ix30 greater than zero d Can any output be measured at the DAC pin whe...

Page 78: ...rdinate system must have its limits held low even if there is no real motor attached Try the following steps for any other motion program problem 1 Type 1 100 in the terminal window 2 Check that only one of the motors can be jogged that is to be used in the motion program 3 Type the following commands in a text editor to be downloaded to PMAC close Close any buffer opened delete gather Erase unwan...

Page 79: ... been completed PLC 0 is potentially the most dangerous task on PMAC as far as disturbing the scheduling of tasks is concerned If it is too long it will starve the background tasks for time The first thing noticed is that communications and background PLC tasks will become sluggish In the worst case the watchdog timer will trip shutting down the card because the housekeeping task in background did...

Page 80: ...PMAC Quick Reference Guide 72 Troubleshooting ...

Page 81: ...m execution should halt program execution before issuing command ERR002 Password error should enter the proper password ERR003 Data error or unrecognized command should correct syntax of command ERR004 Illegal character bad value 127 ASCII or serial parity framing error should correct the character and or check for noise on the serial cable ERR005 Command not allowed unless buffer is open should o...

Page 82: ...PMAC Quick Reference Guide 74 Appendix A PMAC Error Code Summary ...

Page 83: ...ve Calc Time 0 8 388 607 0 Msec I12 Jog to Pos Calc Time 1 8 388 607 10 Msec I13 Programmed Move Segmentation Time 0 8 388 607 0 Msec I14 Auto Position Match On Run Enable 0 1 1 None I15 Deg Radians for User Trig 0 1 0 degrees None I16 Rotary Buffer Request On Point 0 8 388 607 5 Command lines I17 Rotary Buffer Request Off Point 0 8 388 607 10 Program lines I18 Fixed Buffer Full Warning Point 0 8 ...

Page 84: ...or x 3rd Resolver Gear Ratio 0 4095 0 Second resolver turns per third resolver turn I89 Cutter Comp Outside Corner Break Point 1 0 1 0 0 99848 cos 1 cos Dq I90 Minimum Arc Angle Non negative floating point 0 sets 2 20 Semi circles p radians 180 degrees I9x Motor x 2nd Resolver Gear Ratio 0 4095 0 Primary resolver turns per second resolver turns I99 Backlash Hysteresis 0 8 388 607 64 4 counts 1 16 ...

Page 85: ...dresses See Ix25 table Extended legal PMAC X addresses Ix26 Motor x Home Offset 8 388 608 8 388 607 0 1 16 Count Ix27 Motor x Position Rollover Range 0 8 388 607 0 Counts Ix28 Motor x In Position Band 0 8 388 607 160 10 counts 1 16 Count Ix29 Motor x DAC 1st Phase Bias 32 768 32 767 0 DAC Bits Servo Control I Variables Range Default Units Ix30 Motor x Proportional Gain 8 388 608 8 388 607 2000 Ix0...

Page 86: ...unts N Commutation Cycles 0 8 388 607 1000 Counts Ix72 Motor x Commutation Phase Angle 0 255 85 120 e 360 256 elec deg 1 256 commutation cycle Ix73 Motor x Phase Finding Value 0 32 767 0 bits of 16 bit DAC Ix74 Motor x Phase Finding Time 0 255 0 Servo Interrupt Cycles for Ix80 0 or 1 Servo Interrupt Cycles 256 for Ix80 2 or 3 Ix75 Motor x Power On Phase Position Offset 8 388 608 8 388 607 0 Encode...

Page 87: ...23msec servo cycle Ix95 C S x FeedHold Decel Rate 0 8 388 607 1644 2 23msec servo cycle Ix96 C S x Circle Error Limit Positive floating point 0 function disabled User length units Ix98 Coordinate System x Maximum Feedrate Non negative floating point 0 None Encoder Flag Setup I Variables Range Default Units I900 I905 Encoder 0 Decode Control 0 15 7 None I901 I906 Encoder 0 Delay Filter Disable 0 1 ...

Page 88: ...PMAC Quick Reference Guide 80 Appendix B PMAC I Variables Summary ...

Page 89: ... executing motion programs ASCII Value 17D 11 CONTROL R Begin execution of motion programs in all coordinate systems ASCII Value 18D 12 CONTROL S Step working motion programs in all coordinate systems ASCII Value 19D 13 CONTROL T Toggle serial port half full duplex mode ASCII Value 20D 14 CONTROL U Open rotary program buffer s ASCII Value 21D 15 CONTROL V Report velocity of all motors ASCII Value ...

Page 90: ...h DEFINE COMP one dimensional Define leadscrew compensation 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 lgt1 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 ROTAR...

Page 91: ... constant constan t ENABLE PLCC constant constan t 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...

Page 92: ...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...

Page 93: ... node MS command node MACROSLV node slave variable Report Type 1 MACRO auxiliary parameter value MACROSLAVE node 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 MACROSLVREAD Read copy Type 1 MACRO auxiliary parameter value MACROSLVREAD node slave variable PMAC vari...

Page 94: ... of a specified memory addresses R H address constant RESUME PLC Resume execution of specified PLC programs RESUME PLC constant constant RES PLC constant constant S Execute one move step of motion program S SAVE Copy setup parameters to non volatile memory SAVE SIZE Report the amount of unused buffer memory in PMAC SIZE TYPE Report type of PMAC TYPE UNDEFINE Erase coordinate system definition UNDE...

Page 95: ...T 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 CC0 PROG ROT Turn On Cutter Radius Compensation Left CC1 PROG ROT Turn On Cutter Radius Compensation Right CC2 PROG RO...

Page 96: ...nstant 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 axis PROG ROT Preparatory Code G Code G data PROG ROT Unconditional Jump With Return GOSUB data Motion Program Unconditional Jump ...

Page 97: ...ble 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 Compensation NORMAL vector data vector data NRM vector data vector data PRO...

Page 98: ...ode 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 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...

Page 99: ...1 M612 X C014 12 1 M712 X C018 12 1 M812 X C01C 12 1 EQU compare invert enable M113 X C000 13 1 M213 X C004 13 1 M313 X C008 13 1 M413 X C00C 13 1 M513 X C010 13 1 M613 X C014 13 1 M713 X C018 13 1 M813 X C01C 13 1 AENA DIR Output M114 X C000 14 1 M214 X C004 14 1 M314 X C008 14 1 M414 X C00C 14 1 M514 X C010 14 1 M614 X C014 14 1 M714 X C018 14 1 M814 X C01C 14 1 EQU compare flag M116 X C000 16 1...

Page 100: ... 17 1 M237 X 0079 17 1 M337 X 00B5 17 1 M437 X 00F1 17 1 M537 X 012D 17 1 M637 X 0169 17 1 M737 X 01A5 17 1 M837 X 01E1 17 1 Open loop mode bit M138 X 003D 18 1 M238 X 0079 18 1 M338 X 00B5 18 1 M438 X 00F1 18 1 M538 X 012D 18 1 M638 X 0169 18 1 M738 X 01A5 18 1 M838 X 01E1 18 1 Amplifier enabled status bit M139 Y 0814 14 1 M239 Y 08D4 14 1 M339 Y 0994 14 1 M439 Y 0A54 14 1 M539 Y 0B14 14 1 M639 Y...

Page 101: ...59 M767 D 0195 M867 D 01D1 Filter Output DAC bits M168 X 0045 8 16 S M268 X 0081 8 16 S M368 X 00BD 8 16 S M468 X 00F9 8 16 S M568 X 0135 8 16 S M668 X 0171 8 16 S M768 X 01AD 8 16 S M868 X 01E9 8 16 S Compensation correction M169 D 0046 M269 D 0082 M369 D 00BE M469 D 00FA M569 D 0136 M669 D 0172 M769 D 01AE M869 D 01EA Present phase pos includes fraction in Y register M170 D 0041 M270 D 007D M370...

Page 102: ...89 Y 0817 19 1 M289 Y 08D7 19 1 M389 Y 0997 19 1 M489 Y 0A57 19 1 M589 Y 0B17 19 1 M689 Y 0BD7 19 1 M789 Y 0C97 19 1 M889 Y 0D57 19 1 Amp fault error bit OR of motors M190 Y 0817 20 1 M290 Y 08D7 20 1 M390 Y 0997 20 1 M490 Y 0A57 20 1 M590 Y 0B17 20 1 M690 Y 0BD7 20 1 M790 Y 0C97 20 1 M890 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...

Page 103: ...16 1 MI O17 M917 Y FFD0 17 1 MI O18 M918 Y FFD0 18 1 MI O19 M919 Y FFD0 19 1 MI O20 M920 Y FFD0 20 1 MI O21 M921 Y FFD0 21 1 MI O22 M922 Y FFD0 22 1 MI O23 M923 Y FFD0 23 1 MI O24 M924 Y FFD1 0 1 MI O25 M925 Y FFD1 1 1 MI O26 M926 Y FFD1 2 1 MI O27 M927 Y FFD1 3 1 MI O28 M928 Y FFD1 4 1 MI O29 M929 Y FFD1 5 1 MI O30 M930 Y FFD1 6 1 MI O31 M931 Y FFD1 7 1 MI O32 M932 Y FFD1 8 1 MI O33 M933 Y FFD1 9...

Page 104: ...18 1 Motor C S Select Input Bit 3 M31 Y FFC0 19 1 Selected Motor C S Number M32 Y FFC0 16 4 C Thumbwheel Port Bits Definition SEL0 Output M40 Y FFC1 8 1 SEL1 Output M41 Y FFC1 9 1 SEL2 Output M42 Y FFC1 10 1 SEL3 Output M43 Y FFC1 11 1 SEL4 Output M44 Y FFC1 12 1 SEL5 Output M45 Y FFC1 13 1 SEL6 Output M46 Y FFC1 14 1 SEL7 Output M47 Y FFC1 15 1 SEL0 7 Outputs byte M48 Y FFC1 8 8 U DAT0 Input M50 ...

Page 105: ... Input 1 M11 Y FFC2 0 1 Machine Input 2 M12 Y FFC2 1 1 Machine Input 3 M13 Y FFC2 2 1 Machine Input 4 M14 Y FFC2 3 1 Machine Input 5 M15 Y FFC2 4 1 Machine Input 6 M16 Y FFC2 5 1 Machine Input 7 M17 Y FFC2 6 1 Machine Input 8 M18 Y FFC2 7 1 Machine Inputs 1 8 treated as byte M19 Y FFC2 0 8 U PMAC Built in timers Definition Timer register 1 8388608 I10 msec M90 X 0700 0 24 S Timer register 2 838860...

Page 106: ...PMAC Quick Reference Guide 98 Appendix F I O Suggested M Variable Definitions ...

Page 107: ...12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 J3A J2A J1A J4A J3B J2B J1B J4B TP1 TB1 PMAC ACC 8D TERMINAL BLOCK BOARD JPMAC VMEBUS JPMAC PCBUS RESERVED FOR OPTION 1 2 81 in 71 37 mm 16 in 4 06 mm 16 in 4 06 mm 8 37 in 212 60 mm 7 87 in 200 00 ...

Page 108: ... 47 AENA DIR OUTPUT 33 AENA DIR OUTPUT 49 FAULT INPUT 35 FAULT INPUT Amplifier 1 5 9 13 58 AGND INPUT Amplifier 3 7 11 15 58 AGND INPUT 51 LIM INPUT 37 LIM INPUT 53 LIM INPUT 39 LIM INPUT 55 HMFL INPUT 41 HMFL INPUT Flags 1 5 9 13 58 AGND INPUT Flags 3 7 11 15 58 AGND INPUT 26 CHA INPUT 14 CHA INPUT 28 CHA INPUT 16 CHA INPUT 22 CHB INPUT 10 CHB INPUT 24 CHB INPUT 12 CHB INPUT 18 CHC INPUT 6 CHC IN...

Reviews: