Home
MM4005 User`s Manual - Newport Corporation
Contents
1. a Newport EDH0162En1040 05 99 MM4005 Command List Alphabetical Command Description IMM PGM MIP Command Description IMM PGM MIP AB Abort motion E RQ nn Generate service request SRQ E E E xx AC nn Setacceleration E E E RS Reset controller E E E AD nn Define the maximum allowed angle of discontinuity a E xx SB nn Set I O output bits E E E xx AM nn Set analoginput mode E E E xx SC nn Set control loop type a E AP Abort program E E E SD nn Speed scaling E xx AQ nn Axis positions acquisition E E E SE Start synchronized motion E E xx AS nn Affect string E E E xx SF name Setaxis mechanical motion device E E AT Tell the element number under execution E E E xx SH nn Sethome preset position E E E xx AX Assign a physical axis as X geometric axis E E xx SL nn Set left travel limit E E E xx AY Assign a physical axis as Y geometric axis E E O SM Save progra
2. EDH0162En1040 05 99 Newport ROS mn IN cee SIN ee ONY Nee Yo OY oe OY ee I AO 4 OLN RRR SOA SA SQ SRIORAQNEY PD SOP SOPSL OOI OIIO 2 Ox Ce OK OAK PWR very S Vx RIK RI A RI A AZ ART Ze ANI AY SWS AY WNI AY A II umm QW Noe WY Nm PNAN I MM4005 lt 4 Axis Motion Controller Driver Newport EC Declaration of Conformity We declare that the accompanying product identified with the C mark meets all relevant requirements of Directive 89 336 EEC for Electro Magnetic Compatibility Compliance was demonstrated to the following specifications Ro Roe Ro RoI Ro Ro SN NN Ree Ro RoI Re RoI Re Rois EMISSION Radiated and Conducted Emission per EN 50081 1 Residential Commercial and Light Industry Standard IMMUNITY Radiated and Conducted Immunity per EN 50082 2 Residential Commercial and Light Industry Standard and per IEC 1000 4 5 Surge Immunity Standard yous ae ain DANIELO VP European Operations Zone Industrielle 45340 Beaune la Rolande France Ee ae a ee RT ree ey eT eee ne ee eee eee ee NOT NOT eNO eNO eNO eNO oO oO eT eT ee eT eT a ea a a a a E SKK RRR RK RK RK RK RR RARER La PD IDOI XY XNA ANG AY m VAAZ L ILNI NI XI NI XI XI NI XI XI TXSK SRP RPO POA LOD LOOP LOPALS PORE KO RNS ANAS SAS AES NI
3. Command Description IMM PGM MIP xx MF Motor OFF E E E xx MH nn Set manual velocity E E E ML Set local mode E m MO Motor ON E MP Download EEPROM to RAM E E MR Set remote mode E E xx MS Read motor status E m E xx MT nn Moveto travel limit switch E E xx MV or Infinite movement E E E MX nn Define X position for a line segment f MX MY E a MY nn Define Y position and build a line segment f MX MY E E NB nn Set trajectory element where the generation of pulses starts Mi E NE nn Set trajectory element where the generation of pulses ends W NI nn Set step curvi linear distance between synchronisation pulses NN nn Set number of synchronisation pulses to generate xx NP nn Set decimal digits number of position display E a NQ Read global acquisition nr E E E NS Allow generation of pulses on interpolation a E NT Start definition of a new trajectory E E xx OA nn Set home search acceleration E E xx OE nn Test1 O output xx OH nn Set home search high velocity E E xx OL nn Set home search low velocity E Fd xx OR nn Search for home a xx PA nn Moveto absolute position E E E xx PB nn Set start position of generation of pulses of synchronisation W E E xx PE nn Set end position of generation of pulses of synchronisation W E E xx PI nn Set step of generation of pulses of synchronisation E E E xx PR
4. 2PR3 SE WS 1YA1 WE 1PA6 65 2PA12 5 SE WS 1PA6 5 SE WS 2PA9 521 SE WS 1PR 0 5 2PR0 596 SE WS 2PA12 5 SE WS 1PA5 5 SE WS 2PA10 712 SE WS 1PR 0 5 2PR0 596 SE WS 2PA12 5 SE WS 1PA4 5 SE WS 2PA11 904 SE WS 1PA4 2PA12 5 SE WS 8CB 1SY 0 2SY 0 4QP Set relative destination of axis 2 3 mm away from current position start motion on the synchronized axis wait for motion to complete Increment variable 1 by 1 End while loop Set destination of axis 1 to 6 65 mm and of axis 2 to 12 5 mm start synchronous motion wait for motion to complete Set destination of axis 1 to 6 5 mm start synchro nized axis wait for motion to complete Set destination of axis 2 to 9 521 mm start synchro nized axis wait for motion to complete Set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start synchronous motion wait for motion to complete Set destination of axis 2 to 12 5 mm start synchro nized axis wait for motion to complete Set destination of axis 1 to 5 5 mm start synchro nized axis wait for motion to complete Set destination of axis 2 to 10 712 mm start syn chronized axis wait for motion to complete Set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start synchronous motion wait for motio
5. returned Key ASCII Variable pressed code value None None 0 Lo 0 48 1 49 2 50 3 51 4 52 5 53 6 6 54 7 55 8 8 56 ES 9 57 ia 45 a 46 1st Left A 65 2nd B 66 3rd C 67 4th Right D 68 Returns None Errors A Unknown message code J Command authorized only in programming mode O Variable number out of range Rel Commands YK _ Read key to variable Example 5YS0 Initialize variable to 0 5WL1 While variable is less than 1 repeat next commands 4YW Wait for any key and place its code in variable 4 4YE49 1PR 0 1 If key 1 is pressed move axis 1 0 1 units incrementally 4YE51 1PR0 1 If key 3 is pressed move axis 1 0 1 units incrementally 4YE48 5YS1 If key 0 is pressed set variable to 1 to end loop WS WE Wait for all motion to stop end while loop QD EDH0162En1040 06 99 3 200 Newport MM4005 YY Copy variable Usage HIMM Syntax xxYYnn Parameters Description xx int nn int Range XX nn Units XX nn Defaults XX E PGM E MIP Variable number Variable number 1to 100 integers and 101 to 120 floats 1to 100 integers and 101 to 120 floats None None Missing Error O Out of range Error O Floating point Error A Missing Error O Out of range Error O Floating point Decimal part truncated Description This command copie
6. Command Description IMM PGM MIP TE Read error code E a E xx TF Read filter parameters E E liei xx TG nn Toggle I O output bits E E E xx TH Read theoretical position E E E xx TL Read left travel limit E xx TM nn Settrace mode E E E xx TN Read displacement units E E E xx TP Read actual position E E E xx TQ nn Read global trace data E E xx TR Read right travel limit E E E TS Read controller status E m E xx TT Read trace data E E xx TU Read encoder resolution E E E TX Read controller activity E B E TX1 Read controller extended status E E Si xx TY Read a variable a a w xx UF Update servo filter E E E xx UH Wait for I O high E xx UL Wait for I O low xx VA nn Set velocity E E E xx VB nn Set base velocity Stepper motor only E E E VE Read controller version E B E VS nn Define the vector acceleration on trajectory a trajectory acceleration VV nn Define the vector velocity on trajectory trajectory velocity W E E WA nn Wait E m E WE End While loop E E xx WF Wait for function key E xx WG nn While variable is greater xx WH nn While 1 O input is equal WI nn Wait for a trajectory curvi linear length E WK aa Wait for key xx WLI nn While variable is less WN nn Wait for a element of trajectory a xx WP nn Wait for position E K m xx WS nn Wait for motion stop WT nn Wait xx WY nn While variable is different E XA Tell the c
7. Meaning for Bit Function for wi Bit LOW CH 0 Controller Power ON OFF 1 Executing a command line NO YES 2 Executing a program NO YES 3 Executing a X Y trajectory NO YES 4 Not used Default 2 2 5 Reduced communication NO YES 6 Not used Default 7 Not used Default Meaning for Bit Function for w2 Bit LOW BICHIGH 0 Manual jog NO YES 1 Manual jog with joystick NO YES 2 J oystick is present NO YES 3 Searching for HOME NO YES 4 Display Refresh Enable Disable 5 Local Remote mode Local Remote 6 Not used Default 7 Not used Default REDUCED COMMUNICATION This indicates that the controller is doing some tasks e g jog from local mode that allows only reporting or safety external commands to be exe cuted QAD Newport 3 143 EDHO0162En1040 06 99 MM4005 TX1 Read controller extended status cont Meaning for Bit Function for az b ci d Bit LOW ieee 0 Axis is connected YES NO 1 Axis Motor Power ON OFF 2 Axis Idle YES NO 3 Axis is moving NO YES 4 Axis in permanent motion NO YES 5 Following error NO YES 6 Not used Default 7 Not used Default Bit Function for a2 b2 c2 d2 Meaning for Bit LOW Bit HIGH 0 Axis is referenced to HOME YES NO 1 Limit swich is actived NO YES 2 Limit swich is actived NO YES 3 Constant speed phase NO YES 4 Axis is synchronized NO YES 5
8. rer QUIT gt QUIT gt YES gt QUIT SR Set right travel limit TR Read right travel limit HOME Preset This feature is used to set the zero location according to the application s needs This parameter defines the value that will be loaded into the position register when the motion device s home is found The factory default is zero meaning that at the home location the position is zero If for instance this parameter is set to 12 3 mm at the home location the controller reports position 12 3 mm Do not set a value for the HOME Preset parameter that is outside the soft ware travel limits To change the HOME Preset parameter press the MODIFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu Pressthe up key to advance to the next parameter lt lt gt gt VALID gt Axis Setup gt MODIFY gt uP gt MODIFY gt QUIT gt QUIT gt YES gt QUIT SH Sethome preset position XH Read home preset position Newport 2 25 EDH0162En1040 06 99 MM4005 Local Mode Kp This parameter is the proportional gain factor of the digital PID filter The valid range is between 0 and 1 All standard motion devices offered with the MM4005 have a set of conservative PID parameters stored in the con troller s firmware To change them you will need some kn
9. Number ASCII Binary Number ASCII Binary decimal Code Code decimal Code Code 0 null 00000000 36 00100100 1 soh 00000001 37 00100101 2 stx 00000010 38 amp 00100110 3 etx 00000011 39 00100111 4 eot 00000100 40 00101000 5 enq 00000101 41 00101001 6 ack 00000110 42 00101010 7 bel 00000111 43 00101011 8 bs 00001000 44 00101100 9 tab 00001001 45 00101101 10 If 00001010 46 00101110 11 vt 00001011 47 00101111 12 ff 00001100 48 0 00110000 13 cr 00001101 49 1 00110001 14 SO 00001110 50 2 00110010 15 si 00001111 51 3 00110011 16 dle 00010000 52 4 00110100 17 dc1 00010001 53 5 00110101 18 dc2 00010010 54 6 00110110 19 dc3 00010011 55 7 00110111 20 dc4 00010100 56 8 00111000 21 nak 00010101 57 9 00111001 22 syn 00010110 58 00111010 23 etb 00010111 59 y 00111011 24 can 00011000 60 lt 00111100 25 em 00011001 61 00111101 26 eof 00011010 62 gt 00111110 27 esc 00011011 63 00111111 28 fs 00011100 64 01000000 29 gs 00011101 65 A 01000001 30 rs 00011110 66 B 01000010 31 us 00011111 67 C 01000011 32 space 00100000 68 D 01000100 33 00100001 69 E 01000101 34 00100010 70 F 01000110 35 00100011 71 G 01000111 QD EDH0162En1040 06 99 8 30 Newport MM4005 Appendix F Decimal ASCII Binary Conversion Table GD Newport
10. Motor OFF gt SETUP gt GEN gt UP MODIFY gt CHANGE gt VALID gt QUIT gt QUIT CMQxx Set IEEE communication SRQ mode Baud Rate This parameter applies to the RS 232 C interface It sets the communication speed to be used on this port The valid range is from 1200 to 115200 The fac tory default is 9600 baud rate If the IEEE interface is used ignore the selection by pressing the up key and advancing to the next parameter To set the baud rate from the General Setup menu press up until the Baud Rate parameter appears on the display Press mopIFY and then the CHANGE key to select a new value Press the vaALiD key to accept the entry and return to the previous menu QD EDH0162En1040 06 99 2 12 Newport MM4005 Local Mode B anun unun unnu u ITETTTITTITTTTT CTITTIT TTT rit rt Prererererrer cy nS oe ED i GD Motor OFF_ gt SETUP gt GEN gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT CMBxx Set serial communication baud rate XON XOFF Mode XON XOFF mode synchronizes work between the transmitter and the receiver In this mode XON and XOFF characters are sont automatically generated XOFF if the receipt buffer is almost full and risks to be erased XON if the receipt buffer is sufficiently emptied to receive new characters To change the setting from the General Setup menu pr
11. B BEGR O88 Bone A TTTTTTTTTTTTTT TIT rir rit ry Pree fof ferns alan IEEE 488 Address The IEEE 488 standard requires each connected instrument device to have an address Even if the IEEE port is not selected the controller will prompt you for an address If not used ignore the selection by pressing the uP key and advancing to the next parameter Default address is 2 To change the existing address from the General Setup menu press up until the IEEE Address appears on the display Press MODIFY and then enter the desired address on the keypad Press the VALID key to accept the entry and return to the previous menu Motor OFF SETUP gt GEN gt UP MODIFY gt gt VALID gt QUIT gt QUIT CMAxx Set IEEE communication address IEEE 488 SRQ Used The SRQ line is an IEEE 488 handshake that ensures proper transmission of large files trace data large programs etc Default is NO Even if the IEEE port is not selected for use the controller will still prompt you for an entry If not applicable just ignore the selection by pressing the uP key and advancing to the next parameter To enable or disable the use of the SRQ from the General Setup menu press up until the IEEE SRQ Used appears on the display Press MODIFY and then the CHANGE key to select a new setting Press the VALID key to accept the entry and return to the previous menu
12. all EL ET Start new trajectory definition Define trajectory Execute trajectory Erase last trajectory element Add new trajectory element line to nn Move to new trajectory start location Execute same trajectory at new location QD EDH0162En1040 06 99 5 8 Newport MM4005 Trajectory Functions Tutorial e When defining a trajectory start by assigning the two motion axes to the X and Y coordinates These axis can still be used when the trajecto ry is not executing NT 2AX 4AY xxPAnn ET Start new trajectory definition Assign axis 2 to the X coordinate Assign axis 4 to the Y coordinate Define trajectory Move axis 2 to absolute position 10 Execute trajectory e Before executing a trajectory the controller verifies among other things if the defined geometry will cause at any time any axes to exceed the individual maximum allowed velocities or accelerations If so it will calculate the highest acceptable vector velocity and use it dur ing the execution The actual vector velocity that will be used can be queried remotely NT VV20 ay ET XV XV12 736 Start new trajectory definition Set vector velocity to 20 units s Define trajectory Execute trajectory Read actual vector velocity in use Controller returns actual vector velocity used e Only one trajectory can be defined and be active at a time NT command erases any old trajectory
13. GD EDH0162En1040 06 99 3 12 Newport MM4005 Remote Mode GD Newport 3 4 2 Command List Alphabetical Command Description IMM PGM MIP AB Abort motion E m xx AC nn Setacceleration E E E AD nn Definethe maximum allowed angle of discontinuity E E xx AM nn Set analoginput mode E B E AP Abort program E E E xx AQ nn Axis positions acquisition E a E xx AS nn Affect string E E E AT Tell the element number under execution E E xx AX Assign a physical axis as X geometric axis E E xx AY Assign a physical axis as Y geometric axis E a xx BA nn Set backlash compensation CA nn Define sweep angle and build an arc of circle f CR CA E xx CB nn Clear I O outputs bits E E E xx CD nn Setcycle value and activate periodic display mode E E CM nn Change communication mode E E xx CP Compile program E CR nn Define radius for anarc of circle f CR CA E a xx CS nn Concatenate two strings E E E CX nn Define X position to reach with an arc of circle f CX CY E E CY nn DefineY position to reach and build an arc of circle f CX CY xx DA pp Read desired acceleration E E E xx DF Read following error E E m xx DH Define home E E xx DL Define label E xx DM Rea
14. Indicator ON mm He mapan SP Front Panel Description A general view of the front panel is shown in Fig 1 7 There are three dis tinct areas from left to right power controls a display and function keys and a keypad On Stand by 2 Adjusting Screws Indicator Indicator Display Contrast Brightness Keypad Axis 1 Row Motion Controller Model mM4005 JOG L R 0 0 m 2 f 3 0 mi 4 0 xis 2 i 3 4if5 ie HOME MANUAL MOVE PROG gt Motor On Menu Function Negative Jog High Speed Positive J og Switch Line Keys Column Column Column Fig 1 7 MM4005 front panel Power Stand by Use this button for your everyday controller power ON OFF switching Power is switched through a relay not directly as it is through the main power switch on the rear panel For this reason a low power low voltage 12V auxiliary power supply is always on when the main power switch in the back is ON To differentiate from the rear main power switch this button is called Power Stand by MIM The power stand by switch has two LED indicators A red LED on top indi cates that the controller is powered OFF but the rear power switch is ON This is the Stand by mode A green LED below indicates the controller power ON condition Motor On Off For convenience and safety reasons the power to the motors can be con trolled separately This is done from the front panel through two bu
15. Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example QAD AX1 e E IMM E PGM MIP xxAX or AX xx int Physical axis number XX 1to4 XX None XX Missing Error B Out of range Error B This command tells to the controller which physical axis will be the X geo metric axis for the next trajectory that will be loaded ET command will ver ify the correct assignation in execution If AX takes place of the xxAX this command reportes the actual number of assigned as X geometric axis B _ Incorrect axis number S Communication time out AY Assign a physical axis as Y geometric axis LT Extended list of the trajectory 1AX Assign physical axis 1 as X geometric axis AX Controller return value 1 Newport 3 23 EDHO162En1040 06 99 MM4005 AY Assign a physical axis as Y geometric axis Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example IMM E PGM MIP xxAY or AY xx int Physical axis number XX 1to4 XX None XX Missing Error B Out of range Error B This command tells to the controller which physical axis will be the Y geo metric axis for the next trajectory that will be loaded ET command will ver ify the correct assignation in execution If AY takes place of the xxAY this comm
16. MM4005 TB Read error message Usage WIMM E PGM E MIP Syntax TBaa Parameters Description aa char Error code character in ASCII format Range aa toU Units aa None Defaults aa Missing Reads current error Out of range Controller returns message Unknown error code Description This command reads the error code and the associated message If the aa parameter is missing the controller reports the existing error If aa is a valid error code the controller returns the error message associated with that code The error code is one ASCII character and the message is the description of the error associated with it NOTE When an error is read using TB or TE the error buffer is cleared This means that an error can be read only once with either command If TB is used only for translating an error code by supplying the aa parameter the existing error in the buffer is not cleared NOTE The controller returns only the last error that has occurred If more than one error has occurred since the last reading only the last one is report ed and the rest are lost Returns TBaabb aa Error code character bb Error description Errors S Communication time out Rel Commands TE _ Read error code Example TB Read error message TB No error Controller returns no error 5PA12 3 Move axis to position 12 3 TB Read error message TBB Axis Number not Correct Controller returns error code and description GD
17. NOTE For rotary stages a rotary encoder measures the output angle directly In this case the encoder placed on the rotating platform has the same advantages and disadvantages of the linear scales 4 6 Motors There are many different types of electrical motors each one being best suitable for certain kind of applications The MM4005 supports two of the most popular types stepper motors and DC motors Another way to characterize motors is by the type of motion they provide The most common ones are rotary but in some applications linear motors are preferred Though the MM4005 can drive both stepper and DC linear motors the standard motion device family supports only rotary motors GD Newport 4 23 EDH0162En1040 06 99 MM4005 Motion Control Tutorial 4 6 1 Stepper Motors The main characteristic of a stepper motor is that each motion cycle has a number of stable positions This means that if current is applied to one of its windings called phases the rotor will try to find one of these stable points and stay there In order to make a motion another phase must be energized which in turn will find a new stable point thus making a small incremental move a step Fig 4 31 Stepper Motor Operation Fig 4 31 shows the basics of a stepper motor When the winding is ener gized the magnetic flux will turn the rotor until the rotor and stator teeth line up This is true if the rotor core is made out of soft
18. Out of range Error D Non increment Rounded to nearest frequency increment see table Description This command controls the output signal on pin 24 of the 25 pin auxiliary connector The nn parameter represents the frequency of the output sig nal Setting nn to 0 disables the frequency generator The output has an open collector configuration and a frequency range and resolution shown in the following table F Hz AF Hz Output frequency Frequency resolution 0 01 20 0 001 20 250 0 010 250 500 0 020 500 1000 0 100 1000 2500 0 500 2500 5000 1 000 NOTE For the hardware definition of the frequency generator port please see Appendix B Connector Pinouts Auxiliary Connector Returns None Errors D Unauthorized execution Rel Commands None Example FT218 24 Set an output frequency of 218 240 Hz on pin 24 of the auxiliary con nector ee SO EDH0162En1040 06 99 3 58 Newport MM4005 GQ Set global trace mode Usage HIMM E PGM E MIP Syntax GQnn or GQ Parameters Description nn int Number of samples Range nn Oto NMax 1500 to 4000 Reading of the NMax Value Units nn None Defaults nn Missing Error C Out of range Error C Floating point Decimal part truncated Description This command sets the global trace mode If the command is sent with the nn set between 1 and 4000 the controller starts immediately recording in memory the theoreti
19. REMOTE Mode To operate in REMOTE mode the controller must be connected through one of its interfaces RS 232 C or IEEE 488 to a computer or terminal In this mode all commands are received remotely and the controller executes them as directed The MM4005 command language consists of 129 commands which are described in chapter 3 REMOTE MODE PROGRAM MOTION HOME Search JOG MOVE PROGRAM Execution Fig 1 5 The functions available in REMOTE mode The functions available in REMOTE mode are similar to the ones in LOCAL mode The main difference is that the MOTOR MOTOR EE cases are handled by the command interpreter so there is no need to distinguish between them The controller will refuse to execute motion commands when the motors are turned off and will set the appropriate error flag Another difference between LOCAL and REMOTE is that the SETUP mode is not available remotely Some SETUP parameters can be changed but the controller cannot be placed remotely into a setup mode PROGRAMMING mode is enabled and disabled by specific commands All valid commands sent in this mode are not executed immediately but stored as part of a motion program MOTION is a general mode of operation in which an axis is commanded to move The most complex motions result from program execution Other types of motion include manual J OG and a point to point MOVE HOME Search mode has the same meaning and functionality as in LO
20. Usage WIMM E PGM MIP Syntax xxPW Parameters Description xx int Axis number Range XX Oto4 Units XX None Defaults XX Missing 0 Out of range Error B Floating point Error A Description This command saves in non volatile memory all parameters of the selected xx axis that have been changed through on line commands or from within a program If the axis specifier xx is not present or set to 0 parameters of all axes will be saved For a list and description of the axis parameters that are stored in non volatile memory see the System Setup paragraph of the Introduction sec tion NOTE Since this command is equivalent to making changes in SETUP mode it is valid only when motor power is turned off If the command is issued when the motor power is on the controller will ignore it and report error D NOTE Before saving make sure that the new set of parameters is correct and safe to use Also it is good practice to verify that the parameter saving procedure worked properly by issuing the TB or TE command after wards Returns None Errors A Unknown message code B Incorrect axis number D Unauthorized execution U Failure while accessing the EEPROM Rel Commands All device motion and filter parameter setting commands Example 2KD0 02 2UF SetKd parameter of axis 2 to 0 02 and update filter Verify the new parameter is working fine aa 2PW Save parameters of axis
21. Variable number message Prompt message Value XX 1to 100 integers and 101 to 120 floats message 1to 15 characters Units XX None message None Defaults XX Missing Error O Out of range Error O Floating point Error A message Out of range 15 characters Description This command read a value from the keyboard and places it in the variable xx If xx from 1 to 100 the value is entered as an integer Else if xx from 100 to 120 the value is entered as a float If message exists message is displayed in the value line else the message Y xx takes place The length of message should not bigger 15 characters otherwise message will be truncated Returns None Errors A Unknown message code O _ Variable number out of range Rel Commands TY _ Read a variable YK Read key to variable YW Wait and read key Example 5YVValueis Enter a value in the variable 3EX Execute the program 3 GD Newport 3 199 EDHO162En1040 06 99 MM4005 YW Wait and read key Usage IMM E PGM E MIP Syntax xxYW Parameters Description xx int Variable number Range XX 1to 100 integers and 101 to 120 floats Units XX None Defaults XX Missing Error O Out of range Error O Floating point Error A Description This command waits for a front panel key to be pressed and places its ASCII code in variable xx The following table lists all possible values
22. c cc cccccecceeeeeeeeeetetesetesecteteeseeeseeeeas 5 5 5 4 1 Defining Lines j cscieeecesecdetne eecieetadivcnecdeisieincnesecions 5 6 5 42 Defining Acs sania a a iiie a 5 6 5 5 Programming a Trajectory sssssessesisrsrsieiisinrsrersrsstnrnesisrnreininirerene 5 8 5 6 Trajectory Element Parameters ssesssereieririsrrisrssrsririsineinienreen 5 9 5 7 Trajectory Specific COMMANAS sssssseeisrsseisiriesrirrrrrnreininnrnrenn 5 10 5 7 1 Trajectory Setup COMMANAS ssssessesererssrsrrerrrrrnnnnnrnnen 5 10 5 7 2 Trajectory Elements Definition ComMands cceeeeee 5 10 5 7 3 Reporting COMMAMNAS oe eect teeeeeeteteeetetetetetetaeeenetes 5 10 5 7 4 Trajectory Synchronization COMMAMNAS sesser 5 10 5 7 5 Execution of a Trajectory ceccccccesceteceeeteesenetseeeeseceeeteneees 5 10 Section 6 Feature Descriptions Tutorial Table of Content psensya ia 6 1 6 1 Synchronizing Events to Motion wo cece ete eteeeeteteteeteeteseeteteeeeas 6 3 6 1 1 Pulses Synchronized to One AX S 6 3 6 1 2 Pulses Synchronized to a Trajectory eceecceceseeeeeeteeeeees 6 5 6 1 3 Synchronizing Events to Trajectory Elements eee 6 6 6 1 4 Synchronizing Events to Trajectory Position nsss 6 7 6 2 Synchronized Axes Electronic Gearing eeceeceeseeeeeteeeeeeteees 6 8 6 3 Automatic Program Execution on Power On EO Command or from thesFront Panel innieth oh ensh wide aided dati Rae 6 9 6 4 Continuous Motion MV COMMANA Qu eee eteteteeetteteteteeetetee
23. AD EDH0162En1040 06 99 2 26 Newport MM4005 Local Mode Kd This parameter is the derivative gain factor of the digital PID filter The valid range is between 0 and 1 All standard motion devices offered with the MM4005 have a set of conservative PID parameters stored in the con troller s firmware To change them you will need some knowledge of motion control loops and the help of a software utility For some general guidelines read the Servo Tuning section To change the derivative gain factor Kd press the MODIFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu Press the up key to advance to the next parameter lt gt gt Axis Setup gt MODIFY gt UP gt MODIFY gt gt VALID gt fer QUIT gt QUIT gt YES gt QUIT a KD _ Set derivative gain XD Read derivative gain factor Ks This parameter is the saturation gain factor of the PID filter integrator The valid range is between 0 and 1 All standard motion devices offered with the MM4005 have a set of conservative PID parameters stored in the con troller s firmware To change them you will need some knowledge of motion control loops and the help of a software utility For some general guidelines read the Servo Tuning section To change the proportional gain factor Ks press the MODIFY key Use the numeric keypad to enter a
24. Appendix F Decimal ASCII Binary Conversion Table Number ASCII Binary Number ASCII Binary decimal Code Code decimal Code Code 168 10101000 212 11010100 169 10101001 213 11010101 170 10101010 214 11010110 171 10101011 215 11010111 172 10101100 216 11011000 173 10101101 217 11011001 174 10101110 218 11011010 175 10101111 219 11011011 176 10110000 220 11011100 177 10110001 221 11011101 178 10110010 222 11011110 179 10110011 223 11011111 180 10110100 224 11100000 181 10110101 225 11100001 182 10110110 226 11100010 183 10110111 227 11100011 184 10111000 228 11100100 185 10111001 229 11100101 186 10111010 230 11100110 187 10111011 231 11100111 188 10111100 232 11101000 189 10111101 233 11101001 190 10111110 234 11101010 191 10111111 235 11101011 192 11000000 236 11101100 193 11000001 237 11101101 194 11000010 238 11101110 195 11000011 239 11101111 196 11000100 240 11110000 197 11000101 241 11110001 198 11000110 242 11110010 199 11000111 243 11110011 200 11001000 244 11110100 201 11001001 245 11110101 202 11001010 246 11110110 203 11001011 247 11110111 204 11001100 248 11111000 205 11001101 249 11111001 206 11001110 250 11111010 207 11001111 251 11111011 208 11010000 252 11111100 209 11010001 253 11111101 210 11010010 254 11111110 211 11010011 255 11111111 GO 8 32 Newport EDH01
25. Axis Status To the left of the axis identifiers as shown in Figure 1 9 there are four char acters that can appear depending on the status of each axis O Will appear only if a Home Search routine has been performed success fully on that axis It means that a mechanical origin has been found Indicates that the negative direction usually left limit switch has been activated tripped A Newport 1 17 EDH0162En1040 06 99 MM4005 Introduction 1 3 7 STATUS PROG SETUP M Appears when the mechanical origin switch is in high state As a stage moves from one end of travel to the other you will see this indicator appear and disappear This means that the stage has moved from one side of the switch to the other The state of this indicator does not affect the normal operation of the motion device For a complete description of the home search algorithm see Section 4 Motion Control Tutorial Indicates that the positive direction usually right limit switch has been activated tripped NOTE If both and appear the motion device is either disconnected or a hard ware failure exists On power up sequence the controller checks every axis for this case If found it assumes that no motion device is present The axis is marked with Unconnected on the display and all commands for it will be ignored At the end of each axis information line an OK is displayed if no error has been detected If a problem
26. Carefully observe and record the motion sequence by watching the manual knob rotation if avail able With the information col lected call Newport for assistance EDH0162En1040 06 99 8 28 Newport MM4005 Appendix E Troubleshooting Guide Problem Cause Corrective Action Make sure that the computer Wrong line and the controller use the same line terminator Verify that the controller is set to communication on the left port RS 232 C or IEEE 488 Wrong commu Verify that all communication nication para parameters match between the meters computer and the controller No remote commu Wrong commu nication nication port NOTE Many other type of problems are detected by the controller and reported on the display and or in the error register Consult appendix A for a com plete list and description A Newport 8 29 EDHO0162En1040 06 99 MM4005 4 Axis Motion Controller Driver F Decimal ASCII Binary Conversion Table Some of the status reporting commands return an ASCII character that must be converted to binary To aid with the conversion process the fol lowing table converts all character used and some other common ASCII symbols to decimal and binary To also help in working with the I O port related commands the table is extended to a full byte all 256 values
27. Errors Rel Commands Examples E IMM E PGM MIP xxSFname p xxSFnn or xxSF xx int Axis number nn int Axis number name p Name of mecanical device to set with p 0 or missing origin at center center of the travel p 1 Home position on motor side End of Travel p 1 Home position on opposite motor side End of Travel Read the actual mecanical device name NOTE p takes effect only with motion devices with switchable home position Mechanical Zero such as families MTM UTM EM DEFAULT xx nn 1to4 xx nn None XX Missing Error B Out of range Error B Floating point Error A This command set a new unit to an axis All controller concerned parame ters will be recalculed to adapt for the new mecanical motion device If xxSFnn nn takes place of name this command copies all configuration properties device name device units parameters of the axis nn to the axis xx NOTE The SF command must be used carefully All axis parameters are replaced by the new specified stage parameters NOTE This command must be used when motor power is off to avoid a dis placement at the time of the stage modification NOTE After use of the SF command it is necessary to execute a home search routine on the axis with new parameters If the sign takes place of name this command reportes the name of the actual mecanical motion device installed in the co
28. IEEE488 Interface Connector 24 Pin The IEEE488 connector has a standard configuration shown in Fig C 8 Pin DIO1 1 13 DIO5 DIO2 2 14 DIO6 DIO3 3 15 DIO7 DIO4 4 16 DIO8 EO 5 17 REN DAV 6 18 GND NRFD 7 19 GND NDAC 8 20 GND IFC 9 21 GND SRQ 10 22 GND ATN 11 23 GND SHIELD 12 24 SIG GND Fig C 8 IEEE488 connector definition QD EDH0162En1040 06 99 8 16 Newport MM4005 Appendix C Connector Pinouts Motor Interface Connector 25 Pin D Sub This connector interfaces to the motion device Depending on the type of driver and motor some pins have different meanings If not otherwise spec ified this description is valid for all cases Pin Stepper Motor DC Motor Unipolar Bipolar 5 Phase 1 Phase 1 Phase 1 Phase 1 Tacno Generator Tacho 2 Phase 1 Phase 1 Phase 1 Generator 3 Phase 2 Phase 1 Phase 2 ae Generator Tacho 4 Phase 2 Phase 1 Phase 2 Generator 5 Phase 3 Phase 2 Phase 3 Motor 6 Phase 3 Phase 2 Phase 3 Motor 7 Phase 4 Phase 2 Phase 4 Motor 8 Phase 4 Phase 2 Phase 4 Motor Common 9 Phase 3 4 N C Phase 5 N C 10 N C N C N C N C Common 11 Phase 1 2 N C Phase 5 N C 12 N C N C N C N C Mechanical Mechanical Mechanical Mechanical 1
29. Mee Tekelom 4 Axis Motion Controller Driver Version 1 09 Firmware UseER S MANUAL GS Newport MM4005 4 Axis Motion Controller Driver Warranty Newport Corporation warrants this product to be free from defects in material and workmanship for a period of 1 year from the date of shipment If found to be defective during the warranty period the product will either be repaired or replaced at Newport s option To exercise this warranty write or call your local Newport representative or contact Newport headquarters in Irvine California You will be given prompt assistance and return instructions Send the instrument trans portation prepaid to the indicated service facility Repairs will be made and the instrument returned transportation prepaid Repaired products are warranted for the balance of the original warranty period or at least 90 days Limitation of Warranty This warranty does not apply to defects resulting from modification or mis use of any product or part This warranty also does not apply to fuses bat teries or damage from battery leakage This warranty is in lieu of all other warranties expressed or implied including any implied warranty of merchantability or fitness for a particular use Newport Corporation shall not be liable for any indirect special or consequential damages No part of this manual may be reproduced or copied without the prior written approval of Newport Corporation This manu
30. Read max following error Backlash This parameter represents the mechanical hysteresis of motion device Use good judgment when setting this parameter To change the backlash parameter press the MODIFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu If you have been following the Axes Setup procedure from the beginning of the section pressing the UP key will bring you back to the first para meter that was discussed Exit the Axes Setup by pressingthe Quit key a lt lt gt Axis Setup gt MODIFY gt UP gt MODIFY gt A gt VALID gt QUIT gt QUIT gt YES gt QUIT XB Read mechanical backlash BA Setmechanical backlash QAD EDH0162En1040 06 99 2 28 Newport MM4005 Local Mode Display Resolution This menu modified axis position digit number after decimal point The con troller used this parameter to adjust exactly the mechanical displacement To change the Display Resolution press the MODIFY key Use the numeric keypad to enter a new value and then press VALID to confirm the setting and return to the previous menu gt VALID gt gt MODIFY gt gt MODIFY gt n ae QUIT gt QUIT gt YES gt QUIT Eu NP Set display resolution El Operating in Local Mode In addition to the SETUP mode the other two types of operations that can be performed from t
31. SF Set motion device Modifying Axis Parameters Once a new motion component has been defined for an axis you can review its default parameters The following discussion assumes that you want to see them all and will not exit after each one is displayed NOTE If you just want to change one parameter you are probably familiar with the controller s operation and need just some pointers For this case we included the quick key sequence and where appropriate the related remote commands For simplicity we start the quick key sequence from the top level Axes Setup menu assuming that you already selected the axis number you want to make the change to From the top level Axes Setup menu press the MODIFY key to view select the first axis parameter To scroll the parameter list you can use the UP or DOWN keys For consistency in the following descriptions we will use only the up key Units Units is the first axis parameter displayed It represents the displacement units the controller will use for display and reporting The available units are mm um In min pln and Inc for translation mechanical families and Deg Grd Rad mRad Rad and Inc for rotary mechanical families CAUTION If you change the displacement units you must revise all other parame ters that are affected All velocities accelerations travel limits etc must be scaled to the new units To change the displacement units press the mopiFY key Next pr
32. Usage HIMM E PGM E MIP Syntax RPnn Parameters Description nn int Number of times to repeat command line Range nn 1to 2147385345 Units nn None Defaults nn Missing 1 Out of range 1 or 2147385345 forced in range Floating point Decimal value truncated Description This command is a flow control instruction that repeats the execution of a command line nn number of times It must be placed at the end of a com mand line that has to be repeated The line must have at least one more command on it separated by a command separator If the nn parameter is missing or set to a value less than 1 the command line is executed one time similar to a nn value of 1 NOTE Any command placed on a line after RP is ignored without issuing an error NOTE Be careful when using flow control commands specially nested ones Avoid mixing different type of flow control commands on the same line As in other programming languages improper loops and loop mixings could generate undesirable results Returns None Errors R Command cannot beat the beginning of a line Rel Commands WG While variable is greater WH While input is equal WL While variable is less WY While variable is different Example 3PA0 Move axis to position 0 2PR 1 WS 3PA10 WS 3PA0 WS RP20 Make a relative move of 0 1 units on axis 2 wait for all motion to stop move axis 3 to position 10 wait for all motion to stop move a
33. 06 99 MM4005 YD Divide variables Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM xxYDnn xx int nn int XX nn XX nn XX Out of range Floating point Out of range Floating point E PGM E MIP Variable number Variable number 1to 100 integers and 101 to 120 floats 1to 100 integers and 101 to 120 floats None None Error O Error O Error A Error O Error O Decimal part truncated Missing Missing This command divides the values of two variables Variable xx is divided by variable nn and the result placed in variable xx If variable nn is zero the operation is not performed and error H is generated The decimal part of the division result is truncated None A C H O YA YC YS 5YS5 2YS9 1YR3 3YY1 3Y A 32 3YM5 3YD2 Unknown message code Parameter out of limits Calculation overflow Variable number out of range Add to variable Add variables Initialize variable Initialize variable 5 to 5 Initialize variable 2 to 9 Load analog port 3 value into variable 1 Copy variable 1 in variable 3 Subtract 32 from variable 3 Multiply variable with variable Divide variable 3 by variable 2 if variable 1 represents a tem perature measured in degrees Fahrenheit variable 8 will be the equivalent temperature i
34. 6 Not used Default 7 Not used Default The byte returned is in the form of an ASCII character Converting the ASCII code to binary gives the status bit values NOTE For a complete ASCII to binary conversion table see Appendix F ASCII Table TXaa aa ASCII character representing the status byte A Unknown message code S Communication time out MS Read motor status TS Read controller status TX Read controller activity register TXJ Controller returns character J or ASCII character 74 converting 74 to binary we get 01001010 which has the following meaning controller isin remote mode and is executing a command line aD EDH0162En1040 06 99 3 142 Newport MM4005 TX1 Read controller extended status Usage HIMM E PGM E MIP Syntax TX1 Parameters None Description This command reports controller s dynamic status As this controller can perform concurrently a lot of tasks it is usefull to have one command that gives all the information on what the controller is doing This reduce the traffic on the communication otherwise you can use several commands TS MS to get the same information and simplifies the development of the user s software Returns TX1w1w2a1a2b1b2c1c2d1d2 w w2 Controller s task status 2 characters a a2 Axis 1 2 characters bib2 Axis 2 2 characters Cic2 Axis 3 2 characters d d2 Axis 4 2 characters
35. CRnn nn double Radius for an arc of circle nn 1 0E to 1 0 E10 nn Defined motion units nn Missing Error C This command defines to the controller the radius for an element of trajec tory of the type arc of circle f CR CA Unless the case of successively builded with the same radius r 6 arcs we have specified the radius by Out of range Error C this command every time before the CA command None gt lt 0 oO CA XE NT CR10 CA90 XE XE Arc r 0 10 10 90 GD Newport 3 31 EDHO162En1040 06 99 Parameter out of limits Too long trajectory Trajectory Arc r 0 radius is too small Trajectory Arc r 0 radius is too big Trajectory Units not translationnal or not identical Define sweep angle and build an arc of circle f CR CA Tell the last element Clear trajectory Define radius of an arc of circle f r 6 Define sweep angle an build an arc of circle f r 6 Tell last element Controller tells the built element MM4005 CS Concatenate two strings Usage WIMM E PGM E MIP Syntax xxCSaa or xxCS Parameters Description xx int String variable number aa str String to be to be concatenated Range XX 1to8 aa Oor 32 characters Units XX None aa None Defaults XX Missing 0 Out of range Error C Floating point Error A aa Missing Null string Out of range Only first 32 characters are used D
36. Errors A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution Rel Commands OR Search for home SL _ Set left travel limit Example 1SR41 4 Set positive software travel limit of axis 1 to 41 4 units 1SR Reading of the positive software travel limit of axis 1 1SR41 4 The controller returns the value of the positive software travel limit NOTE Always the stage position must be inside the interval set by the software limits AD Newport 3 121 EDH0162En1040 06 99 MM4005 SS Set master slave mode Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM MIP xxSSnp or xxSS xx int Axis number to define n int Axis number of the master axis p int Following mode theoretical real position Read number of the master axis that this axis slaved to XX 1to4 n 1to4 p Oorl XX None n None None XX Missing Error B Out of range Error B Floating point Error A n Missing 0 defined as master Out of range Error C p Missing 0 Out of range Error C This command sets the master slave mode This defines nn numbered of the master axis that xx numbered axis belongs to If n is zero or default the xx axis is defined as master If p is zero or default the xx axis must follow the t
37. Failure while accessing the EEPROM Too long trajectory Trajectory to big discontinuity angle Newport 8 3 EDHO162En1040 06 99 MM4005 Appendix A Error Messages Trajectory first angle definition error Trajectory Line x y Line expected Trajectory Line x y too big discontinuity Trajectory Line x 6 or Line y 0 impossible Trajectory Arc expected Trajectory Arc r 6 radius is too small Trajectory Arc r 8 radius is too big Trajectory Arc r 8 sweep angle is too small Trajectory Arc x y circle is too small Trajectory Arc x y Circle is impossible Trajectory trajectory is empty Unit not translational or incorrect Unit not rotationnal or incorrect Trajectory Units not translationnal or not identical sync pulses generation impossible mechanical familly name incorrect Trajectory execution exceeds physical or logical limits gt oON lt x serop7 aac Besides the standard screens available on the front panel display there are a number of error screens that appear only in special error conditions Parameters Error Press an ke to continue Fig A 1 Error screen English Erreur Param tres Une touche pour continuer Fig A 2 Error screen French The screen in Fig A 1 English version or Fig A 2 French version appears if the battery backed non volat
38. Field number aa cha ne _ Strings to be displayed Range XX l1to2 aa Oto N characters framed or not framed by two quota tion marks lt xx lor2 N 14 xx 0 N 28 Units XX None aa None Defaults XX Missing 0 Out of range Error C Floating point Error A aa Missing Null string clears the line or field Out of range Only first N characters are used Description This command prints a string on line 5 of the front panel display If xx 0 or default the line 5 is entirely used 28 characters max If xx 1 or 2 the line 5 is split in two fields each 14 characters long The first field on the left is defined as number 1 and the one on the right as number 2 Writing to field number 1 xx 1 erases the previous text from field num ber 1 Writing to field number 2 xx 2 erases the previous text from field number 2 If xx 0 or default the controller erases the entire line 5 before writing its new text If somes strings Separated by spaces are to be printed these strings must be framed by two quotation marks lt The printable number of characters is always N but the quotation marks are not part of characters of these strings This command is useful for monitoring the status and evolution of a com plex program Returns None Errors A Unknown message code C _ Parameter out of limits J Command authorized only in programming mode Rel Commands AS Affect string CS
39. GD EDH0162En1040 06 99 4 34 Newport Section 5 Trajectory Functions Tutorial ate ee ket ESS gp mrapat eta 7 raal MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 5 Trajectory Functions Tutorial 5 1 Definition oF Terms a iienaa aa A a aTa 5 3 SL Trajectory einingin g dander 5 3 5 1 2 Trajectory Element ccc ceecseceeeeetecseeeceeteeseesasesesteneeteneeaes 5 3 5 1 3 Trajectory Vector orinario 5 3 5 14 Vector Velocity 3 00 chine acawitint dud vanish 5 3 5 1 5 Vector Acceleration ii aici ssicieirt cicieienottanieieneents 5 3 5 2 Trajectory Description and COnventiOnS ccceeeeseeeteeeeeteees 5 4 5 3 Geometric CONVENTIONS eee ecste esses sseeeeeeeeetsetesaeeesaetatseteeaseetaeeeeas 5 4 5 4 Defining Trajectory Elements ccceccecceteeetetetneeesneeetsecatsetesseeeseeeeas 5 5 54AT Defining LINCS ccs iai hd seu i a ati 5 6 5 4 2 Defining ARCS nica cited lise el ied tard Gite mh evn Bates 5 6 5 5 Programming a Trajectory oo ececccccscsececseteeeeetetteteseteseceseteseeeenaeeeas 5 8 5 6 Trajectory Element Parameters cccccceeeeeseeeeeeeeseeessecteceeeteneeneeas 5 9 5 7 Trajectory Specific COMMANAS oo ee ceeeeeteeeeeetettetettetteteeeteeeeees 5 10 5 7 1 Trajectory Setup COMMANAS eect teen ttete tte teteteneeee 5 10 5 7 2 Trajectory Elements Definition ComMands cceeeeee 5 10 5 7 3 Reporti
40. MM4005 RO Read I O output Usage WIMM E PGM E MIP Syntax xxRO Parameters Description xx int 1 O bit number Range XX O0to8 Units XX None Defaults XX Missing 0 Out of range Error E Floating point Error A Description This command reads the I O output port If xx is specified between 1 and 8 the return is ether 0 or 1 depending on the state of the selected I O bit If the bit specifier xx is missing or set to 0 the controller returns the values for all 8 bits The return is a decimal number in ASCII format representing the I O output byte To find the values of each bit the number must be con verted to binary NOTE For the hardware definition of the I O port please see Appendix B Connector Pinouts GPIO Connector Returns xxROnn OROnnj or ROnn2 xx 1 O output bit number nn 1 O output bit value 0 or 1 nny nn2 I O output byte value 0 to 255 in ASCII format Errors A Unknown message code E _ Incorrect I O channel number S Communication time out Rel Commands CB Clear O outputs bits SB Setl O output bits SO _ Set O output byte TG Toggle l O output bits Example RO Read the I O output port RO209 Controller returns a value of 209 which converted to binary gives us the following I O output port status bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 1 1 0 1 0 0 0 1 aD EDH0162En1040 06 99 3 106 Newport MM4005 RP Repeat command line
41. Start a new trajectory Define first tangent angle is 45 QAD EDH0162En1040 06 99 Newport MM4005 FB Label function key Usage OIMM E PGM E MIP Syntax xxFBaa Parameters Description xx int Function key number aa cha ne _ Label to be displayed Range XX 1to4 aa Oto 6 characters Units XX None aa None Defaults XX Missing Error O Out of range Error O Floating point Error A aa Missing Clears the selected function key label Out of range Truncates label to the first 6 characters Description This command allows the user to define a label for a function key Using the FD or WF command will display the use defined function keys For the xx value the four function keys are numbered from 1 to 4 from left to right NOTE The command is valid only in programming mode where the function keys are not used by the normal operation of the controller Returns None Errors A Unknown message code J Command authorized only in programming mode O _ Variable number out of range Rel Commands FC Clear function key line FD Display function keys WF Wait for function key Example 3XX Clear program 3 from memory if any 3EP Activate program mode and enter following commands as program B 4FBSTOP Define custom label for function key 4 as STOP arl Fl ainil 7WF Display the custom function key label s STOP wait for a valid function key to be press
42. Units XX None nn None Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the derivative gain factor Kd of the PID closed loop It is active for any motion device that has been selected to operate in closed loop including those driven by stepper motors The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning section on how to adjust the PID filter parameters Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands KI _ Set integral gain KP Set proportional gain UF Update servo filter XD Read derivative gain factor Example 3KDO0 01 Setderivative gain factor for axis to 0 01 ae nell ae 3UF Update PID filter only now the KD command takes effect GD Newport 3 63 EDHO162En1040 06 99 MM4005 KI Set integral gain Usage HIMM E PGM E MIP Syntax xxKinn Parameters Description xx int Axis number nn float integral gain factor Ki Range XX 1to4 nn Otol Units XX None nn None Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the integral gain factor Ki of the PID closed loop It is active for any motion device
43. ccecccseseeseeeseeseeeeeeeseesienecieeseneseseenees 4 15 4 4 MOtiOmM PEONES Kinie a A anil 4 17 4 4 0 MOVE aa a aaa hice AAEE paces 4 17 r A oTe E A A T 4 18 4 4 3 Home Search ssssssssrsesrsesrsrussrnsrsrsrsrnnsrronrnsnsnsentnnunrnuorsnnentuonnnons 4 18 4 5 ENCOUGrS a a aa me aapa a aTa Ea iaaa Tea PR A AATE A aA tein 4 21 AO MOUOMS oratione iaaea on AAAA SEANAR aN NATE NEATE AAEN Aa 4 23 4 6 1 Stepper MOtOfS sssssissssrssrisusssusnrrensrunnnrontrannrnentrenprnuonnennnnunnnaon 4 24 MEZ IDC MOTO S annaa a A a EA A 4 28 AT R PAKE A T O O 4 29 4 7 1 Stepper Motor DriverS s ssessssisssssisrsrssrsrsisrsirnrirrisisisirrerennns 4 29 4 7 2 DC Motor Drivers uo ccccescsessssssssscsesssersssrseessrsserssireeseesenss 4 31 Q EDH0162En1040 06 99 iv Newport MM4005 Table of Contents Section 5 Trajectory Functions Tutorial Table of Contents 0 ce ceccssecseeeeseeeeseeeeseeeteesecaeesasecasecaeeesaseenessetessees 5 1 5 1 Detinitionof T enMS tuned eee alll ca ee 5 3 51d Traject yiera a Date leet dnd teat hei dese 5 3 5 1 2 Trajectory Element nmen a T 5 3 5 13 Trajectory Vectores naan ei ie heeatie ae 5 3 5 1 4 Vector Velocity int chit a aa 5 3 5 1 5 Vector Acceleration oo cecceeceeeteeeceeeeeneeieeteeteenesteeeeieeeeaes 5 3 5 2 Trajectory Description and CONVeNtiOnS c cece teeeeeeteees 5 4 5 3 Geometric CONVENTIONS eee cssteeseeesseeeeeeteeetaetesaetetaetataeteeseeetaeeeeas 5 4 5 4 Defining Trajectory Elements
44. 2 to non volatile memory TE Read error register TE Controller returns a no error code GD Newport 3 99 EDH0162En1040 06 99 MM4005 QP Quit program mode Usage WIMM O PGM MIP Syntax QP Parameters None Description This command terminates the program entry mode and sets the controller back to immediate mode All the commands following this one will be exe cuted immediately Returns None Errors Unauthorized command in programming mode Rel Commands EP Edition of program XX Erase program Example 3XX Clear program 3 from memory 3EP Activate program mode and enter following commands as rogram 3 l ae 3QP End entering program number 3 and quit programming mode 3CP Compile program number 3 3CP Controller confirms compilation of program number 3 without any errors AD EDH0162En1040 06 99 3 100 Newport MM4005 QW Save general parameters A Newport Usage Syntax Parameters Description Returns Errors Rel Commands Example E IMM E PGM MIP Qw None This command saves in non volatile memory all general parameters that have been changed through on line commands or from within a program For alist and description of the general parameters that are stored in non volatile memory see the General Setup paragraph of the Local Mode sec tion NOTE During the execution of this command the communication IEEE RS2
45. 2D02 5 Controller returns for axis 2 a home search velocity of 2 5 GD EDH0162En1040 06 99 3 40 Newport MM4005 DP Read desired position Usage MIMM MPGM WMIP Syntax xxDP Parameters Description xx int Axis number Range XX O0to4 Units XX None Defaults XX Missing 0 Out of range Error B Floating point Error A Description This command reads the desired position the destination of a certain motion component If the axis specifier xx is missing or set to 0 the con troller returns the desired position for all axes The command could be sent at any time but is most often invoked while a motion is in progress Returns xxDPnn or xx1 DPnnj xx2DPnnz xx3DPnn3 xx4DPnn4 XX XX1 XX2 XX3 XX4 Axis number nn NN NN2 NN3 NN4 Desired position in pre defined units Errors A Unknown message code B Incorrect axis number D Unauthorized execution S Communication time out Rel Commands PA _ Moveto absolute position PR Moveto relative position Example 3TP Read position on axis 3 3TP5 32 Controller returns position 5 32 for axis 3PR2 2 Starta relative motion of 2 2 on axis 8 3DP Read desired position on axis 3 3DP7 52 Controller returns desired position 7 52 for axis 3 A Newport 3 41 EDH0162En1040 06 99 MM4005 DS Display strings on screen Usage IMM E PGM E MIP Syntax xxDSaa Parameters Description xx int
46. 5 is different than 18 repeat next commands If variable 5 is greater than 10 move axis 2 incremental 2 6 units and wait for stop Move axis 8 incremental 1 2 units and wait for stop Add 1 to variable End while loop Newport 3 189 EDHO162En1040 06 99 MM4005 YK Read key to variable Usage HIMM E PGM E MIP Syntax xxYK Parameters Description xx int Variable number Range XX 1to 100 integers and 101 to 120 floats Units XX None Defaults XX Missing Error O Out of range Error O Floating point Error A Description This command reads the front panel keys and if one is pressed it places its ASCII code in variable xx If no key is pressed at the time of testing the variable is set to zero The following table lists all possible values returned Key ASCII Variable pressed code value None None 0 Lo 0 48 1 49 2 50 3 51 4 52 5 53 6 6 54 7 55 8 8 56 ES 9 57 ia 45 a 46 1st Left A 65 2nd B 66 3rd C 67 4th Right D 68 Returns None Errors A Unknown message code O Variable number out of range Rel Commands YW Wait and read key Example 5YS0 Initialize variable to 0 5WL1 While variable 5 is less than 1 repeat next commands 4YK Read keys and place code variable 4 4YE49 1PR 0 1 If key 1 is pressed move axis 1 0 1 units incrementally 4YE51 1PR0 1 If key 3 is pr
47. 6 11 Firmware Updates occ cee ceececeeeeceenetesnenesetesectecseeeesees 6 13 6 12 JOYSTICK iin one tamra anda nn entree 6 14 6 13 Changing the Display Precision NP Command or from the Front Panel slenvteatybivteedoveanvades er tarecttaxds Masteevawaaveisanesv art atest onn cia vnadbcometa tome 6 15 6 14 Periodic Display Mode CD Command or from the Front Panel 6 15 6 152 Paramete insna inna lad dd bade taancedaa abandons 6 16 6 16 Asynchronous Acquisition AQ Command sesser 6 17 6 17 Executing Sub Routines in a Program EX Command sses 6 18 6 18 Load Communications Mode CM Command seese 6 19 6 19 Analog Input Output AM RA YO YR COMMANAS see 6 19 6 20 Default Mode S CURVE Profile c cccccceccseseeteteeseeesnetitesseeeeeees 6 20 6 21 Integrator Factor Saturation Level in Position PID Loop Corrector KS COMMANG tenia reeds a a A a atai EA 6 21 Newport 6 1 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 6 2 Newport MM4005 4 Axis Motion Controller Driver Section 6 Feature Descriptions Tutorial 6 1 Synchronizing Events to Motion 6 1 1 XX XX XX XX GD Pulses Synchronized to One Axis Certain applications require an output pulse 5 usec synchronized with the motion of an axis This signal is triggered not by a timer but by the specified axis crossing a pre defined position It is available on the Auxiliary connector 25 pin D Sub at pin 11
48. 7 UTIL 8 UTIL 9 DGND 10 DGND 11 UTIL 12 UTIL 13 UTIL 14 UTIL 15 UTIL WARNING NEWPORT assumes no responsability for the use of any other Remote Controller QAD EDH0162En1040 06 99 8 10 Newport MM4005 Appendix C Connector Pinouts Auxiliary Connector 25 Pin D Sub This connector is used for the MOTOR indicator the frequency gener ator output the analog inputs and outputs and the synchronisation pulses The analog outputs are only available in option The logic outputs are open collector type and are rated for maximum 30 V and 40 mA Fig C 2 To drive logic input they require a pull up resistor The analog inputs and outputs have 12 bits resolution The analog inputs are multi range software programmable The available ranges are 10V V 0 10V 0 5V See the RA and AM commands for more programmation details In all cases analog inputs must be below 10 V The impedance of the converter inputs is typically 10kOhms The maxi mum input current is 300UA The maximum offset error is 10 LSB and the maximum gain error is 10 LSB The input characteristics of the analog inputs are in Fig C 1 The value of 1 LSB depends of the used range e 1LSB is 20 V 4096 5 mV for the 10 V range e 1LSB is 10 V 4096 2 5 mV for the 4 V range and 0 10 V range e 1LSBis 5V 4096 1 25 mV for the 0 5 V range 10Q InN o v Fig C 1 Equivalent circuit of an anal
49. Compile program 3 30 Computer interfaces 0 cee 1 10 Concatenate two Strings 3 32 conditions Storage occ 1 10 Configuration sssssssississisisisiirirsisiisrsrss Controller sinnani an 2 7 Display ecien 1 16 HAarAWar eC eeeeeeceeecseseeetetstetetseneeenes 3 4 Connecting Motion Devices e 1 21 CONMMECO T piirsin inanis GPI Orne erence eases 1 13 8 13 LE EE 488 maae aeia 1 14 Motor Interface eens 8 17 Pass Through Board sess 8 18 PINON TS n naaa nA 8 9 Power Inhibition neseser 1 14 8 9 Remote Control 1 14 8 10 RS 232 sein n 1 14 8 14 Continuous MOTION eee tees 6 9 CONTEO chan Sedan hs and sequencing FIOW cee 3 10 LOO Dinn a Sudha ch tecese 2 20 loop type REA eee 3 127 loop type Set wees 3 110 Newport 9 1 EDH0162En1040 05 99 MM4005 Index LOOPS wes s aiaa 4 13 Specification 4 4 line of program Read 3 128 Motion and position eee 3 8 Symbols and ies iaiia 1 5 Ei Sternia en a aa 8 3 Stepper MOOT eeeeeteteeeeeeetetees 1 9 Delete one line of pPrOgraM sses 3 174 MAXIMUM patiria siari aaeain 2 28 Contro ll r ie ae L6 derivative gain csccccsssssssssssssessesssnsessesee message Read sssrin 3 126 activity Read sssi 3 142 R E ec bertnccra teas 3 169 MESSAGES ossssseseessssettteseeeenentteteteenens 8 3 Configuration sss 2 7 CL ee ere nie 3 63 RED OCING setni peitrina ie extended status Read 3 143 device Motion 16 Too Large FOlOWINJ sssr 7 5 E E 3 108 E AN el e
50. Four commands are available to define and use this signal PB nn Defining and reading the signal starting position PE nn Defining and reading the signal ending position PI nn Defining and reading the step of the synchronizing signal PS Start the signal generation Where xx Axis number from 1 to 4 nn _ Position absolute in displacement units The PB PE and PI commands define the synchronized signal while the PS initiates it The best location for the PS command is just before PA or PR The signal is terminated at the position indicated by PE or at the end of the motion when the effect of the PS command is canceled The necessary conditions for generating the signal verified by PS are e The start position defined by PB must be reached before the stop posi tion defined by PE e The value set with PI must be greater or equal to the smallest servo step This is the displacement made by an axis during one servo sam pling period smallest servo step velocity Tpase where Tpase 0 25 or 0 3 msec depending on the processor If not PS will not generate a sig nal and will return an error In this case the smallest servo step can be determined by using the command xxPI If PS command is executed successfully xxPI will return the previously entered value not the smallest servo step If any of these conditions is not satisfied PS command is not executed and it will return an error code NOTE To know the ex
51. Function e Integrated motion controller and driver Number of motion axes e 1to4 in any combination or order of stepper and DC motors Trajectory type e Non synchronized motion e Multi axis synchronized motion linear interpolation e S Curve or Trapezoidal velocity profile for non synchronized and syn chronized motion The default configuration is S Curve velocity profile Motion device compatibility e Entire family of motorized motion devices using ether stepper or DC motors CPU type e 5x86 100 Processor DC motor control e 16 bit DAC resolution 10MHz maximum encoder input frequency PID with velocity feed forward servo loop e 0 3 ms digital servo cycle Stepper motor control e 1MHz maximum pulse rate e Full half and mini step capability Open or closed loop operation e PID with velocity feed forward closed loop mode e 0 3 ms digital servo cycle A Newport 1 9 EDH0162En1040 06 99 MM4005 Introduction Computer interfaces RS 232 C e EEE 488 Utility interface e 8 bit opto coupled digital inputs e 8 bit open collector digital outputs e 4Aanalog inputs 12 bits resolution programmable input range 0 5 V 0 10 V 5V 10V e External Synchronisation Pulse Output from position acquisition e Remote motor off input interlock Operating modes e Local mode stand alone operation executing commands from the front panel e Remote mode execution of commands received ov
52. IYA1 WE 1PA10 35 2PA0 SE WE 1PA10 5 SE WS 2PA2 979 SE WS 1PR0 5 2PR 0 596 SE WS Erase program 4 if it exists Store all following entries as program 1 Clear all output I O bits set all bits to zero Move axis 1 to 0 mm and axis 2 to 12 5 mm wait for all motion to complete Set I O bit 8 high this brings the pen down S 2PR12 5 WS 1PR0 5 WS RP2 Make four relative motions by sequentially incrementing axis 1 and 2 wait for each motion to stop repeat the cycle command line two times Move axis 2 to 10 mm and wait for motion complete Initialize variable 1 set its value to zero Declare axes 1 and 2 synchronized Start a while loop repeat the following commands while variable 1 is less than 8 Set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start synchronous motion wait for motion to complete Set relative destination of axis 2 3 mm away from current position start motion on the synchronized axis wait for motion to complete Set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start synchronous motion wait for motion to complete Set relative destination of axis 2 3 mm away from current position start motion on the synchronized axis wait for motion to complete Increment variable 1 by 1 End while loop Set destination of axis 1 to 10 35 mm and of axis 2 to 0 mm start synch
53. Local The MM4005 does not support the GTL Go To Local and LLO Local Lock Out functions PPO Parralel Poll The MM4005 has no Parallel Poll capability It does not respond to the following interface messages PPC PPD PPE and PPU The MM4005 does not send out a message when the ATN Attention and EOI End or Identify line are asserted DC1 Device Clear The MM4005 responds to the DCL Device Clear and when made Listener the SDC Selected Device Clear interface message DTO Device Trigger The MM4005 does not support GET Group Execute Trigger interface message E2 Electrical The MM4005 uses tristate buffers to provide optimal high speed data transfer SRQ Using The NI488 2 User Manual for Windows from National Instruments in the GPIB Programming Techniques chapter describes the use of Serial Polling as follow page 7 5 Serial Polling You can use serial polling to obtain specific information from GPIB devices when they request service When the GPIB SRQ line is asserted it signals the Controller that a service request is pending The controller must then determine which device asserted the SRQ line and respond accordingly The most common method for SRQ detection and servicing is serial poll This section describes how you can set up your application to detect and respond to service requests from GPIB devices Service Requests from IEEE 488 Devices IEEE 488 devices request service from the GPIB Controlle
54. MO Motor ON Usage HIMM E PGM MIP Syntax xxMO Parameters Description xx int Axis number Description This command turns motor power on for the indicated axis If xx is missing all axes are turned power on It is equivalent to the front panel MOTOR Mall button CAUTION If the motor power is turned off by the controller detecting a fault condi tion before turning the power back on make sure that the cause of the fault is corrected Returns None Errors None Rel Commands AB Abort motion MF Motor OFF ST Stop motion Example MO Turn power on to all motors GD Newport 3 73 EDHO162En1040 06 99 MM4005 MP Download EEPROM to RAM Usage HIMM O PGM E MIP Syntax MP Parameters None Description This command copies the programs stored in non volatile memory to RAM When a program is called for execution or editing it is automatically copied to RAM When it is erased from RAM with XX command it can be restored from nonvolatile memory with this command Returns None Errors Unauthorized command in programming mode Rel Commands LP _ List program XX Erase program SM Save program Example MP Copy programs from non volatile memory to RAM MR Set remote mode Usage HIMM E PGM MIP Syntax MR Parameters None Description This command activates the remote mode In this mode all function keys and the keypad on the front panel are disabled The front
55. Number ASCII Binary Number ASCII Binary decimal Code Code decimal Code Code 72 H 01001000 120 x 01111000 73 l 01001001 121 y 01111001 74 J 01001010 122 Z 01111010 75 K 01001011 123 01111011 76 L 01001100 124 01111100 77 M 01001101 125 01111101 78 N 01001110 126 01111110 79 0 01001111 127 01111111 80 P 01010000 128 10000000 81 Q 01010001 129 10000001 82 R 01010010 130 10000010 83 S 01010011 131 10000011 84 T 01010100 132 10000100 85 U 01010101 133 10000101 86 V 01010110 134 10000110 87 w 01010111 135 10000111 88 X 01011000 136 10001000 89 Y 01011001 137 10001001 90 Z 01011010 138 10001010 91 01011011 139 10001011 92 01011100 140 10001100 93 01011101 141 10001101 94 c 01011110 142 10001110 95 _ 01011111 143 10001111 96 s 01100000 144 10010000 97 a 01100001 145 10010001 98 b 01100010 146 10010010 99 c 01100011 147 10010011 100 d 01100100 148 10010100 101 e 01100101 149 10010101 102 f 01100110 150 10010110 103 g 01100111 151 10010111 104 h 01101000 152 10011000 105 i 01101001 153 10011001 106 j 01101010 154 10011010 107 k 01101011 155 10011011 108 l 01101100 156 10011100 109 m 01101101 157 10011101 110 n 01101110 158 10011110 111 o 01101111 159 10011111 112 p 01110000 160 10100000 113 q 01110001 161 10100001 114 r 01110010 162 10100010 115 s 01110011 163 10100011 116 t 01110100 164 10100100 117 u 01110101 165 10100101 118 v 01110110 166 10100110 119 w 01110111 167 10100111 EDH0162En1040 06 99 MM4005
56. Since most of the time the real motion device is trailing the ideal one the instantaneous error is called Following Error To summarize the Following Error is the instantaneous difference between the actual position as reported by the position feedback device and the ideal position as seen by the controller A negative following error means that the load is trailing the ideal motion device EDH0162En1040 06 99 4 4 Newport MM4005 Motion Control Tutorial GD Newport 4 2 2 4 2 3 Error Error has the same definition as the Following Error with the exception that the ideal trajectory is not compared to the position feedback device encoder but to an external precision measuring device In other words the Following Error is the instantaneous error perceived by the controller while the Error is the one perceived by the user Accuracy The Accuracy of a system is probably the most common parameter users want to know Unfortunately due to its perceived simplicity it is also the easiest to misinterpret The Accuracy is a static measure of a point to point positioning error Starting from a reference point we command the controller to move a cer tain distance When the motion is completed we measure the actual dis tance traveled with an external precision measuring device The difference the Error represents the positioning Accuracy for that particular motion Because every application is different we n
57. This command has the following format xx SN name Where xx Axis number name Unit name in ASCII format The automatic unit change means that when the unit of an axis mm um is being modified all its parameters increment speed are automatical ly recalculated To allow this unit change the stages must be classified in two distinct categories depending on the type of motion Translation and Rotation When the unit of a stage is modified all its parameters increment value travel velocity acceleration limits are recalculated automatically This allows an user to convert for example a stage defined in the metric system MKSA to the English system by simply changing the units of mea sure to Inch If for any reason the user does not want to use any displacement units the motion and all its parameters can be directly referenced to the encoder increments This special unit is identified with the Inc symbol The units are grouped by the type of motion as follows e Translation mm um Inch minch ulnch and Inc e Rotation Deg Grad Rad mRad Rad and Inc Unit changes are allowed only within the same group A unit change request from mm to Deg for example is not accepted NOTE All programs written for a different unit than the one selected on the controller will not be executed correctly To avoid this problem define the desired unit for a stage enter the choice in the con
58. and making Ki and Kd equal to zero NOTE Remember that the default values are conservative enough to guarantee oscillation free operation You can always reload them through in the Axis SETUP menu on the front panel by re selecting the motion device you are using If the oscillation does not stop reduce Kp again NOTE The first step should be sufficient to eliminate the oscillation If not it may indicate the existence of other problems usually with the hardware wiring etc When the axis stops oscillating the system response is probably very soft The following error may be quite large during motion and non zero at stop You should continue tuning the PID with the steps described in the next paragraph GD EDH0162En1040 06 99 7 4 Newport MM4005 Servo Tuning 7 2 2 Increasing Performance If your system is stable and you want to improve the performance start with the current parameters The goal is to reduce the following error dur ing motion and to eliminate it at stop Depending on the performance starting point and the desired outcome here are some guidelines for further tuning Following Error Too Large This is the case of a soft loop It is especially common if you just performed the steps in 7 2 1 The proportional gain Kp is probably too low and Ki and Kd are zero Start by increasing Kp by a factor of 1 5 to 2 Continue this operation while monitoring the following error until it starts to exhibi
59. flowchart of the Program Creation menu Fig 2 12 Program Management Menu CREATE J Program Creation Menu Line Entry Menu Loop Type SYNCH oT REPEAT OUTP WHILE Loop Menu LINE WEND VALID NEXT 2 4 3 GD Discard Line End Loop Save Line Line Entry Menu RELAT SYNCH NEXT Save Line Discard Line HOME IFINP DEL A OTO REI QUIT P VALID a Fig 2 12 Program Creation Menu Flow Chart Modifying a Program The Program Creation mode does not have the capability to edit com mands or command lines already entered in a program To modify anything in a program you must enter the Program Editing mode by pressing the MODIFY key from the Program mode When this option is selected the controller asks for the program number name to be modified Enter the desired number on the keypad and press the valp key Next the controller will show the top portion of the select ed program on the first four lines of the display NOTE Selecting an empty non existent program is allowed In this case a new program with the specified number will be created if commands are added with the Insert feature Newport 2 43 EDH0162En1040 06 99 MM4005 Local Mode There are more than three possible options in the Program Editing mode thus the need again to split
60. meets 2S eo all relevant requirements of Directive 89 336 EEC for Electro Magnetic SA A Laps NI Compatibility OO KA ee EA C SS Generic Standard Emission EN50081 1 o ss Immunity EN50082 2 Q Rs 1 i 1 i u Cs SS Residential Commercial and Light Industry and per IEC 1000 4 5 Surge oe mS Immunity Standard SA we l 6S Newport Corporation shall not be liable for damages when using the product 2S re s SS Modification of the product se 4 g ee ae os Ay e Using modified connector or modified or not supplied cables SA KA cana Co EG e Connecting this product to non CE equipments xe K i OO NG e Heavy industrial environment os Os DLE LD ALLO ELE ALO ALE ELT MALO REET NLT ALO OL ALT ALD RULE ALT ALO ILO ALO ALT IODIDE KEKE NRE EAR AR AERA AREER ORE AREA AERA ERE ARRAS EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 viii Newport Section 1 Introduction tow aka ak ECS 3 ae peepee MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 1 Introduction 1 1 Safety Considerations 0 cece eects ceeeeeee eee tieetieeeeeceeeceseenetae 1 3 1 2 Conventions And Definitions 0 eccceete ete eieetieteceeeteeieeetie 1 5 1 2 1 Symbols And Definitions esssssessesrersrsreieieirnrsrererrersrenn 1 5 1 2 2 Termin lo Gysen aa i a enna densest 1 6 AXIS 2 stci
61. the controller displays the function key labels assigned with FB and waits for a valid function key to be pressed A valid function key is one that has been labeled previously When a valid function key is pressed the controller beeps shortly to acknowl edge the entry places the ASCII code of the key in the specified xx variable and continues program execution Key ASCII Variable pressed code value it Left A 65 znd B 66 ae C 67 4th Right D 68 Returns None Errors A Unknown message code J Command authorized only in programming mode O _ Variable number out of range Rel Commands FB Label function key FC _ Clear function key line FD Display function keys Example 3XX Clear program 3 from memory if any 3EP Activate program mode and enter following commands as program 4FBSTOP Define custom label for function key 4 as STOP ue cit rom 7WF Display the custom function key label s STOP wait for a valid function key to be pressed and put its ASCII code in variable 7 FC Clear function key display line QD EDH0162En1040 06 99 3 156 Newport MM4005 WG While variable is greater Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands O IMM xxWGnn xx int nn int XX nn XX nn XX Out Floating point nn Out E PGM E MIP Variable number Comparison value 1 to 100 in
62. where Step CPTL NI 1 The position accuracy of the generated pulse the difference between the theoretical position Pos NB n Step and the real position where the pulse is generated depends on the trajectory velocity as follows MaxError 0 707 Tpase Trajectory velocity This value cannot be smaller than the encoder resolution of X or Y axis If MaxError lt encoder resolution of X axis then MaxError encoder resolution of X axis If MaxError lt encoder resolution of Y axis then MaxError encoder resolution of Y axis Example For a trajectory velocity of 20 mm sec and Tpbase 300 usec MaxError 0 707 3 10 20 4 24 um This position uncertainty exists for every pulse generated but is not cumu lative 6 1 3 Synchronizing Events to Trajectory Elements Controller operations and functions can be synchronized to the execution of a trajectory element This is achieved by using the WNnn command The nn parameter represents the trajectory element number to synchro nize with At the beginning of this element one or more secondary con troller activities could be initiated Example Increase the trajectory velocity starting with element number 2 and reduce it with element number 4 1XX Erase program 1 if exists 1EP Start program entry mode NT Start new trajectory definition LX10 Trajectory element 1 CR10 CA90 Trajectory element 2 LY20 Trajectory element CX10 CY30 Trajectory element
63. 1 1 3 1 2 RS 232 C Interface Hardware Configuration The serial RS 232 C communication port is a 9 pin D Sub connector locat ed on the rear panel The pinout is designed to interface directly with an IBM PC or compatible computer using a one to one cable No special adapters are required Appendix B shows the pinout of the RS 232 C connector and different cable types that may be used to interface to a computer Communication Protocol The RS 232 C interface must be properly configured on both devices com municating A correct setting is one that matches all parameters baud rate number of data bits number of stop bits parity type and handshake type for both devices RS 232 C communication parameters are set through the General SETUP menu on the front panel To make changes follow the instructions in the Controller Configuration paragraph of the Local Mode chapter IEEE 488 Interface Hardware Configuration The IEEE 488 interface has a well defined hardware configuration The MM 4005 conforms to the standard so you simply need to connect the prop er cable to the clearly identified connector on the back panel Communication Protocol The IEEE 488 interface is implemented on the MM4005 somewhat different ly than on a typical instrument The standard IEEE 488 command set and command format are inadequate for a complex motion controller Since the MM 4005 has its own language and command set the IEEE 488 is used only
64. 1 10 velocity Read ssssssssssssssesssstseseesse 3 39 search velocity Read s 3 40 ini velocity Setanin 3 72 4 CVfaCeS aaeeea eai Sequence AXIS sses 2 14 N auc jjo Master slave s sesseseserersesrstsrreserseserseseenen Speed PPE EE AE ATOE A E ER 2 23 Remote 33 following error Set maximum TIMC OUE weet PAD eyes ee ee ee eae aaa agate nae jostle 3 57 E E T T N 2 19 J Mode Definition aenn 2 15 3 12 Hysteresis Backlash s s s 4 8 Mode Set cece 3 122 Ba E E ET 1 6 ee reduerionipation Gets ae 3 60 ie l MANU ccccccceccccecccceccececcecesceteceececeees 2 30 sg ee inh Beenen as a a aaa cceleration srecen 4 channel number Incorrect 8 3 JOYST CK ssssssserrtsnttsstrtnrttsttretrttrttnttetreenets ot EhORacci ene aaah need wae 2 28 FUNCHON Seinai ini 3 10 Jump to label ssssssssrsssrssrerrsersresessserssns 3 62 following error Set 3 56 high Wait fOr eee Bl4d5 S o EE A 2 27 POSItiO N ionan a ranks 2 25 input is equal If SOL keya ian do th A SPOEC ssessesssssssessssssussnnsensssssnssnsssssees 2 22 input is equal While 3 158 to variable REA ceccccccccccccccsecesee 3 190 Veloci Vea gate kita baci 4 11 input Read vrrsssseesessnssseereeerinnsee 3 103 E E A 3 160 Mechanical familly name incorrect low Wait FOF sssssssssssstsesesesssessnsnens e E N E A T A 8 4 output bits Set snr 3 109 Keypad NUMETIC cesses 1 16 output bits Toggle S13 Kivaa a aaa 2 26 Oa ek ee ee Siu ere ee T Kp PET P EEEE E
65. 1 16 Switch Entry Module esses 1 14 displacement Units ee 3 135 EDH0162En1040 05 99 9 4 Newport MM4005 Index encoder resolution sesers 3 141 programin 3 116 tion of pulses ends eee 3 81 EFFOF COdC Aas tiahiwdcndan 3 129 Scale Variable ceccccccccccccccccccccecccceccecesees 3 188 trajectory elementwhere the genera error line Of program vce 3 128 A tion of pulses Starts seee 3 80 error MESSAGE ssc 3 126 Scaling Speed erernsereerrnne 2 9 2 22 3 111 velocity ssssssssssrisiesisisisrrer 3 149 filter parameters 3 130 SEArEh TOF NOME uate nana 3 91 SETUP serinin aa ea a following error veces 3 36 Selecting the Interface ee 3 3 AS AEA 2 16 global acquisition NF sess 385 Selection ac ccanata Mareen ataias Commands Trajectory s s s 5 10 global sample rate 3 178 DAR OUAC Re tle iste ac staicte cicnes 2 8 SYSTEM Gare ctamade steer temas ds 1 20 OOD a race a Anessa pede 2 Stage TYP so fcsice ted aceennactnnctes 6 11 Single AX S csesssasssstssestssssssstssistssietet home preset position 3 172 Send a value to an user analog port3 194 Absolute MOVE ceceeneeteeeerees 2 35 home search velocity eee 3 40 Relative Move 233 1 0 iNpUt sssri 3 103 SCPAP ALON oe 3 7 ack E Ae Eo 1 0 OULU nnn 3 106 Service Form vescsscsssesssesseessesseessesseeseeases 8 35 Software Requirements s s ss s sssiee 7 3 integral gain factor seses BDT3 SOrV0 Aa SOFWWAN ES risiini iiia 3 4 key to variable susesi 3 190 filter Update iss siccisanacnuas
66. 1 General CONCEDES 0 ecceeseteessneceneeeeeeeeeeeetsenetsetetsesataseessees 2 38 2 4 2 Creating a Program oo eeccccsessseeseteeeeeeeeeseeesenetaetessesataseeesees 2 38 2 4 3 Modifying a PrOGrAIM eeeeeceeeeeeeteeee ee eeeeetteteteeteetetetaeeeteees 2 43 GD Newport jii EDH0162En1040 06 99 MM4005 Table of Contents Section 3 Remote Mode Table of COntent is vatnisc ina dart itr rein eee el A 3 1 3 1 Remote Interfaces 0 ecccssessneeseeesseeeeseeeseeeetesetseaessenessenetaseeseneeneesees 3 3 3 1 1 RS 232 C INterface ce eceseteeeteeeetseeeteneteeeeene tee sateteeeeeeeeetats 3 4 3 1 2 IEEE 488 Interface icciwice wind anual esi niniaiannnmaniat 3 4 3 2 SORWAreS iniciie ne ada linia miele inn ata 3 4 3 2 1 MOTION Suite nocenenpaa aiiin 3 5 3 2 2 MOTION Term wisi cic adl devodi tila dus id worn 3 5 3 2 3 MOTION SEVO hainesi niini atsana ieee ia RES 3 6 3 2 4 MOTION Draw inapasa erena inpari acao ankaraa kaniinia ihnii ui iaaiianit 3 6 3 29 MOTION PrO girre tornarai ni aAA A A aa 3 6 3 3 Communication PLINCIPIOS eee teeeteee tte tteeteetseeteeteteetetetiees 3 6 3 3 1 Command SYNtAX eect eect anna iaaea Taaa jata ia 3 7 3 4 Command SUMMALPY cece cece eteeeeeeceeeeeeteeeetesetateteeseeceseetestenetiaes 3 8 3 4 1 Command List by Category ee eeceeseeeee ects teeeeeeeeienetaes 3 8 3 4 2 Command List Alphabetical ceeeseteseteeseeeeeeeeeee 3 13 Section 4 Motion Control Tutorial Table
67. 18 repeat next commands Move axis 8 incremental 1 2 units and wait for stop Load analog port 1 value into float variable 101 5 is incremeted of 1 End while loop Newport 3 197 EDHO162En1040 06 99 MM4005 YS Initialize variable Usage HIMM E PGM E MIP Syntax xxYSnn Parameters Description xx int Variable number nn int Initializing value Range XX 1 to 100 integers and 101 to 120 floats nn 32767 to 32767 Units XX None nn None Defaults XX Missing Error O Out of range Error O Floating point Error A nn Missing Error C Out of range Error C Description This command initializes a variable When this command is received the specified variable xx is initialized to nn value NOTE Always initialize a variable before using it At power up or after running other programs the value of a variable may be unknown Returns None Errors A Unknown message code C _ Parameter out of limits O _ Variable number out of range Rel Commands TY _ Read a variable Example 5YS0 Initialize variable to 0 5WY 18 While variable 5 is different than 18 repeat next commands 3PR1 2 WS Move axis 3 incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop QD EDH0162En1040 06 99 3 198 Newport MM4005 YV Read value from keyboard in a variable Usage HIMM E PGM E MIP Syntax xxYVmessage Param tres Description xx int
68. 2 13 Variable iS 6S5 weet 3 191 CAPACITY iine ine 4 10 Modes of Operation oo eee 1 11 Newport 9 3 EDH0162En1040 05 99 MM4005 Index Modify gcn o Precision Changing the Display a Progr AM a tescscecastiecdscenteusteseneicsneiese 2 43 ODtAIMING sses OOO tHtiuutetenauaceeenaneceesnssseessnnaeessnnaseesennasas 6 15 AXIS Parameters 2 18 E A T A 8 33 Profile Type 2 16 Modules AX S sssssssssssesrserrerrerrserserns BAAS Operating fesrued te inrone an due tates Profiles MOtion ecseeeeeeteeee 4 17 MOURA iiime ia dient CONCITIONS siistin riiit 1 10 PROG aI srren and position control c eee 3 8 In Local MOC eect 2 29 ADOC fcc eh oe ce 3 20 axes Number Of eect 1 9 MOES ariarian aniria caniae 1 10 COMpilelia na adiscninecuia 3 30 e eenen E Operation Modes Of 1 11 Creating aiii 2 38 EVICE COMPALIDINILY sssssesserseerersees i ization Di Delete one line Of 3 174 device parameters 3 9 A aay AERO a as does NOt OXISt cesses 8 3 Device Selection A AA 2 17 Origin LETEA T T AATTEET TETT 1 6 Editing Terl A hatetn tte Patent Ae 6 13 AeVICE REAM cececcccccccececcececscceceeees 3 125 SWICCH iiai iiia 1 6 Edition of nnunnnnt 3 48 MOTION DO Oscillation AX S serssssssssssseessessssesseen 7 4 Eraser ence TEE 3 182 ADOTT unon 3 16 output frequency Set 3 58 error Display sesssssssers 3 45 CONMEIMUOUS rsssssssseesrnnsssseeeetnnnssetes 6 9 overflow Calculation sucesso 8 3 EXECUTE A vvirsssseeeersessnsnnnenteee
69. 2 37 Resoluti 46 maximum master slave following BitSiavect u ANA N 2 14 m A es aay ea 5 39 EP OTa ela nieces ieateneicnenenrnes 3 57 ErrOrs Aten cies ccc hihece ited aden 7 5 DISpla toecietensttetetbcoseteonteeeecense number of synchronisation pulses to ANG CO sssrin 3 123 Responses Controller 3 6 generate issnin n a n 3 83 Storage conditions cescccssssesessenseseeeee 1 10 RS 232 C output frequency sser 3 58 E A N A AO AAA T Addressable Mode Multiple proportional gain eee 3 65 Affect 39 CONMOCLONG Minniaecen Metian dans 1 14 FEMOLE MOCE ssesssssseeeeeeseessenen 3 74 a i ee ATT 34 right travel limit ANEN ANDAT 3 121 SENOS ar e a a a QRIBEE AGS a incatecunseshanasin 3 6 saturation level of integral factorin Concatenate tO 3 32 Interface Cable 8 15 position loop PID corrector 3 66 on screen DISPLAY s evsssssesseneeseeee 3 42 Interface COnnector sssri 8 14 start position of generation Of pulS StrUCtUTe sssesersesesisisisiss esof synchronisation 3 93 Display tia 1 18 S step curvi linear distance between MGI E E EEE 1 17 Safety Considerations sssi 1 3 synchronisation pulses 3 82 cub routines in a Program Executing6 18 step of generation of pulses of syn ee saturation level of integral factorin posi CHOMISATION ceccccccccccccccccccccsccscccccsee 3 95 Symbols and Definitions 15 tion loop PID corrector Set 3 66 theoretical position in variable 3 195 synchronizati
70. 3 Execute program 4 Origin search on all axes Quit main program DKK KK KK OK OK KOK KOK KK KOK Program 2 KKK KK KK KKK KKK KKK Enter program 2 Set bits Define string 1 Define string 2 Concatenate string 1 and string 2 Display on screen Wait for 3 seconds Quit program 2 DKK KK KK OK OK KK KKK KOK OK Program 3 DKK KK AK KK OK KK KK OK KOK OK Enter program 3 Define string 3 Define value 101 Concatenate string 3 and value 101 Display on screen Wait for 3 seconds Quit program 3 DKK KK KK OK OK KK OK OK KK KOK Program 4 DKK KK KK OK OK OK KOK KK KOK OK Enter program 4 Axis 1 movement Axis 2 movement Clear bits Wait for 1 second Quit program 4 Display on controller screen Display on controller screen GD EDH0162En1040 06 99 6 18 Newport MM4005 Feature Descriptions Tutorial 6 18 Load Communications Mode CM Command The MM4005 is equipped with a CM command that can remotely modify the communications mode as well as its parameters For further details refer to the description of the CM command Section 3 6 19 Analog Input Output AM RA YO YR Commands The MM4005 is equipped with four 12 bit analog inputs and four 12 bit ana log outputs These analog input outputs are reserved for user applications The YR command is used to enter a value from an analog port and store it in a variable buffer xx YR nn xx integer Analog port number 1to 4 n
71. 3000 QP 3EP 3AS a value 101Y 99 99 3CS Y 101 DS S1 S3 WT 3000 QP 4EP 1PR 20 WS 2PR 20 WS CB WT 1000 QP This is a string This is a value 99 99 Wait for 3 seconds Quit the program 2 Program 3 Define string 3 Define value 101 Concatenate string 3 and value 101 Display on screen Wait for 3 seconds Quit the program 3 program 4 Displacement of axe 1 Displacement of axe 2 Clear bits Wait for 1 second Quit the program 4 Displayed on the controller s screen Displayed on the controller s screen FA Define the tangent angle for the first point Usage HIMM E PGM MIP Syntax FAnn or FA Parameters Description nn double Tangent angle value at first point of trajectory Range nn 20 0 to 360 0 Units nn Degrees Defaults nn Missing 0 Out of range Error X Description This command defines to the controller what will be angle of the tangent at the first point This value is necessary if you want to start a new trajectory with the start tangent angle other than 0 So this command is enabled only when the number of elements of trajectory is zero NOTE On NT command the controller assumes that the angle of the first tan gentis 0 Returns None Errors D Unauthorized execution S Communication time out X Trajectory first angle definition error Rel Commands NT NT FA45 0 Example Start definition of a new trajectory
72. 4 of the programmed velocity 2EX1 Execute program 2 at the reduced velocity SD100 Restore velocities to nominal values Newport 3 111 EDH0162En1040 06 99 MM4005 SE Start synchronized motion Usage Syntax Parameters Description Returns Errors Rel Commands Example E IMM E PGM MIP SE None This command starts execution of a synchronized motion When some axes are defined as synchronized by the use of SY command they do not exe cute any motion commands until SE is issued Use this command to execute coordinated synchronized motions on multi ple axis also defined as linear interpolated motions These simultaneous multi axes motions generate a straight line in the defined coordinate system NOTE When the axes synchronization feature is no longer needed terminate it by using the SY command and returning the axes to the default non syn chronized mode None D Unauthorized execution SY Axis synchronization 2SY1 Define axis 2 as synchronized 4SY1 Define axis 4 as synchronized 2PA12 Setaxis 2 destination 4PA7 3 Setaxis 4 destination SE Start synchronized motion on the two axes 2SY0 Define axis 2 as non ssynchronized 4SY0 Define axis 4 as non synchronized GD EDH0162En1040 06 99 3 112 Newport MM4005 SF Set axis mechanical motion device Usage Syntax Parameters Description Range Units Defaults Description Returns
73. 7 or 8 bit words The factory preset word size is 8 bits If the RS 232 C is not used ignore the selection by pressing the up key and advancing to the next parameter To change the RS 232 C word length from the General Setup menu press uP until the Word Length parameter appears on the display Press MODIFY and then the CHANGE key to select a new value Press the VALID key to accept the entry and return to the previous menu Motor OFF gt SETUP gt GEN gt UP MODIFY gt CHANGE gt VALID gt QUIT gt QUIT SN CMLxx Set serial communication data length Stop Bits The stop bits must also be set to the same value on both the controller and remote computer for RS 232 C communication The possible options are 1 and 2 bits The factory default is set at 1 bit If the RS 232 C is not used ignore the selection by pressing the up key and advancing to the next parameter To change the RS 232 C stop bits setting from the General Setup menu press UP until the Stop Bits parameter appears on the display Press MODIFY and then the CHANGE key to select a new value Press the VALID key to accept the entry and return to the previous menu Motor OFF _ gt SETUP gt GEN gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT NN CMSxx Set serial communication Stop Bit number Axis HOME Sequence The Axis Home sequence performs a home search c
74. 9 Pin D Sub Femal Connector Femal Connector on Controller Side on Computer Side Fig C 4 Conductor pin to pin RS 232C interface cable If you want to use a three conductor cable you must use a cable config ured as in Fig C 5 to get the same hardware handshake override 1 m 1 2 2 3 3 4 4 5 5 6 6 7 n 8 8 9 9 9 Pin D Sub 9 Pin D Sub Femal Connector Femal Connector on Controller Side on Computer Side Fig C 5 Conductor RS 232C interface cable If your computer or terminal uses a 25 pin connector for the RS 232C inter face you can use an off the shelf 25 to 9 pin adapter and one of the two cables described above If you do not wish to add an adapter you can use an off the shelf 9 to 25 pin RS 232C cable or build one like in Fig C 6 GD Newport 8 15 EDH0162En1040 06 99 MM4005 Appendix C Connector Pinouts 1 8 2 3 3 2 4 20 5 7 6 6 7 4 8 5 9 9 Pin D Sub 25 Pin D Sub Femal Connector Femal Connector on Controller Side on Computer Side Fig C 6 9 pin to 25 pin RS 232C interface cable To build a three conductor cable with a 25 pin RS 232C connector use the wiring diagram in Fig C 7 1 8 2 3 3 2 4 20 5 7 6 6 7 4 8 5 9 9 Pin D Sub 25 Pin D Sub Femal Connector Femal Connector on Controller Side on Computer Side Fig C 7 3 conductor 9 pin to 25 pin RS 232C interface cable
75. Allow generation of pulses on motion E EE E xx YN nn If variable is different E E E xx PT nn Calculate necessary time for axis displacement E xx YO nn Senda value to an user analog port E E xx PW Save parameters E E xx YP nn Settheoretical position in variable E E E QP Quit program mode xx YQ nn Setcurrent position in variable E E E Qw Save general parameters E E xx YR nn Read a value from an user analog port and affect variable E E E xx RA Read analog input E E E xx YS nn Initialize variable E E E xx RB Read I O input E E E xx YV Read value from keyboard in a variable E 8 E RD Disable display refresh E E E xx YW Wait and read key E E RE Enable display refresh E E E xx YY nn Copy variable E E E xx RO Read I O output E E E xx ZP Zero position E E RP nn Repeat command line E E E xx ZT nn Read Axis General parameters configuration L L
76. DU Eris cave sccecssstutcuctieetarnscciets 6 19 REA AE E 3 102 angle ari a a eee lets and build an arc of circle f CR CA Define Sweep 3 26 for the first point Define the tan Ol E E E ETE 3 52 of discontinuity Define the maxi mum allowed sensns 3 18 of discontinuity Tell the current maximum allowed sesser 3 167 Arcs Defining esses 5 6 Assign a physical axis AS see X geometric AXIS sce 3 23 Y geometric aX S ween 3 24 Asynchronous Acquisition sess 6 17 QAD AUCO MALI Crinia a an Displacement Units Change 6 10 Program Execution on Power On Priel a a ia a aa a denne 6 9 Automatical execution on power on Suede eh aaea daia cas Era cece anae EEA aaie 3 47 Auxiliary Connector uu 1 14 8 11 Axes Electronic Gearing Synchronized nesses 6 8 AX Sadiman niinn a aia 1 6 displacement units Set 3 117 General parameters configuration REA sai sttinnenitsituserinn hia 3 203 HOME Sequence ness 2 14 Infinite Movement scese 2 36 mechanical motion device Set EE 3 113 Modules sereen 1 13 Number Selection ssssscsecens 2 17 number INCOTreECt esere 8 3 Oscillation nsere 7 4 Parameters Modifying 2 18 positions acquisition nesses 3 21 SETUP aTa a adie 2 16 synchronization eee eects 3 124 B Back lashieccitundehiacdeiusicenianeh 2 28 compensation Read 3 168 compensation Set 3 25 HyStEreS S sissies 4 8 base Velocity S t cesses 3 150 Baud Rate esserne 2 12 Bi
77. Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxUF xx int Axis number XX O0to4 XX None XX Missing 0 Out of range Error B Floating point Error A This command makes active the latest PID parameters entered Any new value for Kp Ki Kd and the maximum following error are not being used in the PID loop calculation until the UF command is received This assures that the parameters are loaded simultaneously and without problems If the axis specifier xx is missing or set to 0 the controller updates the fil ters for all axes If xx is a number between 1 and 4 the controller updates only the filter for the specified axis None A Unknown message code B Incorrect axis number FE _ Set maximum following error KD __ Set derivative gain KI _ Setintegral gain factor KP _ Set proportional gain 3KP0 05 Set proportional gain factor of axis 8 to 0 05 3KD0 07 Set derivative gain factor of axis 8 to 0 07 3UF Update servo loop of axis 3 with the new parameters aD EDH0162En1040 06 99 3 146 Newport MM4005 UH Wait for I O high Usage UIMM E PGM MIP Syntax xxUH Parameters Description xx int 1 0 bit number Range XX Oto8s Units XX None Defaults XX Missing 0 Out of range Error E Floating point Error A Description This command causes a program to wait until a selected I O input b
78. Display iane aarda 2 32 Element Parameters serrr DOSL ea ANA a A a A 3 199 DOSIMONis c cnsuticacnc anaes 3 202 Elements Definition Commands 5 10 to an user analog port Send a 3 194 Elements Defining BPM yarjable assisi elementwhere the generation of Addit ia annaa ances 3 183 Erase the last element of 3 46 COPY oiiaao arani e aA 3 201 length Wait FOr a sses 3 159 Display anniina 3 44 EDH0162En1040 05 99 9 6 Newport MM4005 Command List by Category Command Description IMM PGM MIP Command Description IMM PGM MIP General mode selection SM Save program a xx CD nn Set cycle value and activate periodic display mode E E xx XL nn Delete one line of program E CM nn Change communication mode a E XM Read available memory E E E MC Set manual mode E E xx XX Erase program a xx MF Motor OFF E E E lt Flow control and sequencing ML Set local mode E E xx DL Define label a MO Motor ON a E xx IE nn Ifl O input is equal E E E MR Set remote mode a E xx JL Jump to label E E Qw Save general parameters E E KC Abort command line E E E RS Reset controller E E E xx OE nn Test1 O output E E E Motion and position control RP nn Repeat command line E 8 E AB Abort motion a a RQ nn Generate service request SRQ E E E xx DH Define home E E xx UH Wait for I O high xx MT nn Moveto travel limit switch E E E xx UL Wait for I O low a xx OR nn Search for home a E WA nn Wait E E E xx PA nn Moveto absolute position E 8 E
79. EDH0162En1040 06 99 MM4005 Remote Mode Command Description IMM PGM MIP Commands to execute a trajectory ET Execution of trajectory E E VS nn Define the vector acceleration on trajectory E E E trajectory acceleration VV nn Define the vector velocity on trajectory trajectory velocity W E E WI nn Wait for a trajectory curvi linear length E WN nn Wait for a element of trajectory E Commands to help geometric definition of a trajectory AT Tell the element number under execution E E E xx LT Extended list of the trajectory E E E XA Tell the current maximum allowed angle of discontinuity E E XE Tell the last element E lE XT Tell number of elements in the trajectory E E XU nn Tell the vector acceleration on trajectory E E E trajectory acceleration XV nn Tell the vector velocity on trajectory trajectory velocity W E E Master slave mode definition xx FF nn Set maximum master slave following error xx GR nn Set master slave reduction ratio E E xx SS np Set master slave mode E E Trace mode on trajectory NB nn Set trajectory element where the generation of pulses starts NE nn Set trajectory element where the generation of pulses ends NI nn Set step curvi linear distance between synchronisation pulses NN nn Set number of synchronisation pulses to generate NS Allow generation of pulses on interpolation
80. MM4005 controller offers a choice of four command line terminators which are combinations of line feeds and carriage returns LF CR CR LF and LF CR To change the existing selection from the General Setup menu press uP until the Terminator parameter appears on the display Press MODIFY and then the CHANGE key until the desired terminator is selected Press the VALID key to accept the entry and return to the previous menu The factory default terminator is LF Motor OFF _ gt SETUP gt GEN gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT ua CMTxx Set communication terminator Communication This setting selects the communication port to be used with a host comput er The MM4005 controller can use either the RS 232 or IEEE 488 interface but only one at a time The selection can be made only through this setup Default mode is RS 232 C To change the existing selection from the General Setup menu press UP until the Communication parameter appears on the display Press MODIFY and then the CHANGE key to select a new communication port Press the VALID key to accept the entry and return to the previous menu Motor OFF _ SETUP gt GEN gt UP MODIFY gt CHANGE gt VALID gt QUIT gt QUIT T CMMxx Set communication mode QAD Newport 2 11 EDH0162En1040 06 99 MM4005 Local Mode
81. None XX Missing Error E Out of range Error E Floating point Error A nn Missing 0 Out of range 1 for a bit error C for a byte This command starts a WHILE loop based on the state of an I O input bit or byte While the state of the selected I O input bit xx is equal to nn all fol lowing commands up to the corresponding WE are executed The loop is repeated until the test becomes false At that point the program executed continues with the line immediately following the WE command If xx is set to 0 or missing the test is performed on the entire I O input byte and then nn could have a value from 0 to 255 representing the byte value to compare it with NOTE If the command is set to look for a bit by specifying xx between 1 and 8 a non zero value for the nn parameter will be considered as a 1 and the while loop will execute until the I O bit becomes Low None A Unknown message code C _ Parameter out of limits E _ Incorrect I O channel number J Command authorized only in programming mode L Command not at the beginning of a line WE End While loop WG While variable greater than value WL While variable is less WY While variable is different Example 5WH1 3PR1 2 WS WE While I O input bit is high repeat next commands Move axis 8 incremental 1 2 units and wait for stop End while loop QD EDH0162En1040 06 99 3 158 Newport MM4005 WI Wa
82. Not used Default 6 Not used Default 7 Not used Default Errors A S Rel Commands TS TX Example TX1 TX1 GO ECOGO Unknown message code Communication time out Read controller status Read controller activity Read controller extended status Controller returns value GD EDH0162En1040 06 99 3 144 Newport MM4005 TY Read a variable Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands E IMM E PGM E MIP xxTY xx int Variable number XX 1to 100 integers and 101 to 120 floats XX None XX Missing Error O Out of range Error O Floating point Error A This command reads the value of a variable If the variable was not previ ously defined with the YS command the controller returns value 0 NOTE The controller allows 100 variables They are not identified by a name but by a number as a parameter for different commands xxTYnn xx Variable number nn Variable value A Unknown message code O Variable number out of range S Communication time out YS Initialize variable All variable manipulation commands Example 17TY Read variable 17 17TY28 Controller returns value 28 for variable 17 A Newport 3 145 EDH0162En1040 06 99 MM4005 UF Update servo filter Usage Syntax Parameters Description Range Units Defaults
83. Returned Model Serial Description Reasons of return of goods please list any specific problems QAD Newport 8 35 EDH0162En1040 06 99 lO EDH0162En1040 06 99 8 36 Newport Section 9 Index MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Section 9 Index Parameter oerein 6 16 2 Parameter serrer 6 11 A JN 0101 A EA AE E E E AAT command line sses 3 62 MOON aie aean aai 3 16 progi aMi in iniannik nun anii 3 20 Absolute MOVES eeesecsescsseeessssesseees 2 34 Multiple AX S weet 2 35 SINGIO AXIS siecia 2 35 absolute position Move to 3 92 Acceleration v ccccccccessssssssesssssesesceees 2 24 on trajectory Define the vector 3 152 on trajectory Tell the vector 3 180 MAXIMUM erreser 4 12 Read desired wo 3 35 Sehidun shit a a aniis 3 17 VASE AE A E abies 5 3 eE a E A T 4 5 Loc lurieinnniunniii nai 4 6 ACQUISIU O Nronianrninianinnnaniii iia ASYNCRrONOUS sses 6 17 AX S POSITIONS cere 3 21 actual POSITION nesses in variable Set wees 3 196 Redd unenian 3 136 AAE aert a at to variable nasses 3 183 variables sessies 3 185 Address EEE 488 cesce 2 12 AffectStr iganna nnani 3 22 Allow generation Of pulses on interpolation 3 86 pulses ON MOtION eseese 3 97 analog INPUL ssssssissisiisrssissisisnnsisrnsisiisrssres mode Setinin ei 3 19 QUE
84. Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands KD Set derivative gain KI _ Set integral gain UF Update servo filter XP _ Read proportional gain factor Example 3KP0 01 Set proportional gain factor for axis 8 to 0 01 ae nell ae 3UF Update PID filter only now the KP command takes effect GD Newport EDH0162En1040 06 99 MM4005 KS Set saturation level of integral factor in position loop PID corrector Usage WIMM E PGM E MIP Syntax xxKSnn or xxKS Parameters Description xx int Axis number nn float New saturation level of integral factor Read the actual saturation level Range XX 1to4 nn Otol Units XX None nn None Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the saturation level of integral factor of the PID posi tion closed loop This is evaluated in nn 0 to 1 times of the maximum pos sible level of ouput signal The command can be sent at any time but it has no effect until the UF update filter is received Returns Ifthe sign takes place of the nn value this command reportes the actu al saturation level 0 to 1 times of integral factor of the PID position closed loop Errors A Unknown message code B Incorrect axis number C
85. The MM4005 is an integrated controller and driver The controller part is common for any configuration but the driver section must have the correct hardware for each motor driven The driver hardware is one driver card per axis that installs easily in the rear of the controller Each card has an end plate with the 25 pin D Sub motor connector and an identifying label Always make sure that the motor specified on the driver card label match es the label on the motion device There are important advantages to having an integrated controller driver Besides reducing space and cost integration also offers tighter coordina tion between the two units so that the controller can more easily monitor and control the driver s operation Driver types and techniques varying widely in the following paragraphs we will discuss only those implemented in the MM 4005 4 7 1 Stepper Motor Drivers Driving a stepper motor may look simple at first glance For a motor with four phases the most widely used type we need only four switches tran sistors controlled directly by a CPU Fig 4 44 QAD Newport 4 29 EDH0162En1040 06 99 MM4005 Motion Control Tutorial Seeae QQ ee Fig 4 44 Simple Stepper Motor Driver This driver works fine for simple low performance applications But if high speeds are required having to switch the c
86. WE End While loop E E xx PR nn Moveto relative position E E E xx WF Wait for function key E E SE Start synchronized motion E E xx WG nn While variable is greater E xx ST Stop motion E E E xx WH nn Whilel O input is equal E E xx ZP Zero position a E WK aa Wait for key E E Trajectory definition parameters xx WL nn While variable is less a E xx AC nn Set acceleration E E E xx WP nn Wait for position E 8 E xx DA pp Read desired acceleration E E E xx WS nn Wait for motion stop E E E xx DF Read following error E E E WT nn Wait E E E xx DP Read desired position E E E xx WY nn While variable is different E xx DV pp Read desired velocity E E E xx YE nn Ifvariableis equal E E xx MV or Infinite movement E E E xx YG nn If variable is greater E E E SD nn Speed scaling a E xx YL nn Ifvariable is less E E E xx TH Read theoretical position E E E xx YN nn Ifvariable is different E E SG xx TP Read actual position E E E xx YW Wait and read key E E xx VA nn Setvelocity E E E Variable Manipulation xx VB nn Set base velocity Stepper motor only E E E xx AS nn Affect string E E E Special motion parameters xx CS nn Concatenate two strings E E E xx DM Read manual velocity E E E xx TY Read a variable E E E xx DO Read home search velocity E E E xx YA nn Add to variable a E xx MH nn Set manual velocity E E E xx YB Negate variable a E xx OA nn Set home search acceleration E E xx YC nn Add variables E E E xx OH nn Sethome search high velocity a E xx
87. WT400 2PA2 3 Wait for I O input bit 6 to go low wait an additional 400 ms and GD then move axis 2 to position 2 3 units Newport 3 165 EDHO162En1040 06 99 MM4005 WY While variable is different Usage IMM E PGM E MIP Syntax xxWYnn Parameters Description xx int Variable number nn int Comparison value Range XX 1 to 100 integers and 101 to 120 floats nn 32767 to 32767 Units XX None nn None Defaults XX Missing Error O Out of range Error O Floating point Error A nn Missing 0 Out of range Error C Description This command starts a WHILE loop based on a variable s value While the selected variable xx is different than the nn value all following commands up to the corresponding WE are executed The loop is repeated until the test becomes false At that point the program executed continues with the line immediately following the WE command Returns None Errors A Unknown message code C _ Parameter out of limits J Command authorized only in programming mode L Command not at the beginning of a line O _ Variable number out of range Rel Commands WE End While loop WG While variable is greater than value WH While 1l O input is equal WL While variable is less Example 5YS0 Initialize variable to 0 5WY18 While variable 4 is different than 18 repeat following commands up to the next WE command 3PR1 2 WS M
88. YD nn Divide variables E E E xx OL nn Set home search low velocity E E xx YF nn Scale variable E E E xx PA nn Moveto absolute position E E E xx YK Read key to variable E 8 E xx PB nn Setstart position of generation of pulses of synchronisation E E E xx YM nn Multiply variables E E E xx PE nn Setend position of generation of pulses of synchronisation E E E xx YP nn Set theoretical position in variable E E E xx PI nn Setstep of generation of pulses of synchronisation E E E xx YQ nn Setcurrent position in variable E E E xx PS pp Allow generation of pulses on motion E E E xx YS nn Initialize variable E E E xx PT nn Calculate necessary time for axis displacement E E xx YV Read value from keyboard in a variable E E E xx SH nn Set home preset position E E E xx YY nn Copy variable E E E xx SY nn Axis synchronization a E E Display functions xx XH Read home preset position E E E xx DS nn Display strings on screen a E Trace mode xx DY nn Display a variable a E xx AQ nn Axis positions acquisition E E E xx FB aa Labelfunction key a E GQ nn Set global trace mode E E E FC Clear function key line a E NQ Read global acquisition nr E E E FD Display function keys a E SP nn Set trace sample rate E E E xx NP nn Set decimal digits number of position display a E SQ nn Set global sample rate E E E RD Disable display refresh E E E xx TM nn Set trace mode E E E RE Enable display refresh E E E xx TQ nn Read global trace data E E Status Functions xx TT Read trace
89. _ Concatenates two strings Example 1AS This Define string 1 2AS is Define string 2 101YS10 5 Define variable 101 DS S1 82 a value Y 101 This is a value 10 5 WT 4000 Display on screen Response Wait for 4 sec In this example line five of the front panel will display This is a value 10 5 during 4 seconds QD EDH0162En1040 06 99 Newport MM4005 DV Read desired velocity Usage HIMM E PGM E MIP Syntax xxDVpp Parameters Description xx int Axis number pp Auxiliary parameter Range XX 1to4 pp Oorl Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A pp Missing 0 21 1 Description This command reads the motion velocity assigned in the axis setup or redefined through the VA command This is the maximum velocity of a trapezoidal type motion profile used in point to point moves Since the command is reporting the programmed velocity it can be used during motion or at stop If pp is 0 or missing the actual value of velocity is reported If pp gt or 1 the maximum allowed value of velocity is reported Returns xxDVnn xx Axis number nn Velocity value in pre defined units sec Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands VA Set velocity Example 2VA2 5 2DV 2DV2 5 2DV1 2DV20 A Define velocity to 2 5 units sec Read desired
90. a power off on reset NOTE Be very careful in using this command It is equivalent to a power off on cycle and should not be used in normal operation None None AB Abort motion MF Motor OFF ST Stop motion RS Reset controller QAD EDH0162En1040 06 99 3 108 Newport MM4005 SB Set I O output bits Usage Syntax Parameters Description Valeurs Units Defaults Description Returns Errors Rel Commands Example SB224 A E IMM E PGM E MIP xxSBnn I O bit number 1 0 bit mask Oto 8 0 to 255 None None xx int nn int XX nn XX nn XX Missing 0 Out of range Error E Floating point Error A 255 Error C Decimal part truncated nn Missing Out of range Floating point This command sets one to all output bits of the I O port If xx is specified between 1 and 8 the nn mask must be missing and then the selected bit will be set If xx is missing or set to 0 and nn is between 1 and 255 the controller will set all bits corresponding to the mask For example if nn is 140 the equiva lent binary mask is 10001100 which means that I O output bits number 3 4 and 8 will be set remember that I O bits are numbered from 1 to 8 If xx is missing or set to 0 and nn is not specified the controller sets all 8 bits This is equivalent to setting xx to 0 and nn to 255 NOTE Remember that having an open collector configur
91. and starts defining a new one Any new trajec tory specific command will be added or affect the existing defined tra jectory and will be active at the next execution Ea Trajectory Element Parameters Both line and arc parameters can be entered using different commands Most differences are in the type and number of parameters used to describe one trajectory element Many commands require only the mini mum number of commands that geometrically define one element The controller always calculates and keeps track of all element parameters Using the LT command the complete set of trajectory element parameters can be listed This is an excellent tool in developing and debugging com plex trajectories GD Newport 5 9 EDHO162En1040 06 99 MM4005 Trajectory Functions Tutorial El Trajectory Specific Commands These are the commands needed to support the contouring feature They are fully compatible with the general description of all other commands and will follow the same protocol 5 7 1 Trajectory Setup Commands AD nn Define the maximum allowed angle of discontinuity xx AX Assign a physical axis as X geometric axis xx AY Assign a physical axis as Y geometric axis FA nn Define the tangent angle for the first point NT Start definition of a new trajectory 5 7 2 Trajectory Elements Definition Commands CA nn Define sweep angle and build an arc of circle f CR CA CR nn Define radius for anarc of circle f CR CA CX
92. and then executes the next commands NOTE There are a few milliseconds of delay between execution of different command lines If you need precise delays place the critical commands on the same line immediately following WS NOTE To terminate an excessively large delay turn the motor power off and on None A Unknown message code B Incorrect axis number WA Wait WK Wait for key WP Wait for position WT Wait Move axis 2 to position 10 units wait for axis 2 to reach destina tion wait an additional 500ms and then move axis 3 to position 5 units QD EDH0162En1040 06 99 3 164 Newport MM4005 WT Wait Usage HIMM E PGM E MIP Syntax WTnn Parameters Description nn int Waittime delay Range nn Oto 1073741824 Units nn Milliseconds Defaults nn Missing 0 Out of range Nearest range limit Floating point Decimal part truncated Non increment Rounded to nearest increment Description This command causes the controller to pause for a specified amount of time This means that the controller will wait nn milliseconds before exe cuting the next command NOTE Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs NOTE This command is identical to WA Both exist only for program compati bility reasons with other controllers Returns None Errors None COMMANDES ASSOCIES WAW Wait Example 6UL
93. angle of discontinuity E E FT nn Set output frequency E E E XE Tell the last element E E xx RA Read analog input E E E XT Tell number of elements in the trajectory E E xx RB Read I O input E E E XU nn Tell the vector acceleration on trajectory E E n xx RO Read O output E E E trajectory acceleration xx SB nn Set I O output bits E E E XV nn Tell the vector velocity on trajectory trajectory velocity W E E SO nn Set1 O output byte E E E Master slave mode definition xx TG nn Toggle 1 0 output bits E E E xx FF nn Set maximum master slave following error E E xx YO nn Send a value to an user analog port E E O xx GR nn Set master slave reduction ratio E E O xx YR nn Read a value from an user analog port and affect variable E E xx SS np _ Set master slave mode a E Programming Trace mode on trajectory AP Abort program E E E NB nn Settrajectory element where the generation E E xx CP Compile program L of pulses starts xx EO nn Automatical execution on power on E E NE nn Settrajectory element where the generation E E xx EP nn Edition of program of pulses ends xx EX nn Execute a program L NI nn Setstep curvi linear distance between E E xx LP List program a Lj synchronisation pulses MP Download EEPROM to RAM L L NN nn Set number of synchronisation pulses to generate a E QP Quit program mode L NS Allow generation of pulses on interpolation E E
94. around any of the axes thus the Pitch Roll and Yaw should be zero The commonly used representation of the three errors is shown in Fig 4 9 Pitch is rotation around the Y axis Roll is rotation around the X axis and Yaw around the Z axis Fig 4 9 Pitch Yaw and Roll Motion Axes GD Newport 4 9 EDH0162En1040 06 99 MM4005 Motion Control Tutorial The problem with this definition is that though correct it is difficult to remember A more graphical representation in presented in Fig 4 10 Imagine a tiny carriage driven by a giant leadscrew When the carriage rolls sideways on the lead screw we Call it a Roll When it rides up and down on the lead screw pitch we call that Pitch And when the carriage deviates left or right from the straight direction on an imaginary Y trajectory we call it Yaw Yaw Pitch Roll aN Screw Pitch Fig 4 10 Pitch Yaw and Roll 4 2 10 Wobble This parameter applies only to rotary stages It represents the deviation of the axis of rotation during motion A simple form of Wobble is a constant one where the rotating axis generates a circle Fig 4 11 S Fig 4 11 Wobble A real rotary stage may have a more complex Wobble where the axis of rotation follows a complicated trajectory This type of error is caused by the imperfections of the stage machining and or ball bearings 4 2 11 Load Capacity There are two types of loads that are of interest for motio
95. axis 1 to 12 5 mm start synchro nized axis wait for motion to complete Set destination of axis 2 to 0 596 mm start synchro nized axis wait for motion to complete Set destination of axis 1 to 13 mm and of axis 2 to 0 mm start motion wait for motion to complete Declare axes 1 and 2 non synchronized Set I O bit 8 low this will lift the pen up Move axis 1 to 17 mm start synchronized axis wait for motion to complete Set I O bit 8 high this brings the pen down 2PR12 5 WS 1PR 0 5 WS 2PR 12 5 WS 1PR 0 5 WS RP2 Make four relative motions by sequentially incrementing axis 1 and 2 wait for each motion to stop repeat the cycle com mand line two times Move axis 2 to 2 5 mm and wait for motion com plete Initialize variable 1 set its value to zero Declare axes 1 and 2 synchronized Start a wile loop repeat the following commands while variable 1 is less than 8 Set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start motion wait for motion to complete Set relative destination of axis 2 3 mm away from current position start motion on the synchronized axis wait for motion to complete Set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start synchronous motion wait for motion to com plete EDH0162En1040 06 99 MM4005 Appendix D Motion Program Examples
96. be displayed in ASCII format 1to 14 characters None Missing Null string clears the line Out of range Only first 14 characters are used This command stops the execution of a program When it is executed the specified message aa is displayed in the middle of line 5 and the menus on line 6 offer two choices QUIT and EXEC If the function key corresponding to QUIT is pressed program execution is terminated If EXEC is pressed the program continues execution None J WA WP WS WT WKContinue 3PA1 2 Command authorized only in programming mode Wait Wait for position Wait for motion stop Wait top program and display on line 5 the string Continue Move axis 3 to position 1 2 units In this EXAMPLE line five of the front panel will display Continue until QUIT or EXEC is pressed AD EDH0162En1040 06 99 3 160 Newport MM4005 WL While variable is less Usage LIIMM E PGM E MIP Syntax xxWLnn Parameters Description xx int Variable number nn int Comparison value Range XX 1to 100 integers and 101 to 120 floats nn 32767 to 32767 Units XX None nn None Defaults XX Missing Error O Out of range Error O Floating point Error A nn Missing 0 Out of range Error C Floating point Decimal part truncated Description This command starts a WHILE loop based on a variable s value While the selected variable xx is
97. command To help even more in troubleshooting a motion program the MM4005 con troller also stores the line which caused the error Using the TD command the user can list the bad or the offending program line 6 9 Integral Gain Saturation Limit KS Command The PID servo filter has been extended to include user control over the integral gain saturation limit The xxKSnn command can be used to set the integral gain saturation limit for each axis The nn parameter range is expressed between 0 and 1 and represents the saturation level reduction 6 10 Program Editing EP Command The EP enter program mode command accepts a nn parameters that allows the user to insert command lines anywhere inside an existing pro gram The XL command offers the capability to erase a specific command line Using the two commands a program can be edited with a dumb terminal without having to download it to an external computer editor 6 11 Firmware Updates QAD Newport The firmware updates of M M4005 will no longer erase the user program section of the non volatile RAM Only controller setup parameters will be changed motion programs will stay intact if both buttons Hl and Hl are pressed at the moment of power on 6 13 EDHO162En1040 06 99 MM4005 Feature Descriptions Tutorial 6 12 J oystick The MM4005 lets you use a joystick to manually manipulate axes remotely The MM4005 joystick has four buttons MOT ON MOT OFF ORIG
98. command deletes the last line of this program NOTE This command is useful for modifying an existing program without delete it Returns None Errors A Unknown message code C _ Parameter out of limits D Unauthorized execution F Program number incorrect l Unauthorized command in programming mode Rel Commands EP Edition of program QP Quit program mode Example 1LP Liste program 1 1PA10 WS 1PR10 WS OR Program 1 is listed 1XL2 Delete the line 2 of program 1 1XL Delete the last line of program 1 1LP Liste program 1 1PA10 1PR10 WS Program 1 is now listed EDH0162En1040 06 99 3 174 GD Newport MM4005 XM Read available memory Usage HIMM E PGM E MIP Syntax xxXM Parameters Description xx int Program number Range XX Oto 127 Units XX None Defaults XX Missing 0 Out of range Error F Description If xx 0 or missing this command reads the amount of unused program memory The controller has 30720 bytes of non volatile memory available for permanently storing programs This command reports the amount not used If xx 21 and xx lt 127 this command reports the length of the program num ber xx If the returned value is 0 the program does not exist NOTE The controller is saving programs in their original format thus using one byte per character Returns xxXMnn nn Returned value in bytes Errors S Communication time out R
99. data a E ED nn Display program error E E E XN Read number of acquisitions E E E xx MS Read motor status E E E XQ Read global sample rate E E E TB aa Read error message E E E XS Read trace sample rate E E E TD Read error line of program E E Digital filter parameters TE Read error code E E E xx FE nn Setmaximum following error E E E TS Read controller status E E E xx KD nn Set derivative gain E E E TX Read controller activity E E E xx KI nn Set integral gain E E E TX1 Read controller extended status E E E xx KP nn Set proportional gain E E E VE Read controller version E E E xx KS nn Setsaturation level of integral factor EE Commands to define a trajectory in position loop PID corrector AD nn Define the maximum allowed angle of discontinuity a E xx PW Save parameters a E xx AX Assign a physical axis as X geometric axis a E xx TF Read filter parameters E E E xx AY Assign a physical axis as Y geometric axis a E xx UF Update servo filter E E E CA nn Define sweep angle and build an arc of circle f CR CA a E xx XD Read derivative gain factor E E E CR nn Define radius for anarc of circle f CR CA a E xx XF Read maximum following error E E E CX nn Define X position to reach with an arc of circle f CX CY a E xx XI Read integral gain factor E E E CY nn DefineY position to reach and build an arc of circle E E xx XP Read proportional gain factor E E E f CX CY Motion device parameters EL Erase the last element of trajectory a E xx BA nn Set backl
100. driver also referred to in this manual as the controller was specifically designed to operate with Newport s broad line of motion devices This way it significantly increases the user friendliness and raises the overall motion system performance Using other motion devices is possible but not recommended for optimal system performance Fig 1 1 shows a minimal system configuration The MM4005 is used as a stand alone unit to control and drive a motion device The only compo nents needed are a motion device a connecting cable the MM4005 and a power cord Fig 1 1 Minimal system configuration In this configuration all commands are received from the front panel Programs can be generated and executed without using an additional com puter 1 7 EDH0162En1040 06 99 MM4005 Introduction A more common setup is shown in Fig 1 2 The MM4005 drives multiple stages and is controlled by a remote computer Fig 1 2 A common controller setup A more complex configuration shown in Fig 1 3 could have up to 4 motion devices digital and analog I O signaling for motion synchronization remote safety motor off switches and be part of a larger multi axis sys tem controlled by a remote computer Fai rl To other Motion Controller lt a Remote Motor 0 OFF e Digital Analog eee 5 we Fig 1 3 A more complex controller configuration To explore all capabilities
101. first active axis Fig 2 10 aD EDH0162En1040 06 99 2 32 Newport MM4005 Local Mode Fig 2 10 Relative motion menu All displayed positions become zero and the symbol indicates which numerical value will be changed with the keypad The position display becomes zero because the values entered are relative motions A zero rela tive motion the default value means that the motor will not move Enter a desired positive or negative relative motion Press the VALID key to accept the value edit the entry using the DELETE key or exit this mode by pressingthe Quit key Oncethe vALID key is pressed the symbol moves to the next connected axis Enter a numerical value or press VALID to accept the zero default When the vALID key is pressed on the last active axis the display changes to a move execution menu The two active function keys are ALL and QUIT The Quit key will exit this mode and return to the top level motor on menu The ALL key will start a relative motion on all axes using the values entered If relative motion values were entered on multiple axes but now you require only one axis to move use the numerical keypad to select the axis and start the motion Each keypad row controls one axis and the first or last key in the row determines the direction The middle key has no effect For example if axis number 1 is to be moved press the 3 key to start the motion in the specified direction or the
102. in a program will be reduced to 50 Motor OFF _ SETUP gt GEN gt UP gt MODIFY gt gt VALID gt QUIT gt QUIT free te SD Set scaling speed NOTE In the following paragraphs it is assumed that you need to modify only the mentioned parameter For that reason the key sequence description starts from the General Setup menu and the quick key sequence starts and stops at the top level MOTOR menu If you need to modify more than one parameter advance through the list with the up key without returning each time to the top menu 2 9 EDHO162En1040 06 99 MM4005 Local Mode Communication Time out This parameter represents the time duration the controller will wait when expecting an input It is a general communication parameter that applies to both RS 232 C and EEE 488 interfaces To change the existing value from the General Setup menu press UP until the parameter appears on the display Press MODIFY and then enter the desired value on the keypad Press the VALID key to accept the entry and return to the previous menu The default value is 1 seconds Motor OFF gt SETUP gt GEN gt UP MODIFY gt gt VALID gt QUIT gt QUIT Sanna CMOxx Set communication setup HOME Time out This parameter sets the time duration for which the controller will wait for each axis to complete a home search routine S
103. indicator on the button lights If no errors are detected the green LED will stay lit The display switches to the top level motor on menu HOME MANUAL MOVE PROG The motion system is ready for a command Newport 2 3 EDHO162En1040 06 99 MM4005 Local Mode 2 1 2 2 1 3 Home Motion Devices As a general practice before executing any motion always home the motion devices As described in detail in the Motion Control Tutorial sec tion homing a motion device means executing a special routine that locates a dedicated origin switch and an encoder index pulse and establish es an absolute position zero Finding the home position of a motion device is important for two reasons First after each power off on cycle you must position the stage accurately in space This means that the controller must find a zero position that is always in the same point in space relative to the base Secondly in order to prevent the motion device from running into the limits and possibly causing damage the controller must determine its position on power up From the top level motor on menu press the HOME function key The dis play will ask you to select an axis for the execution of a home search rou tine Use the keypad to enter a number and then press VALID If you want to perform a home search on all axes leave the default 0 and press VALID The axis will start moving the function keys will be disabled and the display will indicate the
104. ingthe quit key To start the program sequence press the EXEC key The display informs you on line number 5 that a program is executing and no function keys are available NOTE The only way to stop a program or a sequence of programs from the front panel is to turn the motor power off Use this method for an emer gency stop When the program sequence is finished the controller returns to the top level MOTOR ON menu MOTORON gt PROG gt EXEC gt misst gt VALID VALID gt EXEC EX Execute a program Axis Infinite Movement The infinite movement is realized with the NFIN menu to move one or some axis eternally none stop Press the MOVE key on menu Press the NEXT key to activate the second Move menu Press the INFINI key and then use the numeric keypad to start motion Press quit toexitthe INFINI menu NOTE Processing of an axis infinite movement is possible only if a periodicity has been defined and only for rotary stages Now if one key of numeric keypad is pressed one infinite displacement will be activated or stopped e Key HEE Infinite displacement of axis 1 in negative direction Key MIE Stop the infinite displacement of axis 1 Key HEME Infinite displacement of axis 1 in positive direction e Key HESE Infinite displacement of axis 2 in negative direction Key HEE Stop the infinite displacement of axis 2 Key WJ Infinite displacement of axis 2 in positive di
105. is detected on one of the axes the message ERROR will appear Display Structure This section describes the most common menus and display functions Only local mode menus will be addressed since they represent the vast majority of the front panel operations As described in Section 1 3 3 and illustrated in Fig 1 4 the local mode is divided into two sections MOTOR power and MOTOR power ENN MOTOR Menus When motor power is turned off the controller power on default mode the display function keys are as shown STATUS PROG SETUP This is the top level MOTOR RHA menu Each function is defined as follows Toggles the display for additional status information Activates the motion program management and generation environment This mode can be activated from both MOTOR and MOTOR EM top level menus When selected the function keys change to CREAT MODIFY QUIT The creation and modification of a program section is addressed extensive ly in the Programming In Local Mode section of the Local Mode chapter Is described in detail in Section 2 2 Controller Configuration A brief intro ductory description is provided here The top level setup menu after pressing SETUP offers the choice of two different setup categories and looks similar to Fig 1 10 aD EDH0162En1040 06 99 1 18 Newport MM4005 Introduction Fig 1 10 Top level SETUP menu Note the changes in t
106. its operation please review NMC Softwares User s Manual A Newport 7 3 EDH0162En1040 06 99 MM4005 Servo Tuning 7 2 Tuning Procedures Servo tuning is usually performed to achieve better motion performance such as reducing the following error statically and or dynamically or because the system is malfunctioning oscillating and or shutting off due to excessive following error NOTE Remember that all three PID gain factors are normalized meaning that they take a value between 0 and 1 If the value is 1 the parameter has the highest gain possible If the value is 0 the specified parameter is dis abled Acceleration plays a significant role in the magnitudes of the following error and the overshoot especially at start and stop Asking the controller to change the velocity instantaneously amounts to an infinite acceleration which since it s physically impossible causes large following errors and overshoot Use the smallest acceleration the application can tolerate to reduce overshoot and make tuning the PID filter easier NOTE In the following descriptions it is assumed that some kind of NMCServo software is being used to capture the response of the servo loop during a motion step command and to visualize the results 7 2 1 Axis Oscillation If the axis oscillates this indicates that the gain Kp may be too large Start by reducing the proportional gain factor Kp by one order of magnitude e g 0 2 to 0 02
107. lt Min value 0 001 gt Max value Error W This command defines to the controller what will be the maximum allowed angle of discontinuity between two element of trajectory This value will be used only for the elements of trajectory that will be defined after this com mand NOTE On power up the controller assumes that the maximum allowed disconti nuity angle is equal to 0 001 degree NOTE This value is necessary only when an a line segment element of type MY MY followed by any other kind of elements NOTE Before changing this value it is important to check if it is reasonable to change it It is very complex to determine what is a suitable value for a given application because a lot of parameters that act on this value Load condition of stages type of stages vector velocity acceleration When changing this value the precision on the trajectory will change If the sign 2 takes place of the nn value this command reportes the actu al maximum allowed discontinuity angle value S Communication time out W Trajectory too big discontinuity angle XA Tell the current maximum allowed angle of discontinuity Example ADO 1 Define 0 1 degree as maximum discontinuity angle AD Request the value of the maximum allowed angle of discontinuity ADO 1 Controller returns a value of 0 1 degree QD EDH0162En1040 06 99 3 18 Newport MM4005 AM Set analog input mode Usage HIMM E PG
108. move only a fraction of the full step Motion steps are smaller so the motion resolution is increased and the motion rip ple noise is decreased The MM4005 s drivers use the mini stepping technique to divide the full step in ten mini steps increasing the motor s resolution by a factor of 10 However mini stepping comes at a price First the driver electronics are significantly more complicated Secondly the holding torque for one step is reduced by the mini stepping factor In other words for a x10 mini step ping it takes only 1 10 of the full step holding torque to cause the motor to have a positioning error equivalent to one step a mini step To clarify a little what this means lets take a look at the torque produced by a stepper motor For simplicity lets consider the case of a single phase being energized Fig 4 39 QD EDH0162En1040 06 99 4 26 Newport MM4005 Motion Control Tutorial Fig 4 39 Single Phase Energization Once the closest rotor tooth has been pulled in assuming that we don t have any external load the motor does not develop any torque This is a stable point If external forces try to move the rotor Fig 4 40 the magnetic flux will fight back The more teeth misalignment exists the larger the generated torque Fig 4 40 External Force Applied If the misalignment keeps increasing at some point the torque peaks and then starts diminishing again such that when the
109. new value and then press VALID to accept the setting and return to the previous menu Pressthe up key to advance to the next parameter eee eee lt lt gt gt Axis Setup gt MODIFY gt UP gt MODIFY gt gt VALID gt fer QUIT gt QUIT gt YES gt QUIT Senna KS Read proportional gain factor GD Newport 2 27 EDH0162En1040 06 99 MM4005 Local Mode m annu nunn ununu Pree eer cry Rn a ECE EN Maximum Error This parameter represents the maximum allowed following error If at any time the following error exceeds this value the controller stops all motions in progress and turns the motor power off Use good judgment when setting this parameter A small value will cause premature fault and a large value will not protect the system from areal problem To change the Maximum Error parameter press the MODIFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu If you have been following the Axes Setup procedure from the beginning of the section pressing the up key will bring you back to the first para meter that was discussed Exit the Axes Setup by pressing the key lt lt gt Axis Setup gt MODIFY gt UP gt MODIFY gt A gt VALID gt QUIT gt QUIT gt YES gt QUIT FE _ Set max following error XF
110. nn Define X position to reach with an arc of circle f CX CY CY nn Define Y position to reach and build an arc of circle f CX CY EL Erase the last element of trajectory LX nn Define X position and build a line segment f LX tangent LY nn Define Y position and build a line segment f LY tangent MX nn Define X position for a line segment f MX MY MY nn Define Y position and build a line segment f MX MY 5 7 3 Reporting Commands AT Tell the element number under execution xx LT Extended list of the trajectory XA Tell the current maximum allowed angle of discontinuity XE Tell the current element XT Tell number of elements in the trajectory XU nn Tell the vector acceleration on trajectory trajectory acceleration XV nn Tell the vector velocity on trajectory trajectory velocity 5 7 4 Trajectory Synchronization Commands NB nn Set trajectory element where the generation of pulses starts NE nn Set trajectory element where the generation of pulses ends NI nn Set step curvi linear distance between synchronisation pulses NN nn Set number of synchronisation pulses to generate NS Allow generation of trajectory WI nn Wait for a trajectory curvi linear length WNnn_ Wait for a element of trajectory 5 7 5 Execution of a Trajectory EL Erase the last element of trajectory ET Execution of trajectory VS nn Define the vector acceleration on trajectory trajectory acceleration VV nn Define the vector velocity on
111. nn Moveto relative position E m E xx PS pp Allow generation of pulses on motion E E E xx PT nn Calculate necessary time for axis displacement E xx PW Save parameters E E QP Quit program mode B Qw Save general parameters E ii xx RA Read analog input E E E xx RB Read I O input E Hl E RD Disable display refresh E E E RE Enable display refresh E E E xx RO Read O output E E E RP nn Repeat command line B m RQ nn Generate service request SRQ E E RS Reset controller E m E xx SB nn Set I O output bits E m E xx SC nn Set control loop type E E SD nn Speed scaling E Ea SE Start synchronized motion E E xx SF name Set axis mechanical motion device E E xx SH nn Sethome preset position E m E xx SL nn Set left travel limit E E E SM Save program E xx SN name Set axis displacement units E m SO nn Set I O output byte E E E SP nn Set trace sample rate E a E SQ nn Set global sample rate E E E xx SR nn Set right travel limit E E E xx SS np Set master slave mode E E xx ST Stop motion E E E xx SY nn Axis synchronization E E E xx TA Read motion device E E E TB aa Read error message E E xx TC Read control loop type E E TD Read error line of program C E 4 EDH0162En1040 06 99 3 14 Newport MM4005 Remote Mode GD Newport
112. not generate a motion For synchronized axes use SE command to execute a motion NOTE NOTE Using of the this command is possible only after setting of a periodic cycle CD command and only for rotary stages Returns None Errors A Unknown message code B Incorrect axis number D Unauthorized execution Rel Commands AC Set acceleration MT Moveto travel limit switch PA Moveto absolute position PR Moveto relative position ST Stop motion VA Set velocity Example 2VA8 Set velocity of axis 2 to 8 units sec 2CD360 Setcycle value to 360 and activate the mode 2MV Move axis 2 with velocity of 8 units sec ST Stop motion Newport 3 77 EDH0162En1040 06 99 MM4005 MX Define X position for a Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example line segment f MX MY E IMM E PGM MIP MXnn nn double X coordinate to reach with a line segment nn 1 0 E to 1 0 EP nn Preset units in SETUP mode nn Missing Error C Out of range Error C This command defines to the controller X position to reach with an ele ment of trajectory of the type Line segment f MX MY None OoON lt X lt NO MY XE NT MX10 MY10 XE XE Line x y 10 10 45 Parameter out of limits Communication time out Too long trajectory Trajectory Line x y Lin
113. number of synchronisation pulses to generate Generation of pulses starts at the beginning of the element Read element number where the generation of pulses starts Controller tells the value AD 3 80 Newport EDH0162En1040 06 99 MM4005 NE Set trajectory element Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example GD E IMM NEnn or nn int nn where the generation of pulses ends E PGM NE Missing Out of range MIP Number of trajectory element where the pulses genera tion ends Read the number of trajectory element where the puls es generation ends 1 to 100 None 1 Error C This command sets number of trajectory element where the generation of pulses ends The generation of pulses is ended immediately in the end of this element NOTE As the total element number of a trajectory may be inferior than 100 and the value of NB must be lt the value of NE lt the total element number this value of NE will be reexamined in NS and ET commands If the sign takes place of the nn value this command reportes the num ber of trajectory element where the generation of pulses ends A B De NB NE4 NE NE4 Unknown message code Incorrect axis number Parameter out of limits Unauthorized execution Set trajectory element where the generatio
114. obstacle To prevent this the user can reduce the allowed travel by chang ing the software travel limit Since a motion device must be allowed to find its home position the home switch and or sensor must be inside the travel limits This means that both positive and negative travel limits cannot be set on the same side of the home position A more obvious restriction is that the negative limit cannot be greater than the positive limit If any of these restrictions is not met the controller will return error C NOTE If the command is issued for an axis in motion the new limit should not be set inside the current travel If the motion in progress could reach the new desired software limit the command is not accepted and the controller returns error D NOTE Be careful when using this command The controller does not know the real hardware limits of the motion device or application Always set the software lim its inside the hardware limits limit switches In normal operation a motion device should never hit a limit switch If you want to change the software limits note that the values selected in remote mode can t exceed the values selected in local mode already available as a stan dard parameter of the stage If you want to increase these limits Do care about the hardware limits Use the local mode from the front panel Returns If the sign 2 takes place of the nn value the controller returns the value of the negati
115. of trajectory of the type arc of circle f CX CY None C V e CY XE EL NT CX10 CY10 XE XE Arc x y 10 10 90 A Parameter out of limits Too long trajectory Trajectory Units not translationnal or not identical Define Y position to reach and build an arc of circle f CX CY Tell the last element Erase the last element of trajectory Clear trajectory Define X position of an arc of circle f x y Define Y position an build an arc of circle f x y Tell last element Controller tells the built element Newport 3 33 EDH0162En1040 06 99 MM4005 CY Define Y position to reach and build an Usage Syntax Parameters Description Range Units Defaults Description Returns Errors arc of circle f CX CY E IMM E PGM MIP CYnn nn double Y coordinate to reach with an arc of circle nn 1 0 E to 1 0 EP nn Defined motion units nn Missing Error C Out of range Error C This command defines to the controller Y position to reach and tells to the controller to build an element of trajectory of the type Arc of circle f CX CY C Parameter out of limits H Calculation overflow V Too long trajectory Typeerror arc expected Trajectory Arc r 6 radius is too small Trajectory Arc r 0 radius is too big Arc x y circle too small e Trajectory Units not translationn
116. panel still dis plays motion and status information but only the power and motor power buttons remain active Not recommended for use in programming mode NOTE If the MR command is issued while a program or a motion is in progress the controller will first abort the program and stop all axes similarly to a ST command before switching to remote mode Returns None Errors D Unauthorized execution Rel Commands MC Set manual mode ML Set local mode Example MR Setcontroller in remote mode GD EDH0162En1040 06 99 Newport MM4005 MS Read motor status Usage HIMM E PGM E MIP Syntax xxMS Parameters Description xx int Axis number Range XX Oto4 Units XX None Defaults XX Missing 0 Out of range Error B Floating point Error A Description This command reads the motor status byte of the specified axis If the axis number xx is missing or set to 0 the controller returns the motor status bytes for all four axes separated by acomma Each bit of the status byte represents a particular axis parameter as described in the following table Bit Function 0 Meaning for 1 0 Axis in Motion NO YES 1 Motor power ON OFF 2 Motion direction Negative Positive 3 Right travel limit Not tripped Tripped 4 Left travel limit Not tripped Tripped 5 Mechanical zero signal Low High 6 Not used Default 7 Not used Default The byte returned is in the form
117. progress of the routine When all selected axes complete the home search cycle the display returns to the top level motor on menu The stages are ready for a move First og From the top level MOTOR MMi menu press the MANUAL function key The display switches to the manual jog screen and menu As the message on line number 5 instructs you to do use the keypad to jog any installed motion device Since this is the first time you are using the keypad for jogging some clarifi cations are needed The keypad is a 3 column by 4 row matrix Fig 2 1 Axis 1 Axis 2 Axis 3 Axis 4 Fig 2 1 Using the numeric keypad to JOG Concentrate first on the column convention For better identification we can label them and Fig 2 2 QD EDH0162En1040 06 99 2 4 Newport MM4005 Local Mode Fig 2 2 The columns of the numeric keypad indicate the direction and speed of aJOG If a key in column is pressed the selected axes will move slowly in the negative direction If a key in column is pressed the selected axes will move slowly in the positive direction Column is used for high speed jogging If a key in column is pressed simultaneously with one in column or the axis will jog at high speed in the selected direction Now lets take a look at the keypad row convention Fig 2 3 Axis 1 1 Axis 2 i Axis 3 E Axis 4 Fig 2 3 The rows of the numeric keypad indicate
118. repeats while an I O input bit has a specified state First enter a bit number between 1 and 8 on the key pad press VALID and then using the CHANGE key select the bit state When done press the VALID key to accept the entry If you want to create a loop that repeats a specified number of times at the while selection menu press the var key The next choice you have to make is the number of times you want to repeat the loop Enter the number on the keypad and press VALID The controller will write the necessary commands to initialize a new variable to increment it every time the loop executes and to verify that it reached the specified number After defining the initial loop parameters the display shows the WHILE Loop menu with two choices LINE WEND Pressing LINE will enter a Line Entry menu identical to the one described in the Command Line Creation paragraph Use it to create com mand lines that will be part of the while loop Enter command lines as described in the previous paragraph When a line is terminated the display returns to the WHILE Loop menu To enter a new line press the LINE key again and repeat the operation To close the while loop press the wenp key This will add the appropri ate command to close the loop and return the display to the Program Creation menu QD EDH0162En1040 06 99 2 42 Newport MM4005 Local Mode With the functions described up to this point we can create a simplified
119. returns to the previous menu without keeping any modifications NOTE This manual contains detailed descriptions mostly with the first time reader in mind To help the more experienced user looking for a quick memory refresher each operation description is also accompanied by a quick front panel key sequence and if appropriate the remote command that accomplishes the same function Language Selection The first parameter displayed from the General Setup list is the display lan guage This sets the language the controller uses to communicate with the operator especially through the front panel The MM4005 can use two languages at this time English and French To change the language from the display shown in Fig 2 5 press the MODIFY key The new menu displayed is CHANGE QUIT VALID Press the CHANGE key until the desired language is displayed Press the VALID key to accept the selection and return to the previous menu The display will now use the new selected language SETUP gt GEN MODIFY gt CHANGE gt VALID gt QUIT gt QUIT QD EDH0162En1040 06 99 2 8 Newport MM4005 Local Mode A Newport Emergency Language Reset In case the controller has been set to operate in a language you do not understand use the following procedure to reset the controller 1 Assume the following labeling convention for the function keys 1 2 3 4 2 From the top level motor
120. search accelera tions and decelerations will be executed with the new value Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands OH _ Set home search high velocity OL _ Set home search low velocity OR Search for home Example 30A50 Sethome search acceleration to 50 units sec for axis 8 GD Newport EDH0162En1040 06 99 MM4005 OE Test I O output Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 300 1PA2 34 E IMM E PGM E MIP xxOEnn xx int nn int I O output bit number I O output bit or byte state Oto 8 Oto lor Oto 255 None None XX nn XX nn XX Missing 0 Out of range Error E Floating point Error A nn Missing Error C Out of range Error C Floating point Decimal part truncated This command is one of the flow control instructions enabling a condition al execution of acommand line depending on the state of an I O output bit It must be placed at the beginning of the command line of which execution it controls If the selected output bit xx has the specified state nn all fol lowing commands on that line are executed If xx is set to 0 or missing the test is performed on the entire I O output byte and then nn could have a value from 0 to 255 representing the byte value to
121. separate set of query commands Example 1KP0 01 Set the proportional gain factor Kp of axis 1 to 0 01 1KP Read the proportional gain factor Kp of axis 1 Current firmware version supports the option for the following com mands AC AD AM AS AX AY BA CD CM CS EO FA FE FF FT GQ GR KD KI KP KS MH NB NE NI NN NP OH PB PE PI SF SH SL SN SP SQ SR SS TM VA VS VV YS A Newport 6 11 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial The following is a listing of commands that accept the option and their older equivalent still active xxAC AD xxAM AM xxAS AX AY xxBA xxCD xx CS CM EO FA XX FE XX FF XX FT GQ xxGR Xx KD Xx KI Xx KP xx KS xxMH NB xxDA XA xxDB xxXF xxXD xxXI xxXXP xxDM Partial equivalence NE Total equivalence NI No equivalence NN No equivalence xx NP No equivalence xxOH No equivalence xx PB No equivalence Xx PE Total equivalence xxPI No equivalence PB No equivalence PE No equivalence PI No equivalence xx SF No equivalence xx SH Total equivalence xxSL No equivalence xx SN No equivalence SP No equivalence SQ No equivalence xx SR Total equivalence xxSS Total equivalence TM Total equivalence xxVA No equivalence VS Total equivalence VV No equivalence xx YS ATTENTION xxDO xxTA xxXH xxTL xxTN XS XQ xxTR xxDV XU XV xxTY No equ
122. signal The derivative term adds a damping effect which prevents oscillations and position overshoot Feed Forward Loops As described in the previous paragraph the main driving force in a PID loop is the proportional term The other two correct static and dynamic errors associated with the closed loop Taking a closer look at the desired and actual motion parameters and at the characteristics of the DC motors some interesting observations can be made For a constant load the velocity of a DC motor is approximately pro portional with the voltage This means that for a trapezoidal velocity profile for instance the motor voltage will have also a trapezoidal shape Fig 4 17 Desired Velocity Motor Voltage Time Fig 4 17 Trapezoidal Velocity Profile 4 15 EDH0162En1040 06 99 MM4005 Motion Control Tutorial The second observation is that the desired velocity is calculated by the tra jectory generator and is known ahead of time The obvious conclusion is that we could take this velocity information scale it by a Ky factor and feed it to the motor driver If the scaling is done properly the right amount of voltage is sent to the motor to get the desired velocities without the need for a closed loop Because the signal is derived from the velocity pro file and it is being sent directly to motor driver the procedure is called velocity feed forward Of course this looks like an open loop and it is
123. starts W E XQ Read ath eam gear E EE Set trajectory element where the generation of pulses ends E E g p N ni Set step curvi linear distance between ya Read trace sample rate Ee Synchronisation pulses E E XT Tell number of elements in the trajectory E E NN nn Set number of synchronisation pulses to generate E E XU nn eae vector as see on trajectory E E E xx NP nn Set decimal digits number of position display E E XV nn E E RA trajector NQ Read global acquisition nr E E E traject locit y J y E E E NS Allow generation of pulses on interpolation E E trajectory velocity NT Start definition of a new trajectory E E xx XX Erase program xx OA nn Sethome search acceleration E E xx YA nn Add to variable E E xx OE nn Test I O output E 8 E xx YB Negate variable E E xx OH nn Sethome search high velocity E xx YC nn Add variables E E 8 xx OL nn Sethome search low velocity E E xx YD nn Divide variables E E E xx OR nn Search for home E E xx YE nn If variable is equal 0E E xx PA nn Moveto absolute position E EE E xx YF nn Scale variable E E E xx PB nn Setstart position of generation of pulses of synchronisation E E E xx YG nn If variable is greater E E E xx PE nn Setend position of generation of pulses of synchronisation W E m xx YK Read key to variable E E E xx PI nn Setstep of generation of pulses of synchronisation E EE E xx YL nn Ifvariable is less E E E xx PR nn Moveto relative position E E E xx YM nn Multiply variables E E E xx PS pp
124. than 18 repeat next commands If variable 5 is less than 10 move axis 2 incremental 2 6 units and wait for stop 3PR1 2 WS Move axis 3 incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop GD Newport 3 191 EDH0162En1040 06 99 MM4005 YM Multiply variables Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 3Y A 32 3YM5 E IMM xxY Mnn xx int nn int XX nn XX nn XX Out of range Floating point Out of range Floating point E PGM E MIP Variable number Variable number 1to 100 integers and 101 to 120 floats 1to 100 integers and 101 to 120 floats None None Error O Error O Error A Error O Error O Decimal part truncated Missing Missing This command multiplies the values of two variables Variable xx is multi plied by variable nn and the result placed in variable xx If the result is out of the 32767 to 32767 range the operation is not performed and error H is generated None A Unknown message code H O a YC YD YF YS 5YS5 2YS9 1YR3 3YY1 3Y D2 Calculation overflow Variable number out of range Add variables Divide variables Scale variable Initialize variable Initialize variable 5 to 5 Initialize variable 2 to 9 Load analog port 3 value into variab
125. the DC motor theory but this description gives you a general idea on how they work A few other characteristics to AD EDH0162En1040 06 99 4 28 Newport MM4005 Motion Control Tutorial keep in mind are e For a constant load the velocity is approximately proportional to the voltage applied to the motor e For accurate positioning DC motors need a position feed back device e Constant current generates approximately constant torque If DC motors are turned externally manually etc they act as genera tors Advantages DC motors are preferred in many applications for the following reasons e Smooth ripple free motion at any speed e High torque per volume No risk of loosing position in a closed loop e Higher power efficiency than stepper motors e No current requirement at stop e Higher speeds can be obtained than with other types of motors Disadvantages Some of the DC motor s disadvantages are e Requires a position feedback encoder and servo loop controller e Requires servo loop tuning e Commutator may wear out in time e Not suitable for high vacuum application due to the commutator arcing e Hardware and setup are more costly than for an open loop stepper motor full stepping 4 7 Drivers Motor drivers must not be overlooked when judging a motion control sys tem They represent an important part of the loop that in many cases could increase or reduce the overall performance
126. the desired Y float variable Usage HIMM Syntax xxYQnn Parameters Description xx int nn int Range XX nn Units XX nn Defaults XX nn Description Returns None Errors B C an Rel Commands YP Example 2YQ110 Incorrect axis number Parameter out of limits Set theoretical position in Y variable Set the current position of the axis 2 in the float variable 110 AD EDH0162En1040 06 99 3 196 Newport MM4005 YR Read a value from an user analog port and affect variable E PGM E MIP Analog port number Variable number 1to4 1to 100 integers and 101 to 120 floats None None Missing 0 Out of range Error E Floating point Error A Missing Error C Out of range Error C This command reads an user analog port and saves the value in a variable The selected port xx is read and the value is loaded in variable nn NOTE hardware definition of the analog input port please see Appendix Connector Pinouts Remote Control Connector Usage HIMM Syntax xxYRnn Parameters Description xx int nn int Range XX nn Units XX nn Defaults XX nn Description For the Returns None Errors A C O Rel Commands RA Example 5YSO0 5WL18 3PR1 2 WS 1YR101 5YA1 WE A Unknown message code Parameter out of limits Variable number out of range Read analog input Initialize variable to 0 While variable 5 is less than
127. the function keys 2 screws permit to adust the contrast and the brightness of the display CAUTION Saturation brightness reduces the display lifetime Thebottom line of the display line number 6 is reserved exclusively for defining the four function keys The next line up line number 5 is primarily used to display messages defi nitions or other helpful information It generally displays information in reverse mode Fig 1 8 Typical display contents In the above example line number 6 displays the current function of the function keys and line number 5 informs us that the controller is idle wait ing for the operator to select an action Lines number 1 2 3 and 4 identify the axis number and display the current position of each Note that in the example the controller detected that there is no motion device connected to axis number 4 and displays the message Unconnected When the controller is in some modes SETUP PROG etc the first four lines will display specific information while the fifth one will be reserved for helpful messages GD EDH0162En1040 06 99 1 16 Newport MM4005 Introduction Menu Structure A wide range of functions can be performed from the front panel To fully explore its capabilities carefully read Section 2 Local Mode and experi ment with the controller This paragraph gives only a brief introductory description of the menu structure The bottom line on the di
128. the type of motion device each axis is configured for The display should look similar to Fig 1 13 Depending on your system configuration different models will be listed UTM100CCO 1 URM80PP UTM50CCO0 1 UZM160PP0 Fig 1 13 Typical display slowing connected devices GD EDH0162En1040 06 99 1 22 Newport MM4005 Introduction GD Newport If the components listed match with the actual motion devices installed you are ready for the first motion test On the other hand if there is a discrepancy it must be corrected immedi ately In this case you should perform the following steps From the main MOTOR menu select the SETUP key In the main setup menu press AXES function key From the next menu press AXIS function key This will let you select which axis you want to modify Note the symbol on the first line in front of the existing axis number Using the numerical keypad enter the axis number to be corrected and then press VALID key to accept the selection and return to the previous screen NOTE Remember that any time a numerical entry on the keypad must be cor rected the DELETE function key erases the last digit entered 4 Now press the yes key This enters the product family selection screen Use the UP or DOWN keys scroll through the product families until you find the one you need Press the VALID key to accept the product family currently on the dis play The next menu level co
129. the value Usage HIMM E PGM Syntax Ninn or NI Parameters Description nn long Range nn Units nn Defaults nn Oor missing Out of range Description Returns erated Errors A B Incorrect axis number C D Rel Commands NB NE NN Example NIO 5 NI NI0 5 QAD EDH0162En1040 06 99 Newport MM4005 NN Set number of synchronisation pulses to generate Usage HIMM E PGM MIP Syntax NNnn or NN Parameters Description nn long New value of number of pulses to generate Read the defined number of pulses to generate Range nn 2 to 2147385345 Units nn None Defaults nn Oor missing NO pulse is generated Out of range Error C Description This command sets the number of synchronisation pulses to generate between the elements defined by NB and NE If nn is default or zero the generation of pulses of synchronisation is disabled The possible maximum value of NN is MPN Maximum Pulse Number that will be examined in ET command NOTE Because NI and NN are complement commands the last entered NN com mand value replaces all of precedently entered NI or NN commands one Returns Ifthe sign takes place of the nn value this command reportes the num ber of synchronisation pulses to generate between the elements defined by NB and NE 0 means that no pulse is generated Errors A Unknown message code B Incorrect axis number C _ Par
130. to set it up First connect the motion device stage interface cables These are 10 ft long 3 m cables with 25 pin to 25 pin D Sub connectors Insert them gen tly as you would do with any computer cable both into the stage and the appropriate driver card and secure them with the locking thumb screws CAUTION Carefully read the labels on the driver cards to be sure the specifications motor type voltage current etc match those for the motion devices you are connecting Serious damage could occur if a stage is connected to the wrong driver card 1 4 2 First Power On Once all stages have been properly connected you are ready to proceed with the power connection CAUTION Make sure the main power switch on the power entry module is turned off before connecting the controller to the AC line Verify that the main power switch on the rear panel and the stand by power switch on the front panel are turned off Plug the AC line cord in the power entry module on the rear panel Plug the AC line cord in the AC outlet NOTE At this point no lights should appear on the front panel Turn the main power switch on the rear panel on The red LED indicator on the front panel marked STAND BY should come on and stay on At this point the low power stand by power supply is ener gized Finally press the red STAND BY button once to turn the controller on The red LED goes off and the green one comes on the front panel display t
131. to the main MOTOR menu Now with all axes configured for the proper motion devices we are ready to use the motion devices GD EDH0162En1040 06 99 1 24 Newport Section 2 Local Mode ater ake ES i pe pprt i ie i i paa i MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 2 Mode local GD Newport 2L Quick Start a a aa aAa NAE a AEEA aE TE a 2 3 LLI Motor OM icccessbecdiveusecsscusedsscyecendevseusdsncdiscustevsdustins dhacuadeuscustuteeises 2 3 2 1 2 Home Motion DeVICES ccececcceesscsstseescssssrssessssesssstessrsrsrsaesats 2 4 2 153 FISE OG aaraa n ie ate kn aes 2 4 Zia BIESTM OV Eanna i uta an tatatu tare uma 2 5 2 2 Controller Configuration oo eee cece te cette ttetetetetaetetsetetseteseetetaeieeas 2 7 2 2 1 General Setup tached nnd nei las 2 7 Language Selection 0 cecesesseeeeeeeteeeesetetetetaetetsesatsaeetseeetaeeeeas 2 8 Emergency Language ReSet ei eececeereeseneesieeereeeeeeenreeeeatens 2 9 Command Language Set ceceeceseeeeeeeeteneeienetieteseteneetenetaees 2 9 Speed SCALING iiien nii in aeaii piii 2 9 Communication TIMe 0Ut sssssssssssesserssereiersrsrrrrrerernrsrnrseerres 2 10 HOME TiM gUm iniaa a ia 2 10 Terminator maim iann a a a a a ER a iia 2 11 Communications ieia Ee a i aaa iiaa 2 11 EEE 488 ACCreSS ccccscscccsscssssssssrssesssesseccesesaesaesessarse
132. to the selected axis Your display will show the motion device connected to axis number 1 EDH0162En1040 06 99 2 16 Newport MM4005 Local Mode On the menu line all four function keys are active Quit exits this level and returns to the previous menu The other functions are discussed in the following paragraphs Axis Number Selection As mentioned earlier line number 1 of the top level Axis Setup menu dis plays the axis number The default is number 1 To select a different axis to display and change press the axis key In front of the axis number at the end of the first line the symbol appears indicating that the con troller is expecting a numerical entry from the front panel s numerical key pad Enter the desired axis number and then press the vap key If you need to correct the entry use the DELETE key to erase the number or if you changed your mind exit by pressingthe quit key ns lt gt gt Axis Setup gt AXIS gt gt VALID Motion Device Selection One of the advanced features of the MM4005 controller is that it has stored in its firmware all necessary parameters for all compatible motion devices supplied by Newport To avoid scrolling through over 100 components the selection is made in two steps first the family and then the component model From the top level Axes Setup menu press the SELECT key This activates a screen to change the Product Family A family represent
133. used for the timer For that reason the sample period is reported with at least 10 decimal points XQnn nn Real global trace sample period in seconds S Communication time out GQ Set global trace mode SQ _ Set global sample rate SQ0 005 Setglobal trace sample period to 5 ms GQ1000 Enable global trace mode and acquire 1000 samples 2PR0 2 Starta relative motion on axis 2 and the acquisition process XQ Read the global trace sample period XQ0 005003436196 Controller returns the real sample rate in seconds GD EDH0162En1040 06 99 3 178 Newport MM4005 XS Read trace sample rate Usage HIMM E PGM E MIP Syntax XS Parameters None Description This command reads the trace acquisition period This is the period that will be used to sample the real and desired positions of a motion device and store the values in memory NOTE The returned value usually differs from the one preset in the SP com mand because it reflects the real clock used for the timer For that rea son the sample period is reported with at least 10 decimal points Returns XSnn xx Realtrace sample period in seconds Errors S Communication time out Rel Commands SP _ Set trace sample rate TM _ Set trace mode Example SP0 005 Set global trace sample period to 5 ms GQ1000 Enable global trace mode and acquire 1000 samples 2PR0 2 Starta relative motion on axis 2 and the acquisition process X
134. velocity of axis 2 to 10 units sec Newport 3 89 EDH0162En1040 06 99 MM4005 OL Set home search low velocity Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example IMM E PGM MIP xxOLnn xx int Axis number nn float Low velocity value XX 1to4 nn 1 to Maximum motion speed defined in SETUP mode XX None nn Preset units in SETUP mode sec XX Missing Error B Out of range Error B Floating point Error A Missing Error C Out of range Error C This command sets the desired value for low absolute velocity used during home search For a detailed description of the home search routine see the home search paragraph in the Motion Control Tutorial section None A B C OA OH OR 30L5 Unknown message code Incorrect axis number Parameter out of limits Set home search acceleration Set home search high velocity Search for home Set home search low velocity to 5 units sec to axis 3 aD EDH0162En1040 06 99 3 90 Newport MM4005 OR Search for home Usage HIMM E PGM MIP Syntax xxORnn Parameters Description xx int Axis number nn int Home search position option Range XX Oto4 nn Oto2 nn 0 Move to zero position instead of origin search nn 1 Search mechanical zero and encoders top zero nn 2 Sear
135. velocity on axis 2 Controller returns a value of 2 5 Read maximum allowed velocity on axis 2 Controller returns a value of 20 Newport 3 43 EDHO162En1040 06 99 MM4005 DY Display a variable Usage IMM E PGM E MIP Syntax xxDYnn Parameters Description xx int Field number nn int Variable number Range XX I1to2 nn 1to120 Units XX None nn None Defaults XX Missing Error C Out of range Error C Floating point Error A nn Missing Error O Out of range Error O Description This command prints a variable s value on line five of the front panel dis play For this purpose line five is split in two fields each 13 characters long The first field on the left is defined as number 1 and the one on the right as number 2 Parameter xx selects which field the variable will be dis played on Writing to field number 1 erases the previous text on the entire line Writing to field number 2 erases the previous text only from field number 2 This command is useful in monitoring the status and evolution of a com plex program Returns None Errors A Unknown message code C _ Parameter out of limits J Command authorized only in programming mode O Variable number out of range Rel Commands DS Display strings on screen YS Initialize variable EX Execute a program Example 1DS LOOP Print on the first part of line 5 the string LOO
136. 05 Motion Control Tutorial GD Newport To determine an absolute position the controller must find a switch that is unique to the entire travel called a home switch or origin switch An important requisition is that this switch must be located with the same accuracy as the encoder pulses If the motion device is using a linear scale as position encoder the home switch is usually placed on the same scale and read with the same accuracy If on the other hand a rotary encoder is used the problem becomes more complicated To have the same accuracy a mark on the encoder disk could be used called index pulse but because it repeats itself every revolution it does not define a unique point over the entire travel An origin switch on the other hand placed in the travel of the motion device is unique but not accurate repeatable enough The solution is to use both following a search algorithm Origin Switch Encoder Index Pulse Fig 4 22 Origin switch and encoder index pulse An origin switch Fig 4 22 separates the entire travel in two areas one for which it has a high level and one for which it is low The most important part of it is the transition between the two areas Also looking at the origin switch level the controller knows on which side of the transition it current ly is and which way to move to find it The task of the home search routine is to identify one unique index pulse as the absolute positio
137. 08 Set backlash compensation of axis 2 to 0 0008 units 1XB Read backlash compensation of axis 1 1XB0 0012 Controller returns axis 1 backlash compensation of 0 0012 unit 2XB Read backlash compensation of axis 2 2XB0 0008 Controller returns axis 2 backlash compensation of 0 0008 units QD EDH0162En1040 06 99 3 168 Newport MM4005 XD Read derivative gain factor Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxXD xx int Axis number XX Ito4 XX None XX Missing Error B Out of range Error B Floating point Error A This command reads the derivative gain factor of an axis NOTE The command reads the value actually used in the servo loop If the PID parameters are modified using the KD command but the digital filter has not been updated by sending an UF the command will still read the old value xxXDnn xx Axis number nn Derivative gain factor A Unknown message code B Incorrect axis number S Communication time out KD Set derivative gain TF Read filter parameters UF Update servo filter 2XD Rad derivative gain factor of axis 2 2XD0 05 Controller returns a derivative gain factor of 0 05 GD Newport 3 169 EDHO162En1040 06 99 MM4005 XE Tell the last element Usage Syntax Parameters Descriptio
138. 1 key to move it in the opposite direction NOTE When the relative motion is complete the display does not return to the top level menu This feature allows the user to repeat relative motions an unlimited number of times Press the quit key to terminate the relative move mode and return to the Move menu Single Axis Relative Move EE lt lt gt MOTORON gt MOVE gt RELAT gt gt VALID gt win bee mis weet QUIT gt QUIT A Newport 2 33 EDHO0162En1040 06 99 MM4005 Local Mode Multiple Axes Relative Move lt lt gt MOTORON gt MOVE gt RELAT gt gt VALID gt miss VALID gt gt VALID gt E gt VALID gt ALL gt QUIT us PR Moveto relative position 2 3 5 Absolute Moves Absolute moves initiate motion to a destination specified by a value relative to the zero home position rather than the current position used by the rela tive move command Repeated identical absolute move commands therefore are not productive because once at the destination the current position becomes the desired position To activate the Absolute Move mode from the Move menu press the ABSOL function key The display will prompt you to enter a destination value for the first active axis Fig 2 11 Fig 2 11 Absolute move menu If an axis is not to be moved you must enter the current position as the desired p
139. 2 Newport MM4005 XI Read integral gain factor Usage WIMM E PGM E MIP Syntax xxXI Parameters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the integral gain factor of an axis NOTE The command reads the value actually used in the servo loop If the PID parameters are modified using the KI command but the digital filter has not been updated by sending an UF the command will still read the old value Returns xxXlinn xx Axis number nn Integral gain factor Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands KI _ Set integral gain factor TF Read filter parameters UF Update servo filter Example 2XI Read integral gain factor of axis 2 2X10 005 Controller returns an integral gain factor of 0 005 GD Newport 3 173 EDHO162En1040 06 99 MM4005 XL Delete one line of program Usage HIMM O PGM MIP Syntax xxXLnn Parameters Description xx int Program number nn int Line number Range XX 1to 127 nn 1to 32767 Units XX None nn None Defaults XX Missing Error F Out of range Error F nn Missing The last line Out of range Error C Floating point Error A Description This command deletes the line nn of xx numberred program If nn is default the
140. 3 Zero Zero Zero Zero l4 Shield Shield Shield Shield Ground Ground Ground Ground Encoder Index Encoder Index Encoder Index Encoder Index 15 Pulse Pulse Pulse Pulse 16 Limit Switch Limit Switch Limit Switch Limit Switch Ground Ground Ground Ground 17 End of Travel End of Travel End of Travel End of T ravel 18 End of Travel End of Travel End of Travel End of Travel 19 Encoder Encoder Encoder Encoder Channel A Channel A Channel A Channel A 20 Encoder Encoder Encoder Encoder Channel B Channel B Channel B Channel B 2 Encoder Encoder Encoder Encoder Power 5 V Power V Power 45 V Power 5 V 2 Encoder Encoder Encoder Encoder Ground Ground Ground Ground 233 Encoder Encoder Encoder Encoder Channel A Channel A Channel A Channel A 24 Encoder Encoder Encoder Encoder Channel B Channel B Channel B Channel B 25 Encoder Index Encoder Index Encoder Index Encoder Index Pulse l Pulse I Pulse I Pulse I GD Newport EDH0162En1040 06 99 MM4005 Appendix C Connector Pinouts Pass Through Board Connector 25 Pin D Sub WARNING This pass through board connector takes the place of the motor interface connector only if this axis is connected to an external motor driver Pin Designation 1 Ground 2 NC 3 Mechanical Zero 4 End of Travel 5 End of Travel 6 Driver Fault Signal 7 Encoder Channel A 8 Encoder Channel B 9 _ I
141. 3 146 Special motion parameters s s 3 9 left travel limit eee cee a 3 133 Tuning Principles ssoessrssresseerersverves 7 3 Specification Definitions 4 4 Manual velocity wees ese 3 39 Set pea maximum following error 3 171 Ee ace eee EE 317 SPECIFICATIONS sesser 1 9 MOTION device essre 3 125 actual position in variable 3 196 Speed vic ake ee aiid ase ee MOOT StACUS eects steeeteens 3 75 f HOME eena aa dads 2 23 pai analog input MOdE eee 3 19 number of acquisitions 3 176 aT Manual sssrin 2 23 ional dain axis displacement units 3 117 Maxi 222 eg gain ACTOP vse re axis mechanical motion device 3 113 K MA ATTAT eae a right travel LIMIt ssesssessssssssssse f backlash compensation 325 e PAA EE 9 2 22 3 theoretical position s s 3 132 base velocity u S160 SRO USING dinouareapmectieneanucns 8 7 PRATET AE 140 trace data 3 control 100p Ype 3110 Stage 1 6 Tace Samp E ober er ner aS 3 179 cycle value and activate periodic Type Selection weet 6 11 value from keyboard in a variable display mode 3 28 3 199 pray TO CIE reras teres eeparsiiee tae a Stand by POWED nesses 1 15 aannnnnnnnnnnnnnnnnnnnnnnannnaannnaaannannnnnnnnnnnnnnn decimal digits number of position Reading parameters with esse 6 11 d Splay noscere 3 84 Start kaunaa penenie inti derivative gain occ 3 63 definition of a new trajectory 3 87 Rear Panel Description wee 1 13 e GAIN seses ae f Foul f l end posit
142. 32 is broken off NOTE Since this command is equivalent to making changes in SETUP mode it is valid only when motor power is turned off If the command is issued when the motor power is on the con troller will ignore it and report error D NOTE Before saving make sure that the new set of parameters is correct and safe to use Also it is good practice to verify that the parameter saving procedure worked properly by issuing the TB or TE command afterwards None A Unknown message code D Unauthorized execution PW Save parameters CMM0B19200 Set RS 232 liaison with 19200 Baud TE Verify the new parameter is working fine QW Save general parameters non volatile memory TE Read error register Controller returns a no error code 3 101 EDHO162En1040 06 99 MM4005 RA Read analog input Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxRA xx int Analog port number XX O0to4 XX None XX Missing 0 Out of range Error E Floating point Error A This command reads one analog input port The analog ports are four 12 bit A D converters that accept signals in the predefined voltage range 10 V 5 V 0 to 10 V 0 to V The read value included between 10 and 10 is reported to the PC in floating format and is the direct tension If xx is missing or set to 0 the c
143. 4 LXO Trajectory element 5 CX0 CYO Trajectory element 6 VV5 Set trajectory velocity to 5 mm sec ET Execute trajectory QD EDH0162En1040 06 99 6 6 Newport MM4005 Feature Descriptions Tutorial WN2 VV10 WN4 VV5 QP 1SM 1EX Starting with element 2 set velocity to 10 mm sec Starting with element set velocity to 5 mm sec End program entry mode Save program in non volatile RAM Execute program 1 Synchronizing Events to Trajectory Position Controller operations and functions can also be synchronized to the trajec tory position This is achieved by using the Winn command Here nn represents the trajectory position to synchronize with When the trajectory length executed reaches the value specified by nn one or more secondary controller activities could be initiated Example Increase the trajectory velocity when the trajectory reaches position 5 and reduce the velocity when it reaches position 24 2XX 2EP NT LX10 CR10 CA90 LY 20 CX10 CY 30 LXO CX0 CYO VV5 ET WI5 VV 10 W124 VV5 QP 2SM 2EX AD Erase program 2 if exists Start program entry mode Start new trajectory definition Trajectory element 1 Trajectory element 2 Trajectory element 3 Trajectory element 4 Trajectory element Trajectory element 6 Set trajectory velocity to 5 mm sec Execute trajectory Starting with trajectory position 5 set velocity to 10 mm sec Start
144. 4 De ee ee 3 Undefined label asssssassssssssstssssssesee 8 3 FOF POSILION ssesssesseensenseeneensen 3 163 Mode Setri miiie ei 3 134 Weight 1 10 sample rate Read anacan 3 179 Unit setters perrera eig AAEE OEE EEES ES sample rate Set vices 3 119 not rotationnal or incorrect Bra WIC anki ane aaa Trajectory oonu 5 3 not translational or incorrect 8 4 1 0 input is equal E ET 3 158 Arc r 6 radius is too big 84 UNItS Santina agaaa An 2 18 Loop Creation rana naa pa aer aA aS 2 42 Arc r 8 radius is too small 84 Change Automatic Displacement 6 10 variable is different sss 3 166 Arc r 8 sweep angle is too small8 4 Unknown message code s 8 3 vee eee sc saa a Arc x y Circle is impossible 8 4 ENRE T T aa a a a Ge i Update servo filter 3 146 Arc x y circle is too small 8 4 Unda Fi ee WODDI acccccsceessecsssssessesssessesseseaneees 4 10 Arc expected sessssssssesssesteessenaneen T e ee enna eee 2 Word Len Othisatataisiaunsiieecbadian 2 14 Commands to define a 3 11 Utility interface eect 1 10 Commands to execute a 3 12 X Commands to help geometric defini N XON XOFF MOde sssssessssssscssseesssessesses 2 13 POM Of ah elie aati 312 o Valh oiunn nunnana aian definition parameters seess 3 8 from an user analog portand affect Z Description and Conventions 5 4 variable Read a nsss Fc TARR eTe A EA E E EEEE Elementsin ienn anait 5 3 from keyboard in a variable Read
145. 62En1040 06 99 MM4005 4 Axis Motion Controller Driver G Factory Service GD Newport Introduction This section contains information regarding factory service for the MM 4005 The MM4005 contains no user serviceable parts The user should not attempt any maintenance or service of this instrument and or acces sories beyond the procedures outlined in the Troubleshooting Guide Appendix E Any problem that cannot be resolved should be referred to Newport Corporation or your Newport representative for assistance Obtaining Service To obtain information about factory service contact Newport Corporation or your Newport representative Please have the following information available 1 Instrument model number MM 4005 2 Instrument serial number 3 Firmware version number 4 Description of the problem If the instrument is to be returned for repair you will be given a Return Authorization Number which you should refer to in your shipping docu ments Please fill out the service form on the next page and return the com pleted form with your system 8 33 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 8 34 Newport Servi ce For m Your Local Representative Tel Fax Name Return Authorization Please obtain prior to return of item Compagny Adress Date Country Phone Number P O Number Fax Number Item s Being
146. 8 Motion and position CONtIOI essssssssisiseseissisisrersrsresrirrsinrennnen 3 8 Trajectory definition parameterS eesseseesseererreern 3 8 Special Motion parameters eee eset tet teteteetenetees 3 9 Trace Mode ai een ane iron ane 3 9 Digital filter parameters oo ee eect ete tte te tee teteteteteteeeeteeeeas 3 9 Motion device parameters 0 cceeeeeeeeeeseteceeeeeseceeteseeteteeneeas 3 9 HORUMGRIONS rieni aa a enon art a eniets 3 10 Programming aicn a EE eA Eai 3 10 Flow control and Sequencing sssessrersssrierrrrrreieienrnrnn 3 10 Variable Manipulation sssssssssssrssesesesisrsieieisiisrsrsrersienrininrnrenn 3 11 Display fUNCtIONS 4 ase te Ou eon n a a a 3 11 Status FUNCTIONS oo eee aa T G a 3 11 Commands to define a trajectOry eceeessteeseeteetetteeeteees 3 11 Commands to execute a trajectory eerren 3 12 Commands to help geometric definition of a trajectory 3 12 Master slave mode definition oc eeesseeeseeeseeseteteteteeeees 3 12 Trace mode ON trajectory oo ceeceeeeeeseeeeteteeteeeteetteteeteeeeeees 3 12 3 4 2 Command List Alphabetical esseere 3 13 Newport 3 1 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 3 2 Newport MM4005 4 Axis Motion Controller Driver Section 3 Remote Mode El Remote Interfaces GD In this manual Remote Interface refers to the two communication inter faces that the controller can use to communicate with a computer
147. A Both upper and lower case are accepted Depending on the command it could also have optional or required preceding xx and or following nn para meters Blank Spaces Blank spaces are allowed and ignored in any position including inside a numerical value For the clarity of the program and memory saving consid erations use blank spaces with restraint The following two commands are equivalent 2P Al 43 6 2PA1 436 but the first example is very confusing and uses more than twice the memo ry Command Line Commands are executed line by line A line can consist of one or a number of commands The controller will interpret the commands in the order they are received and then they are executed usually within a few microseconds This means that commands issued on the same line are executed signifi cantly closer to each other than if they would be if issued on separate lines The maximum number of characters allowed on a command line is 110 Separator Commands issued on the same line must be separated by a comma or semicolons Terminator Each command line to be executed or accepted in a program must end with a line terminator The terminator must have the format defined in the GENERAL SETUP mode The controller supports all combinations of line feed LF and carriage return CR combinations LF CR LF CR and CR LF Newport 3 7 EDH0162En1040 06 99 MM4005 Remote Mode Ea Command Summary T
148. AA ROIA XXXXX Command line too long Press any key to continue Fig A 5 Error screen command line too long The second type of error message that is available during program creation or modification is shown in Fig A 6 It will appear when the non volatile memory allocated to program storage becomes full The last line entered XXXX will be lost but the rest of the program is saved XXXXXXX DAAA 5 0 Program LS too long Press any key to continue Fig A 6 Error screen program memory full GD Newport 8 5 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver B IEEE 488 Link Characteristics NOTE In order to meet FCC emission limits for a Class B device you must use a double shielded IEEE 488 cable Operating this equipment with a single shielded cable may cause interference to radio and television reception in residential areas NOTE Comply to IEEE Standard Digital Interface for Programmable Instrumentation ANSI IEEE Std 488 1978 This norm is commonly called IEEE 488 IEEE 488 Functions Supported by MM4005 Controller Mnemonic Definition Support ATN Attention Yes DCL Device Clear Yes EOI End or Identify Yes EOL End of Line Yes GET Group Execute Trigger No GTL Go to Local No IFC Interface Clear Yes LAD Listen Address Yes LLO Local Lockout No OSA Other Secondary Address No PPC Parallel P
149. Bnni or RBnn2 xx 1 O bit number nn l O bit value 0 or 1 nny nn2 I O byte value 0 to 255 in ASCII format Errors A Unknown message code E _ Incorrect I O channel number S Communication time out Rel Commands RA _ Read analog input Example ORB Read all 8 bits of the I O input port RB209 Controller returns a value of 209 which converted to binary gives us A the following I O input port status bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 1 1 0 1 0 0 0 1 Newport 3 103 EDH0162En1040 06 99 MM4005 RD Disable display refresh Usage HIMM E PGM E MIP Syntax RD Parameters None Description This command disables the front panel display It is used primarily to save the CPU overhead time during time consuming or time sensitive opera tions For instance better accuracy can be obtained for WP command when used at high velocities and a higher communication throughput can be achieved while downloading the trace data While this command is active the display shows only the following mes sage Position display disabled To exit this mode and re enable the display refresh use the RE command The display is also re activated while waiting for a key with WK command at the end of a program when the local mode is selected with the ML com mand or while the manual jog mode is active When the controller exits the manual jog mode the display returns to its previous state enabled or dis a
150. By red LED does not come on Rear power switch turned off Turn on the main power switch located on the power entry mod ule in the rear of the unit No electrical power Verify with an adequate tester or another electrical device lamp etc that the power is present in the outlet If not contact an elec trician to correct the problem Unplugged power cord Plug the power cord in the appropriate outlet Observe all caution notes and procedures described in the System Setup section Blown fuse Replace the line fuse as described in the System Setup section Beware that the fuse blows only when a serious prob lem arises If fuse blows again contact Newport for service nected A physically pre sent axis is declared uncon Bad connection Bad component Turn power off and verify the motion device cable connection Turn power off and swap motor cable with another axis if cables are identical to locate the prob lem Contact Newport for cable replacement or motion device service EDH0162En1040 06 99 MM4005 Appendix E Troubleshooting Guide Problem Cause Corrective Action Execute a home search routine a or move the axis in manual mode Limit switch nee i jog Make sure that the limit tripped The MOTOR Halll green LED does not stay on switch was not tripped by a seri ous problem Executive fol lowing error Verify that teh motion d
151. CAL mode A home search cycle should not be interrupted The controller will exit this mode automatically on task completion Immediate Mode This is not an operating mode in which the controller can be placed Rather the term merely differentiates the way the controller responds to remote commands If a command is not being sent as part of a program it is executed immediately in immediate mode Remote Commands In LOCAL Mode The controller may be operated in LOCAL mode when connected to a remote computer The LOCAL mode has many screen and menu combina tions and most REMOTE commands are ignored when not received at the top level menu For this reason always keep in mind the following recom mendations e In LOCAL mode avoid sending REMOTE commands when not at the top menu level e When not at the LOCAL mode top menu level restrict the use of remote commands to those that read information or stop motion Do not send REMOTE commands when in LOCAL PROGRAMMING or SETUP modes GO EDH0162En1040 06 99 1 12 Newport MM4005 Introduction e Do not send REMOTE commands when in an Intermediate Local mode for instance when entering the value of a move e Do not interfere with a HOME Search cycle including read commands e The preferred remote operation is the REMOTE mode obtained by using the appropriate command 1 3 4 Rear Panel Description Before attempting to operate the M M4005 it must first be proper
152. E E EEA ATE ERT 2 26 Read available n 3 175 output TOSt eecccseseteeeeeeeees 3 88 ee eae 2 27 MCN i anera a Pe nee Outputs bits Clear 3 27 L MOTORON erinin 1 19 EE AGB se inaandaa Label SEFUCTUT Elie 1 17 T ee 2i Deng 3g Message code Unknown uu 83 COMMECEON sessesssssssnsssseeesseeesesnnnnaes 1 14 FUNCION KEYS sselsetsiersudestsencansinase 3 53 Messages EfTOF lt rinmaasnatccetannes 8 3 ane on a aN See NUMber INCOFTEC ssssssssssrsssrssersesss 8 3 O MINIMUM sssini EEE upporte y 86 Undefined iain ovine ciicd sivtioviotonss 8 3 Incremental Motion n 47 BEN Wiha Bis AANO Labeling Conventions vss 8 9 POSITION cessesesseseseseessseseesesreesreseeQid4 Interface aii aniani 3 4 Velocity 411 Interface Connector 24 Pin 8 16 Languages i mecra ai uunia A ee ee Se i Link Characteristics vies 3 6 Selecto Netii aiies 2 8 MM4005 controller sesser 1 6 RS 232 C Of in eiaa cones 3 6 Set COMMANA siseses 29 MOU Gist amanna nn a a SRQ Used niinniin 2 12 last element Tell thennan 3 170 Definition Master Slave 2 15 3 12 If oaa aa i aa Length s Word raean A cals Mentos 2 14 IMIMedi ate eects 1 12 1 0 input is equal TIER ETY 3 61 Lines Defining 56 LOCAL iaw porrer 1 11 variable is different vues SOS ce ep eet ee Periodic Display 6 15 Variable iS equal vu 3 197 LISt PFOQFAM eee teteettees 3 67 REMOT Bic iscnnrcceieienlanankens 1 12 Variable is greater vce 31897 LO ad aecccws tee p Me eta i downs XON XOFF essences
153. EA NIDRA oe QW Nee QV oe N
154. EDH0162En1040 06 99 3 126 Newport MM4005 TC Read control loop type Usage HIMM E PGM E MIP Syntax xxTC Parameters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the type of control loop used on a specified axis The two possibilities are open loop 0 or closed loop 1 NOTE The controller can operate both stepper and DC motors in closed or open loop While the stepper motors operate fine in both modes for normal operation DC motors should not be used in open loop Returns xxTC nn xx Axis number nn Loop type 0 Open loop 1 Closed loop Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands SC _ Setcontrol loop type Example 1TC Read the type of control loop used on axis 1 1TC1 Controller reports closed loop for axis 1 AD Newport 3 127 EDH0162En1040 06 99 MM4005 TD Read error line of program E PGM MIP This command reads the line of a program where the error is if an error occurred in execution The error line buffer will be reset after this operation Usage HIMM Syntax TD Parameters None Description Returns TDaaa aaa Errors S Rel Commands TB TE Example 1EP 5OR wai QP 1EX TD TD50OR TB TBB Axis number mis
155. Fig 4 18 But adding this signal to the closed loop has the effect of significantly reducing the work the PID has to do thus reducing the overall following error The PID now has to correct only for the residual error left over by the feed forward sig nal Servo Controller Trajectory Generator Motor Encoder Motion Controller Fig 4 18 PID Loop with Feedforward There is an other special note that has to be made about the feed forward method The velocity is approximately proportional to the voltage and only for constant loads but this is true only if the driver is a simple voltage amplifier or current torque driver A special case is when the driver has its own velocity feedback loop from a tachometer Fig 4 19 Servo Controller Trajectory Generator Motion Controller Encoder Fig 4 19 Tachometer driven PIDF Loop QD EDH0162En1040 06 99 4 16 Newport MM4005 Motion Control Tutorial The tachometer is a device that outputs a voltage proportional with the velocity Using its signal the driver can maintain the velocity to be propor tional to the control signal If such a driver is used with a velocity feed for ward algorithm by properly tuning the Kvff parameter the feed forward signal could perform an excellent job leaving very little for the PID loop to do The MM4005 uses this type of velocity control driver to get the highest per formance possible In addition since tachom
156. For application requires high accuracy for small motions the system in Fig 4 3 a is definitely pre ferred Local Error is a relative term that depends on the application usually no Local Error value is given with the system specifications The user should study the error plot supplied with the motion device and determine the approximate maximum Local Error for the specific application 4 2 5 Resolution Resolution is the smallest motion that the controller attempts to make For all DC motor and all standard stepper motor driven stages supported by the MM 4005 this is also the resolution of the encoder Keeping in mind that the servo loop is a digital loop the Resolution can be also viewed as the smallest position increment that the controller can han dle QD EDH0162En1040 06 99 4 6 Newport MM4005 Motion Control Tutorial GD Newport 4 2 6 Minimum Incremental Motion The Minimum Incremental Motion is the smallest motion that a device can reliably make measured with an external precision measuring device The controller can for instance execute a motion equal to the Resolution one encoder count but in reality the load may not move at all The cause for this is in the mechanics Elasticity Motor Encoder NVM Stiction Fig 4 4 Effect of Stiction and Elasticity on Small Motions Fig 4 4 shows how excessive stiction and elasticity between the encoder and the load can cause the mo
157. Incorrect axis number Parameter out of limits Move to absolute position Move to relative position Set velocity Set start stop velocity for axis 2 to 10 units sec GD EDH0162En1040 06 99 3 150 Newport VE Read controller version MM4005 Usage HIMM E PGM E MIP Syntax VE Parameters None Description This command reads the controller model and version NOTE When asking for technical support with the motion control system or when reporting a problem having the controller type and version enables us to help you fix the problem fast Use this command to deter mine the controller type and in particular the firmware version Returns VE MM4005 Controller Version xx yy XX yy Version and release number Errors S Communication time out Rel Commands None Example VE Read controller model and version VE MM4005 Controller Version 1 52 Controller returns model MM4005 and version 1 52 gD Newport 3 151 EDHO162En1040 06 99 MM4005 VS Define the vector acceleration on trajectory trajectory acceleration Usage WIMM E PGM E MIP Syntax VSnn or VS Parameters Description nn double Desired trajectory acceleration Range nn gt 0to Max Trajectory Acceleration MTA Units nn Units sec Defaults nn Missing MTA Out of range Error C Description This command defines the vector acceleration on trajectory that the con troller uses to start and stop execution of the trajectory I
158. LOOpia natiunii tanana 4 14 EION ssssssssssesserrrsresrrrrsseerresnsseeeeennsnnnns 3 86 ONO ff iniii 1 15 pip1 6 pulses on motion Allow generation 3 97 status Read s s R LOG E EAE E EEEE ee aes s 4 15 Pulses Synchronized to a Trajectory 6 5 Type i a a a Aa N Eaa f Servo Loops EEIE AAs AEAEE ae 4 13 Pulses Synchronized to One Axis 6 3 M tOFS ohin iaa ai 4 23 Pitch Roll and YAW cesccccccscscsscesceseeseesess 4 9 MOVE hodnanindina a atenapi aaa 1 6 4 17 Points to Remember E NENE EEEE SA 7 6 Q to absolute position sss 3 92 Position GOUT CI cc ta sig E E e Konnan n and build aline segment f LX tan Stalb t anniina eddi 2 3 E e SWITCH vessssesssesssesenens i gent Define X enen 3 69 program Mode hisserisrerse 3 100 kaaita ie and build aline segment f LY tan _ Movement INfinite eee 3 77 gent Define Y sssi 3 70 l i MOVES iii anaana anaana rs and build aline segment f MX radius for anarc of circle f CR CA Absolute 2 34 MY Define Y nsii 3 79 DEFINE ssssssssesseeesssssseseeesssssrseeenssssens 3 31 Relative rieren 2 32 for aline segment f MX MY Read viscscssessssssestesssssssssssseesssssssssesneenseessnees Define X vetesiccsctieeenintercuteeeenenvenn 3 78 a value from an user analog portand Multiple wins cistceciiciiah detthes i f Axes Absolute MOVCreeccccccccccccccseees 2 35 Maximum vue tateds scat A AAi 2 25 affect Variable cccccccccccccsesssecseereese 3 197 Axes Relative M OVE ceccccccccc
159. Line Creation para graph create a new command line and when done press the key to termi nate it and return to the Program Editing menu DELETE Delete a program line Program lines cannot be edited They can only be erased and new ones cre ated To delete a program line use the UP DOWN FIRST and LAST keys to scroll through the listing until the line to be deleted is the first one on the display Pressing the DELETE key will erase the line and the display returns to the Program Editing menu When all the modifications have been made press the quit key The controller will ask if you want to save the changes Press the Yes key to accept the modifications and return to the Program menu EDH0162En1040 06 99 2 44 Newport Section 3 Remote Mode ater ake ES i pe pprt i ie i i paa J i MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 3 Remote Mode 3 1 Remote Interfaces oo ecceecseseeseceesenecseeeseeeeeeeseeetseeessesataesatseseeaseetaeaeeas 3 3 Selecting the Interface oo cccssssesseeeteeecsenecsenetetesseeensteetensees 3 3 3 1 1 RS 232 C INCOrface eee eseeeeeeeseeetseeeneteteeteetseetasieneseeeeteeetats 3 4 Hardware Configuration ccccecceeeseseseeseeecseeeeneceeceseneteeneeas 3 4 COMMUNICATION Protocol oe ceeee eect etetettete tees teteteetetetaees 3 4 3 1 2 IEEE 488 Interface
160. M E MIP xxlEnn xx int 1 0 input bit number nn int 1 O input bit or byte state XX Oto8s nn Otolor Oto 255 XX None nn None XX Missing 0 Out of range Error E Floating point Error A nn Missing Error C Out of range Error C Floating point Error C This command is one of the flow control instructions enabling a condition al execution of a command line depending on the state of an I O input bit It must be placed at the beginning of the command line of which execution it controls If the selected bit xx has the specified state nn all following com mands on that line are executed If xx is set to 0 or missing the test is per formed on the entire I O input byte and then nn could have a value from 0 to 255 representing the byte value to compare it with As described in the Command Syntax paragraph a line is defined as all commands between two line terminators Even though the command can be used on a line in immediate mode its real value is inside a program None A Unknown message code C Parameter out of limits E _ Incorrect I O channel number L Command not at the beginning of a line OE Test 1 O output 3IEO 1PA2 34 If I O input bit is low move axis 1 to position 2 34 GD Newport 3 61 EDHO162En1040 06 99 MM4005 JL J ump to label Usage IMM E PGM E MIP Syntax xxJL Parameters Description xx int Labe
161. M E MIP Syntax xxAMnn or xx AM Parameters Description xx int Analog input port number nn int Analog input mode Range XX O0to4 nn Oto3 Units XX None nn None Defaults XX Missing 0 Out of range Error E Floating point Error E nn Missing 0 Out of range Error C Description The MM4005 controller possess four analog inputs that user can program each input tension level with the AM command e Ifmn Oor missing 10V tension input range Ifnn 1 5 V tension input range Ifnn 2 0 to 10 V tension input range e Ifnn 3 0 to 5 V tension input range Returns Ifthe sign takes place of nn parameter and xx is missing the controller returns the actual analog input mode Errors C _ Parameters out of limits E _ Incorrect I O channel number Rel Commands YR Read a value from an user analog port and affect variable YO Send a value to an user analog port Example 1AM2 _ Set0 to 10 V analog range at the input port 1 1AM Request the actual analog input port 1 mode 1AM2 Controller returns the actual analog input port 1 mode AM Initializes all analog input ports to default mode 10 V AM Request all actual analog input modes AM 1AM0 2AMO 3AMO 4AMO Controller returns all actual analog input modes GD Newport 3 19 EDHO162En1040 06 99 MM4005 AP Abort program Usage Syntax Parameters Description Returns Errors Rel Commands Ex
162. MANU three slide switches PX PY PXY two LEDs L1 L2 and a two dimensional potentiometer PO The joystick is connected to the M M4005 via the 15 pin D Sub remote control output the joystick connector replaces the 15 pin D Sub short circuit connector on the rear panel of the M M 4005 PXY ORIG L1 L2 m MOT OFF MANU L o M MOT ON T L4 Q Rc4000 a aum Fig 6 1 MM4005 J oystick PO The potentiometer to manipulate one or two axes simultaneously The further the potentiometer is moved from its center the more rapidly the axis axes move PX Slide switch to reverse the X axis direction PY Slide switch to reverse the Y axis direction PXY Slide switch to exchange the X and Y axes directions ORIG Button to start an origin search cycle MANU Button to select two axes that will be linked to the action of the joystick e Initial state No axis is chosen LED L1 and L2 are off If the button is pressed the joystick goes to state 1 State 1 Axes 1 and 2 are chosen LED L1is on If the button is pressed again the joystick goes to state 2 e State 2 Axes 3 and 4 are chosen LED L2 is on If the button is pressed the joystick returns to the initial state the LEDs are off MOT OFF Equivalent to the MOTOR button on the MM4005 MOT ON Equivalent to the MOTOR MMM button on the MM4005 The corresponding messages are displayed when the joystick g
163. MIP LYnn nn double Y coordinate to reach with a line segment nn 1 0 E to 1 0 EP nn Preset units in SETUP mode nn Missing Error C This command defines to the controller to build an element of trajectory of Out of range Error C the type line segment f LY tangent None 0 lt lt lt 10UIO LX XE NT FA45 0 LY10 XE XE Line y 6 10 10 45 Parameter out of limits Calculation overflow Communication time out Too long trajectory Trajectory Line x y Line expected Trajectory Units not translationnal or not identical Trajectory Line x 6 or Line y 6 impossible Define X position and build a line segment f LX tangent Tell the last element Clear trajectory Define input tangent 45 Define and build line segment f 10 0 45 0 Tell last element Controller tells the built element GD EDH0162En1040 06 99 3 70 Newport MM4005 MC Set manual mode Usage HIMM E PGM MIP Syntax MC Parameters None Description This command activates the manual jog mode In this mode axes can be manually moved by pressing the appropriate low or high speed jog buttons on the front panel numerical keypad To exit the manual jog mode press the QUIT function key The manual jog mode can be terminated remotely by using the ST or AB commands Turning the motor power off from the front panel or using the MF com mand also exits the
164. MM E PGM E MIP SOnn nn int 1 0 bit mask nn Oto 255 nn None nn Missing 0 Out of range Error C Floating point Decimal part truncated This command sets all output bits of the I O port The nn parameter is the mask to be used in setting the I O output port For example if nn is 140 the equivalent binary mask is 10001100 which means that I O output bits num ber 3 4 and 8 will be set and output bits number 1 2 5 6 and 7 will be cleared remember that I O bits are numbered from 1 to 8 NOTE Remember that having an open collector configuration a set bit means a conducting transistor Using a pull up resistor a set output bit will mea sure a logic low thus making the output port be the reverse logic type NOTE For the hardware definition of the I O port please see Appendix Connector Pinouts GPIO Connector None C _ Parameter out of limits CB Clear I O outputs bits RO Read I O output SB Setl O output bits TG Toggle l O output bits Set I O output port bits number 6 7 and 8 and clear bits 1 2 3 4 and 5 AD EDH0162En1040 06 99 3 118 Newport MM4005 SP Set trace sample rate Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP SPnn nn float Trace sample period nn 0 0003 to 9 nn Seconds nn Missing 0 0003 Out of range Nearest range
165. MM4005 XP Read proportional gain factor Usage WIMM E PGM E MIP Syntax xxXP Parameters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the proportional gain factor of an axis NOTE The command reads the value actually used in the servo loop If the PID parameters are modified using the KP command but the digital filter has not been updated by sending an UF the command will still read the old value Returns xxXPnn xx Axis number nn Proportional gain factor Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands KP Set proportional gain TF Read filter parameters UF Update servo filter Example 2XP Read proportional gain factor of axis 2 2XP0 005 Controller returns an proportional gain factor of 0 005 gD Newport 3 177 EDH0162En1040 06 99 MM4005 XQ Read global sample rate Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP XQ None This command reads the global trace acquisition period This is the period that will be used to sample the real and desired positions of all motion devices and store the values in memory NOTE The returned value may differ slightly from the one preset with the SQ command because it reflects the real clock
166. N3 NN4 Following error in pre defined units A Unknown message code B Incorrect axis number S Communication time out FE _ Set maximum following error TF Read filter parameters XF Read maximum following error Example 2PA15 Move axis 2 to absolute position 15 2WP10 Wait for axis 2 to reach position 10 2DF Read following error of axis 2 2DF0 003 Controller returns a following error for axis 2 of 0 003 2WS Wait for motion to stop on axis 2 WT200 Wait 200ms for motion to settle 2DF Read following error at stop on axis 2 2DF0 001 Controller returns a following error for axis 2 of 0 001 QD EDH0162En1040 06 99 3 36 Newport MM4005 DH Define home Usage MIMM E PGM MIP Syntax xxDH Parameters Description xx int Axis number Range XX Oto4 Units XX None Defaults XX Missing 0 Out of range Error B Floating point Error A Description This command defines current position HOME position This means that the current position will be reset to the value preset by SH or by the front panel SETUP utility If the home preset value is 0 this command is equiva lent to ZP Returns None Errors A Unknown message code B Incorrect axis number D Unauthorized execution Rel Commands OR Search for home Example 30R Perform a home search on axis 3 Define current position on axis 3 HOME QAD N
167. P 3YSO Set variable 8 to 0 4DL Define label 4 we 3YA1 Increment variable 8 by 1 2DY3 Display variable 8 on the second field of line 5 3YL50 4JL If variable 8 is less than 50 jump to label 4 In this example line five of the front panel will display LOOP N where N is the loop count QD EDH0162En1040 06 99 3 44 Newport MM4005 ED Display program error Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example A E IMM E PGM E MIP EDnn nn int Enable disable code nn Otol nn None nn Missing Error C Out of range Error C Floating point Error C This command activates the program execution error display utility If nn is set to 1 the program execution will stop every time an error is encoun tered and the following message will be displayed on line 5 of the display Program aborted by error where represents the ASCII error code On line 6 the last function key will be defined as QUIT and the program will resume execution after pressing this key Setting nn to zero disables the program execution error display utility This is the default mode of operation Any error encountered will stop and ter minate the program To determine the error causing the problem use the TB or TE commands None C Parameter out of limits TB Read error message TE Read er
168. P PROGRAM MOTION SEARCH PROGRAM Execution Fig 1 4 Functions available in LOCAL mode Operations that can be performed from the front panel depend on whether the power to the motors is turned on or off A motion for instance cannot be performed when the motors are turned off and a general controller setup should not be done when the motors are on SETUP can be activated only from LOCAL mode Motor Off In this mode the user can set up the general operation of the controller and the parame ters specific to every motion axis and motion device The PROGRAMMING mode can be activated in LOCAL Mode while motors are on or off In programming mode a motion program can be created or modified MOTION is a general mode of operation in which an axis is commanded to move The most complex motions result from executing a program The other two cases are when a manual J OG or a point to point MOVE is execut ed HOME Search is discussed separately because it is an important procedure that deserves special attention In this mode the controller is executing a home search algorithm on one or more axes A home search cycle should not be interrupted The controller will exit this mode automatically upon task completion The controller displays a set of heirarchical menus to navigate the various controller modes It can be viewed as a glue logic between all the other modes 1 11 EDH0162En1040 06 99 MM4005 Introduction
169. Perform a search of mechanical zero and encoders top zero on axis QAD Newport 3 91 EDH0162En1040 06 99 MM4005 PA Move to absolute position Usage HIMM E PGM E MIP Syntax xxPAnn Parameters Description xx int Axis number nn float Absolute position destination Range XX 1to4 nn Any position within the software travel limits Units XX None nn Defined motion units Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command initiates an absolute motion When received the selected axis xx will move with the predefined acceleration and velocity to the absolute position specified by nn NOTE If the motor power is turned off MO command which turns motor power on is executed before PA commmand except if the controller has detect ed a fault condition NOTE Even though the command is accepted while a motion is in progress care should be taken not to reverse direction of motion When this com mand is received the controller verifies if it will produce a change of direction If so it will refuse the execution and set error code D NOTE If the axis was previously defined as a synchronized axis PA command will only set the destination but not generate a motion For synchronized axes use SE command to execute a motion Returns None Errors A Unknown message code B Incorrect ax
170. Q1000 Controller reports 1000 global trace samples acquired GD Newport 3 85 EDH0162En1040 06 99 MM4005 NS Allow generation of pulses on interpolation Usage HIMM E PGM MIP Syntax NS Parameters None Description This command together with ET command verifies the correctness of data enterred by NB NE and NI NN before allow generation of pulses along the trajectory If a condition is not satisfied the generation of pulses is disabled and the command returns an error If not pulses are generated and at every moment where a pulse is generated the X and Y axis positions are stocked in the global trace buffer and can be reread by TQ command The pulses are generated on pin 12 of the 25 pin auxiliary connector with a pulse width of about 5 usec NOTE This command if successful erases effect of the global trace mode prece dently defined by any GQ command NOTE This command if used must precede immediately ET command Returns None Errors D Unauthorized execution f Synchronization pulses generation impossible Rel Commands NB Settrajectory element where the generation of pulses starts NE Settrajectory element where the generation of pulses ends NI Set step curvi linear distance between synchronisation pulses NN Set number of synchronisation pulses to generate Example NT FA90 Initialisation CR10 CA5 Element 1 CA350 Element 2 CA5 Element 3 NB2 Setpulses sta
171. QUIT key again Now that you know how to JOG and MOVE motion devices experiment with front panel initiated motions to become familiar with the controller and the local motion modes NOTE Remember that only motions with destinations inside the software travel limits are allowed Any entry outside these limits will be ignored QD EDH0162En1040 06 99 2 6 Newport MM4005 Local Mode 22 Controller Configuration Now that you have had the chance to perform some basic motion com mands in LOCAL mode more details on the controller s operation are in order The first aspect is the controller configuration Though some parameters can also be changed with remote commands the primary environment for configuring the MM4005 controller is the SETUP section of the LOCAL mode The SETUP mode can only be initiated from the top level MOTOR menu STATUS PROG SETUP Pressing the SETUP function key will enter the setup mode and display the main setup screen and menu Fig 2 4 UTM100CC0 1 URM80PP UTM50CCO0 1 UZM160PP0 1 SETUP MENU Fig 2 4 Typical main setup menu There are two types of setup functions Axis Setup and General Setup The following sections will describe both in detail 2 2 1 General Setup General Setup is entered by pressing the GEN function key in the top level setup menu The display will change to the one illustrated in Fig 2 5 GENERAL SETUP Language ENGLISH displa la
172. S Read the global trace sample period XS0 005003436196 Controller returns the real sample rate in seconds XT Tell number of elements in the trajectory Usage Syntax Parameters Description Returns Errors Rel Commands Example GD E IMM E PGM MIP XT None This command retrieves from the controller the number of valid elements that have been loaded into the trajectory XTnn nn Number of elements S Communication time out AT Tell the element number under execution LT Extended list of the trajectory NT Reset trajectory buffer XT Read number of elements XTO Controller returns 0 Newport 3 179 EDHO162En1040 06 99 MM4005 XU Tell the vector acceleration on trajectory trajectory acceleration Usage HIMM E PGM E MIP Syntax XUnn Parameters Description nn int Oorel Defaults nn Missing 0 Description This command retrieves from the controller the current trajectory accelera tion or Max Trajectory Acceleration MTA Returns XUaa aa Thecurrent trajectory acceleration if nn missing or 0 aa MTA if nn greater or equal 1 Errors S Communication time out Rel Commands VS Definethe vector acceleration on trajectory trajectory acceleration XV Tell the vector velocity on trajectory trajectory velocity Example VS10 Define 10 units sec as trajectory acceleration XU1 Read MTA XU20 0 Controller tells MTA XU Read traj
173. SH is set to a non zero value and a home search is performed new values are calculated for the software limits to correct for the zero origin change Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands DH Define home OR Search for home PW Save parameters Example 3TP Read position on axis 3 3TP0 000 Controller returns position 0 000 for axis 3 3SH11 Sethome position for axis to 11 displacement units 30R Perform a home search on axis 3 3TP Read position on axis 3 3TP11 000 Controller returns position 11 000 for axis 3 at home aD EDH0162En1040 06 99 3 114 Newport MM4005 SL Set left travel limit Usage IMM E PGM E MIP Syntax xxSLnn Parameters Description xx int Axis number nn float Left negative software travel limit Range XX 1to4 nn 2147483647 x encoder resolution to min home value set by SH or current position or destination if in motion Units XX None nn Defined motion units Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command defines the value for the negative left software travel limit It should be used to restrict travel in the negative direction to protect the motion device or its load For instance if traveling full range a stage could push its load into an
174. TF Parameters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the PID parameters and the maximum acceptable fol lowing error of an axis It is equivalent to sending XP XI XD and XF with the exception that the return comes on a single line NOTE The command reads the value actually used in the servo loop If the PID parameters are modified but the digital filter has not been updated by sending an UF the command will still read the old values Returns xxTF xxXPnnj xxXInn2 xxXDnn3 xxXFnn4 xx Axis number nny Proportional gain factor nnz Integral gain factor nn3 Derivative gain factor nng Maximum acceptable following error Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands XF _ Read maximum following error XD Read derivative gain factor XI _ Read integral gain factor XP _ Read proportional gain factor Example 2TF Read filter parameters of axis 2 2TF 2XP0 07 2X10 001 2XD 05 2XF0 12 controller returns the following digital filter parameters for axis 2 Kp 0 07 Ki 0 001 Kd 0 05 Fe 0 12 units QD EDH0162En1040 06 99 3 130 Newport MM4005 TG Toggle I O output bits Usage Syntax Parameters Description Range Units Defaults Description Returns Error
175. Tell last element Controller tells the built element GD EDH0162En1040 06 99 3 26 Newport MM4005 CB Clear I O outputs bits Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example CB224 A gw IMM E PGM E MIP xxCBnn xx int 1 0 bit number nn float 1 0 bit mask XX Oto8 nn Oto 255 XX None nn None XX Missing 0 Out of range Error E Floating point Error A nn Missing 255 Out of range Error C Floating point Decimal part truncated This command clears one to all output bits of the I O port If xx is specified between 1 and 8 the nn mask must be missing and then the selected bit will be cleared If xx is missing or set to 0 and nn is between 1 and 255 the controller will clear all bits corresponding to the mask For example if nn is 140 the equivalent binary mask is 10001100 which means that I O output bits num ber 3 4 and 8 will be cleared remember that I O bits are numbered from 1 to 8 If xx is missing or set to 0 and nn is not specified the controller clears all 8 bits This is equivalent to setting xx to 0 and nn to 255 NOTE Remember that having an open collector configuration a clear bit means a non conductive transistor Using a pull up resistor a clear output bit will measure a logic high thus making the output port be the reverse logic type NOTE For the hardware d
176. The dri ver constantly measures the motor current and always keeps it proportion al to the input voltage This type of driver is usually preferred over the previous one in digital control loops offering a stiffer response and thus reduces the dynamic following error But when the highest possible performance is required the best choice is always the velocity feedback driver This type of driver requires a tachome ter an expensive and sometimes difficult to add device Fig 4 50 Control Signal V Velocity Fig 4 50 DC Motor Velocity Feedback Driver The tachometer connected to the motor s rotor outputs a voltage directly proportional with the motor velocity The circuit compares this voltage with the control signal and drives the motor so that the two are always equal This creates a second closed loop a velocity loop Motions per formed with such a driver are very smooth at high and low speeds and have a smaller dynamic following error General purpose velocity feedback drivers have usually two adjustments tachometer gain and compensation Fig 4 51 QAD EDH0162En1040 06 99 4 32 Newport MM4005 Motion Control Tutorial GD Newport Compensation Control Signal Tachometer Gain V Velocity eat ra AtS A m Fig 4 51 DC Motor Tachometer Gain and Compensation The tachometer gain is used to set the ratio between the control voltage and the velocity The com
177. UP MENU e Ifxx 0 Reports the parameters configuration of the axis xx e Ifxx 0 missing and nn 0 missing Reports the parameters configu ration of all of axes e Ifxx 0 and nn 1 reports the general parameters configuration NOTE It is recommanded to save the controller axes general parameters config uration in a computer file to avoid the parameters loss when an electri cal accident occurs or when the firmware is upgraded Controller axis general parameters configuration A Unknown message code B Incorrect axis number C _ Parameter out of limits None 1ZT Read axis 1 parameters configuration ZT Read all of axes parameters configuration ZT1 Read general parameters configuration Newport 3 203 EDHO162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 3 204 Newport Section 4 Motion Control Tutorial MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 4 Motion Control Tutorial 4 1 Motion SYStOMS 0 cece ceeeteteee ete ee tte ceeseceeeeeesestetaetetaeaesaetetienecastenesieteniees 4 3 4 2 Specification Definitions cece ceee eset eeetieeeieneteeteeeseetenesiees 4 4 4 2 1 Following Error snasnmisninnun inaia 4 4 AD 2 ECO saa aa aion onan cated a a a a aA AEE 4 5 423 ACCU ACV aa Aa EEEa A aE a 4 5 4 2 4 Local ACCULACY iiini ieii iaia 4 6 A25 Resolution ereina aa
178. Unknown message code Incorrect axis number Parameter out of limits Set start position of generation of pulses of synchronisation Set step of generation of pulses of synchronisation Set end position for axis 2 to 10 units Actual value of PE Controller tells the actual value Update PB PE PI and allow pulses Actual value of PE Controller tells the value AD EDH0162En1040 06 99 Newport MM4005 Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 2P10 1 PI Set step of generation of pulses of synchronisation gIMM E PGM E MIP xxPInn or xxPI xx int Axis number nn float New value of step of generation of pulses Read the actual step of generation of pulses of synchro nisation for the axis xx XX 1to4 nn 2x Coder precision to maximum allowed travel XX None nn Preset units in SETUP mode XX Missing Error B Out of range Error B Floating point Error A nn Oor missing Stop generation of pulses Out of range Error C This command sets step of generation of pulses of synchronisation for an axis If nn is default or zero the generation of pulses of synchronisation is disabled The command can be sent at any time but it has no effect until the PS com mand is received The minimum value of step the displacement of stage within Tpase will be verified in PS command If t
179. V For motion in negative direction Where xx Axis number An infinite motion works in the background without affecting the operation of the other axis In a master slave system if the master axis starts an infinite motion the slave axis will also execute an infinite motion with the pre defined velocity ratio GR The ST command stops an infinite motion To solve the overflow display problem inherent to an infinite motion the CD command allows the user to set a periodic cycle to the position counter Defining for example a cycle of 360 for a rotary stage will reset the position counter every time it reaches 360 in the positive direction In the negative direction instead of counting negative values when 0 position is reached the counter is set to 360 NOTE Using of the MV command Infinite movement is possible only after set ting of a periodic cycle CD command and only for rotary stages AD Newport 6 9 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial 6 5 Automatic Displacement Units Change SN Command or from the Front Panel Each axis must have a pre defined unit for displacement A motion com mand in immediate mode or inside a program does not carry the unit information The motion will be performed using the default or the last pre set units There are two ways to change the units of an axis from the front panel AxisSetup gt MODIF or remotely through the SN command
180. WF commands to allow the user to build front panel interactive programs NOTE The command is valid only in programming mode applying only to the custom defined function keys not the ones used by the normal operation of the controller Usage OIMM Syntax FD Parameters None Description Returns None Errors A J e Rel Commands FB FC WF Example 3XX 3EP 4FBSTOP as FD ae FC A Unknown message code Command authorized only in programming mode Label function key Clear function key line Wait for function key Clear program 3 from memory if any Activate program mode and enter following commands as program B Define custom label for function key 4 as STOP Display the custom function key label s STOP Clear function key display line Newport 3 55 EDH0162En1040 06 99 MM4005 FE Set maximum following error Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 3FE0 1 E IMM E PGM E MIP xxFEnn Axis number Maximum allowed following error lto 4 2 x encoder resolution to maximum device travel xx int nn float XX nn None Preset units in SETUP mode Error B Error B Error A Error C Error C XX nn XX Missing Out of range Floating point nn Missing Out of range This command sets the maximum all
181. WS Move axis 3 incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop GD Newport 3 187 EDH0162En1040 06 99 MM4005 YF Scale variable Usage WIMM E PGM E MIP Syntax xxYFnn Parameters Description xx int Variable number nn int Scaling factor Range XX 1 to 100 integers and 101 to 120 floats nn 32767 to 32767 Units XX None nn None Defaults XX Missing Error O Out of range Error O Floating point Error A nn Missing Error C Out of range Error C Description This command scales the values of a variable The value of variable xx is multiplied by the constant nn and the result placed in variable xx If the value of nn is zero the operation is not performed and error H is generat ed If the result of the multiplication is outside the 32767 to 32767 range the operation is not performed and error H is generated The decimal part of the multiplication result is truncated Returns None Errors A Unknown message code C Parameter out of limits H _ Calculation overflow O Variable number out of range Rel Commands YA Add to variable YD Divide variable YS Initialize variable Example 1YR3 Load analog port 3 value into variable 1 3YY1 Copy variable 1 in variable 8 3YA 32 Subtract 32 from variable 3 3YF0 5555556 Multiply variable 8 by 0 5555556 if variable 1 represents a tem perature meas
182. _ Parameter out of limits Rel Commands KD Set derivative gain KI _ Setintegral gain KP _ Set proportional gain UF Update servo filter Example 3KSO0 5 Setintegral saturation factor for axis 3 to 0 5 esil 3UF Update PID filter only now the KS command takes effect 3KS Display actual value of KS 3KS0 5 Controller tells the value aD EDH0162En1040 06 99 3 66 Newport MM4005 LP List program PGM Missing Out of range Floating point E MIP Program number 1to 127 None Error F Error F ErrorA This command reads a specified program from RAM and sends it to the selected communication port RS232C or IEEE488 During the transmission no other command should be sent to the controller To read a program from the non volatile memory first use the MP com mand to download its content in RAM Program listing Usage HIMM Syntax xxLP Parameters Description xx int Range XX Units XX Defaults XX Description Returns Errors A F a G Rel Commands MP Example MP BLP 1PA0 A Unknown message code Program number incorrect Program does not exist Unauthorized command in programming mode Download EEPROM to RAM Copy programs from EEPROM to RAM List program number 3 Program listing Newport EDH0162En1040 06 99 MM4005 LT Extended list of the trajectory Usage Syntax Parameters Description R
183. a Tell the AR ani ead desired oo eeeeeeeseeeeeee eee Test ue OUTDUE cites aaa 3 88 travelliMiteaneriosni aa Regulation ne 412 THEDIELICAliscc4 cine crl te ate eet eee Read left sssessssseseeesennseeseesstnnsee 3 133 eee Read rioht 3 138 SOs asians disnraisioweteuani 3 149 position in variable Set 0 3 195 Sita A dle acacia VECOM dsini Retides raira nana aT 5 3 position a Read NEE AEE EEE ais Ore 3 132 Set left EE PAARE ELIT ALTELE TT 3 115 Mi a Set right sssri 3 121 Verifying Default Devices 1 22 time for axis displacement Calculate switch Move to 3 76 NECOSSALY itai 3 98 PERAE id R ate 87 w Wie Ef cmstesueeeeuan tenuate Pee a ae ee So Walten 3 154 3 165 COMMUNICATION cececccccceccccececees 2 10 8 3 Tuning Procedures seris 7 4 and read Key ssssssssssssssrsssssessessuesees 3 200 HOME na a 2 10 type Trajectory wcrc 1 9 for a element of trajectory 3 162 Toggle I O output bits 3 131 Ki 2 etc length eeseeeeeteees a or function Key POG TONG HAI ECLORY saunsiibrtenirate a Unauthorized oo eccceeseseeeeeeseeeeeeeeesneees for 1 0 high wo eeeeeeeeteteeeeteetees 3 147 TACO vaseesssseessenteeessnneeesnnncetenanecenenaneeetennases COMMANA esssssessecsssssssessessessssnsseaneees 8 3 for 1 O LOW ecscsssssessestesssessestesneees 3 148 data Read sesser 3 140 command in programming mode 8 3 for key aienea 3 160 t agni a a EXECU O Nnnna 8 3 for MOTION SCOP ecscesceseeseseseseees 3 16
184. a relative motion select the RELAT function key The same position entry screen appears as for the absolute motion with the excep tion that all position values are zero rather than the current absolute posi tion This is because motion is made relative to the current position instead of absolute home Enter desired relative motion values as described earlier When complete the display changes to the following menu ALL QUIT Pressing the ALL key will start the relative motion on all axes The dif ference from the absolute motion is that when the relative motion on all axes is finished the display returns to the same menu This means that you can repeat the relative motion again and again by pressingthe ALL key If you entered relative motion values on multiple axes but only need to move one use the same J OG keypad convention and press a key from col umn or that corresponds to the axis you want to move One special note about the keypad in this mode If you enter a negative value for a relative move and you press a key in column the move will be in the negative direction If a key in column is pressed the move will be in the positive direction In other words pressing a key in column will initiate a relative move in the opposite direction than requested To exit the relative move mode press the QUIT key To exit the move mode and return to the top level motor on menu press the
185. able E E E xx YV Read value from keyboard in a variable E E E xx YW Wait and read key m E xx YY nn Copy variable E E E xx ZP Zero position E xx ZT nn Read Axis General parameters configuration E E AB Abort motion Usage HIMM O PGM E MIP Syntax AB Parameters None Description This command is an emergency stop On reception of this command the controller stops motion on all axes with a fast deceleration and then turns motor power OFF It should be used only as an immediate command not in a program Returns None Errors None Rel Commands AP Abort program KC Abort command line MF Motor OFF MO Motor ON ST Stop motion Example AB Used as an immediate command to stop motion GD EDH0162En1040 06 99 3 16 Newport MM4005 AC Set acceleration Usage HIMM E PGM E MIP Syntax xxACnn Parameters Description xx int Axis number nn float Acceleration value Range XX 1to4 nn 10 to the programmed value in SETUP mode Units XX None nn preset units in SETUP mode sec Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the acceleration deceleration value for an axis Its exe cution is immediate meaning that the acceleration is changed when the command is processed even while a motion is in progress All subsequent accelerations and decelerations will b
186. act value of the servo sampling period Tpase of the con troller send the command SQO0 and the the command SQ The con troller will return SQ value This value will be the exact sampling period of the controller in seconds Newport 6 3 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial NOTE The starting position and the ending position of the axis must be outside the interval defined with PB and PE commands without forget accelera tion and deceleration ranges Example Generate a signal synchronized by axis 1 It should start when the axis crosses position 10 current units and end when it reaches position 10 The step should be 1 current units 1PB 10 1PE10 1PI1 Defining the signal 1PA 20 Motion without any signal generation 1PS 1PR40 Motion with signal generation between position 10 and 10 with a step of 1 units TT Position reading for each pulse generated 1PR60 Motion without any signal generation NOTE During a motion with synchronized signal generation the real and theoreti cal position corresponding to each pulse is recorded in the position buffer This information can be read back using the TT command To make the buffer available and avoid any conflicts the PS command terminates and clears any settings made by a TM command To use the trace mode after a motion with synchronized signals the TM command must be reinitiated A pulse is generated when the selected axis reaches t
187. advance to the next parameter aaa lt lt gt gt mopiry gt UP _ gt MODIFY gt E gt VAID gt QUIT gt QUIT gt YES gt QUIT DV Read desired velocity VA Set velocity QAD EDH0162En1040 06 99 2 22 Newport MM4005 Local Mode GD Newport CTITTT Trt rrr rr Correre TET H DA es PE S Manual Speed This parameter defines the high velocity of the manual jog mode using front panel or joystick The default value is 50 of the Maximum Speed but you can change it to suit your needs The slow speed manual jog is one tenth of the high speed To change the manual jog high speed press the mopiFY key when the Manual Speed parameter is displayed Use the numeric keypad to enter a new value Press VALID to accept the new setting and return to the previ ous menu Pressthe up key to advance to the next parameter lt o gt Axis Setup gt MODIFY gt UP _ gt MODIFY gt gt VALID gt QUIT gt QUIT gt YES gt QUIT MH Set manual velocity DM Read manual velocity HOME Speed This parameter sets the value of the home search high velocity portion It is recommended that this value not be altered If you are setting up a new motion device that has no default parameters press the MODIFY key to set the HOME speed Use the numeric keypad to enter a value that is equal to 50 of the Maximu
188. al has been provided for informations only and product specifi cations are subject to change without notice Any changes will be reflected in future printings P A de Saint Gu nault 3 bis rue Mermoz BP 189 91006 Evry Cedex France Tel 33 0 1 60 91 68 68 Fax 33 0 1 60 91 68 69 QAS EDH0162En1040 06 99 ii Newport MM4005 4 Axis Motion Controller Driver Table of Contents WAllanty vat ander tariad ivan A EE ii TPable ofF CONLENUS ETEA EE AET A A AE A A iii Section 1 Introduction Tableof Contents ctigedeuehetcteenendiie lola iedeneeiienenddenus 1 1 Ll Safety ConsideratioNSmsiciiane reana dean ae 1 3 1 2 Conventions And Definitions ss ssssssssesesesrsrsieieierisrsreierersrsrnrsrnrnnnnnns 1 5 1 2 1 Symbols And Definitions sssssssssseersrrrieieirsrssieirreernrsnen 1 5 1 2 2 TErMINOlO OY stick a a e iE aa a a eae 1 6 I3 General DescHption iier nra AEE ete taeetaseeteeteeetaes 1 7 173 1 Features aa E a states 1 9 13 2 Specifi catioN Sissors iia 1 9 1 3 3 Modes of Operation s ssssssisssesrsrsisiirsrsrsitiirnrntnrsrsrssrntnrnrns 1 11 1 3 4 Rear Panel Description sssssssssssssrsrsissssiisisisiritrisintnrensrsnnnnnrnrns 1 13 1 3 5 Front Panel Description sssssssssisieseieirsrsreiririisrnrsrsrsresrnenrnrss 1 15 1 3 6 Display Configuration sssssssessrsrsieseirirsrsrsiierrsrnrsisrsrssnrnrsrns 1 16 E37 DisplaySteuGture sss tie enr ied tie iene eee 1 18 LA System Setup naeia a TA a iaaah anit ea
189. al or not identical Rel Commands CX Define X position to reach with an arc of circle f CX CY XE Tell the last element EL Erase the last element of trajectory Example NT Clear trajectory CX10 Define X position of an arc of circle f x y CY10 Define Y position an build an arc of circle f x y XE Tell last element XE Arc x y 10 10 90 Controller tells the built element GD EDH0162En1040 06 99 3 34 Newport MM4005 DA Read desired acceleration Usage HIMM E PGM E MIP Syntax xxDApp Parameters Description xx int Axis number pp int Auxiliary parameter Range XX 1to4 pp Oorl Units XX None pp None Defaults XX Missing Error B Out of range Error B Floating point Error A pp Missing 0 21 1 Description This command reads the motion acceleration assigned in the axis setup or redefined through the AC command This is the acceleration of a trape zoidal type motion profile used in point to point moves On Power Up the acceleration defaults to the value preset in the front panel SETUP menu If pp is 0 or missing the actual value of acceleration is reported If pp gt 1 the maximum allowed value of acceleration is reported Returns xxDAnn xx Axis number nn Acceleration value in pre defined units Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands AC _ Set acceleration E
190. always detect if a value is outside the travel range of an axis to flag the error especially in a complex motion program Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits D Unauthorized execution Rel Commands WA Wait WK Waitfor key WS Wait for motion stop WT Wait Example 2PA 10 WS Move axis 2 to position 10 units and wait for stop 2PA10 2WPO 3PA5 A Move axis 2 to position 10 units wait for axis 2 to reach position 0 and then move axis 8 to position 5 units Newport 3 163 EDHO162En1040 06 99 MM4005 WS Wait for motion stop Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 2PA10 2WS500 3PA5 gIMM E PGM E MIP xxW Snn xx int Axis number nn int Delay after motion is complete XX Oto4 nn Oto 1073741824 XX None nn Milliseconds XX Missing 0 Out of range Error B Floating point Error A nn Missing 0 Out of range 0 Floating point Decimal part truncated This command stops the program execution until a motion is completed The program is continued only after axis xx reaches its destination If xx is not specified the controller waits for all motion in progress to end If nn is specified different than 0 the controller waits an additional nn millisec onds after the motion is complete
191. ameter out of limits D Unauthorized execution Rel Commands NB Set trajectory element where the generation of pulses starts NE Settrajectory element where the generation of pulses ends NI Set step curvi linear distance between synchronisation pulses Example NN11 Setnumber of pulses to 11 NN Read number of pulses to generate NN11 Controller tells the value GD Newport 3 83 EDH0162En1040 06 99 MM4005 NP Set decimal digits number of position display Usage WIMM E PGM MIP Syntax xxNPnn or xxNP Parameters Description xx int Axis number nn int New value of displayed resolution Range XX 1to4 nn 1to MDR Maximum Display Resolution Units XX None nn None Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Default value of actual unit Out of range Error C Description This command sets new value of number of digits after the decimal point of on screen displayed position values The MDR value dependant on the actual unit is described below Unit mm um in min pulin Dg Gr Rad mRd uRd Inc MDR 6 3 7 4 1 6 6 6 3 1 0 To restore the default value of the actual unit use xxNP NOTE This command returns an error code if the actual unit is Inc Returns Ifthe sign takes place of the nn value this command reportes the num ber of decimal digits after the decimal point of on screen displayed posi tion va
192. ample IMM E PGM E MIP AP None This command interrupts a motion program in execution It will not stop a motion in progress It will only stop the program after the current com mand line is finished executing It can be used as an immediate command or inside a program Inside a program it is useful in conjunction with program flow control com mands It could for instance terminate a program on the occurrence of a certain external event monitored by an 1 0 bit None None EX Execute a program 3EX Execute program 3 seil AP Stop program execution GD EDH0162En1040 06 99 3 20 Newport MM4005 AQ Axis positions acquisition Usage HIMM E PGM E MIP Syntax xxAQnn Parameters Description xx int Axis number nn int Integer value Range XX 1to4 nn Oorl Units XX None nn None Defaults XX Missing 0 Out of range Error B Floating point Error A nn Missing 0 Out of range Error C Description This command records the actual position of e If xx 0 all axis and analog inputs in the global trace buffer at the buffer actual pointer position e If xx 1 to 4 the actual position of axis xx in the axis trace buffer at the buffer actual pointer position The buffer actual pointer position is incremented of 1 To set the global trace buffer actual pointer position to zero use GQO To set the axis trace buffer actual pointer position to zero use TMO If nn 1 this c
193. and motion related functions without the help of an external computer NOTE Though very versatile the front panel programming capabilities of the MM4005 controller are intended to be used only for smaller simple motion programs For larger more sophisticated programs the use of a computer with a powerful editing environment is still recommended The Program mode can be invoked from both top level Motor OFF or MOTOR ON menus The only difference is that when starting from the top level menu an additional program execution function key is available Both functions that are of interest for this section program creation and program editing are the same regardless how they have been activated A Newport 237 EDH0162En1040 06 99 MM4005 Local Mode 2 4 1 General Concepts To communicate with the MM4005 controller a language is needed that both user and controller can understand When communicating remotely we use a motion control language that is described in the Remote Mode section A program downloaded remotely is stored in non volatile memory as is a program created locally Any program in memory can be read and edited both locally and remotely For this reason to create a program in local mode we need a way to enter alpha numeric commands from the front panel Since the number of keys available on the front panel is limited the MM 4005 controller uses a special convention to enter motion pr
194. and reportes the actual number of assigned as Y geometric axis B S AX LT 2AY AY AY2 Incorrect axis number Communication time out Assign a physical axis as X geometric axis Extended list of the trajectory Assign physical axis 2 as Y geometric axis Controller return value 2 AD EDH0162En1040 06 99 3 24 Newport MM4005 BA Set backlash compensation Usage HIMM E PGM MIP Syntax xxBAnn Parameters Description xx int Axis number nn float Backlash compensation value Range XX 1to4 nn Oto distance equivalent to 10000 encoder counts Units XX None nn Defined motion units Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing 0 Out of range Error C Description This command initiates a backlash compensation algorithm when motion direction is reversed The controller keeps track of the motion sequence and for each direction change it adds the specified nn correction Setting nn to zero disables the backlash compensation NOTE The command is active only after a home search or home set OR or DH is performed on the specified axis Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits D Unauthorized execution Rel Commands XB Read backlash compensation Example OR Perform a home search on all installed axes 1BA0 0012 Set backlash compensation of a
195. ange Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the manual jog high velocity value of an axis from front panel or joystick This is the high speed manual jog mode activated by simultaneously pressing the center key with a direction key The manual jog low speed is 1 10 of the high speed The manual jog high speed can also be changed from the front panel SETUP menu Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands DM Read manual velocity Example 2MH4 5 Set axis 2 manual jog high velocity to 4 5 2DM Read manual jog high velocity of axis 2 2DM4 5 Controller returns a manual velocity value of 4 5 units sec QD EDH0162En1040 06 99 Newport MM4005 ML Set local mode Usage HIMM E PGM MIP Syntax ML Parameters None Description This command activates the local mode In this mode the control is passed to the front panel and all its functionality becomes available To return to remote mode use MR command NOTE If the ML command is issued while a program or a motion is in progress the controller will first abort the program and stop all axes similarly to a ST command before switching to local mode Returns None Errors D Unauthorized execution Rel Commands MC Set manual mode MR Set remote mode Example ML Setlocal mode
196. ange Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxLT xx int Element number XX 1to100 XX None XX Missing 0 Out of range Error C This command retrieves from the controller the extended form of an ele ment of trajectory NOTE When the element number is 0 or absent all elements of the trajectory will be listed The returned value is dependent of the element type and is as follow when element is e f LX xxLTaa X xx Y yy A t e f LY xxLTbb X xx Y yy A tt f MX MY xxLTcc X xx Y yy A tt e f CX CY xxLTdd X xx Y yy A tt R rr B ss S ww e f CR CA xxLTee X xx Y yy A tt R rr B ss S ww aa Line x 6 bb _ Line y 8 cc _ Line x y dd Arc x y ee Arc r 8 xx X end position of the element yy Y end position of the element tt Angle of the tangent at the end position rr Radius of the circle ss _ Start angle for a circle ww Sweep angle for a circle C _ Parameter out of limits S Communication time out XT Tell number of elements in the trajectory XE _ Tell the last element NT Clear trajectory CR10 Define radius of an arc of circle f r 0 CA90 Define sweep angle an build an arc of circle f r 0 1LT Extended list of a trajectory 1LT Arc r 6 X 10 Y 10 A 90 R 10 B 270 S 90 Controller tells the buil
197. articular interest when driving stepper motors As far as the DC servo loops the PID type is by far the most widely used The MM4005 implements a PID servo loop with velocity feed forward for both DC and stepper motor motion devices It is not just a static closed loop when the motion is stopped but a fully dynamic one The basic diagram of a servo loop is shown in Fig 4 13 Besides the com mand interpreter the main two parts of a motion controller are the trajec tory generator and the servo controller The first generates the desired trajectory and the second one controls the motor to follow it as closely as possible Z 4 i Command Trajectory Servo l gt ioe p gt B l Interpreter Generator Controller i l i y Motion Controller l Encoder Fig 4 13 Servo Loop 4 3 1 PID Servo Loops The PID term comes from the proportional integral and derivative gain fac tors that are at the basis of the control loop calculation The common equation given for it is de dt Kp se Ki fedt Kq where Kp Proportional gain factor Ki integral gain factor K derivative gain factor e instantaneous following error GD Newport 4 13 EDH0162En1040 06 99 MM4005 Motion Control Tutorial The problem for most users is to get a feeling for this formula specially when trying to tune the PID loop Tuning the PID means changing its three gain factors to obtain a certain system response t
198. as a communication port The extended protocol is not supported The only exception is the use of the SRQ line which permits more reliable data transfer especially when downloading large amounts of data trace data large programs etc The SRQ can be enabled or disabled from the General Setup menu on the front panel The main setup requirement for an IEEE 488 device is to select the proper address This identifies the unit to the other devices connected to the sys tem To change the address or the SRQ usage follow the instructions in the Controller Configuration section of the Local Mode chapter 3 2 Softwares In order to communicate with the controller the user must have a terminal or a computer capable of communicating with external devices via a RS 232 C or IEEE 488 interface One approach is to use a communications software that can emulate a termi nal An other solution is to use available NEWPORT MOTION Suite softwares aD EDH0162En1040 06 99 3 4 Newport MM4005 Remote Mode 3 2 1 MOTION Suite MOTION Suite software is a set of Windows 3 1x programs that you can install on a PC compatible computer with the following minimum configura tion e An IBM Personal Computer or 100 percent compatible e A VGA monitor An 80386 or later processor 4MB of available memory 8 MB recommended for Windows A hard disk with enough disk space to install the options you need e A Windows 3 1x envir
199. ash compensation E FA nn Define the tangent angle for the first point E xx SC nn Set control loop type a E LX nn Define X position and build a line segment f LX tangent a E xx SF name Set axis mechanical motion device a E LY nn Define Y position and build a line segment f LY tangent a E xx SL nn Set left travel limi E E E MX nn Define X position for a line segment f MX MY a E xx SN name Set axis displacement units E E MY nn DefineY position and build a line segment f MX MY E E xx SR nn Set right travel limit E E E NT Start definition of a new trajectory E E xx TA Read motion device E E E Commands to execute a trajectory xx TC Read control loop type E E E ET Execution of trajectory a E xx TL Read left travel limit E E E VS nn Define the vector acceleration on trajectory EE xx TN Read displacement units E E E trajectory acceleration xx TR Read right travel limit E E E VV nn Define the vector velocity on trajectory trajectory velocity W E E xx TU Read encoder resolution E E E WI nn Wait for a trajectory curvi linear length a xx XB Read backlash compensation E E E WN nn Wait for a element of trajectory a xx ZT nn Read Axis General parameters configuration a E Commands to help geometric definition of a trajectory 1 0 functions AT Tell the element number under execution E E E xx AM nn Set analog input mode E E E xx LT Extended list of the trajectory E E E xx CB nn Clear I O outputs bits E E E XA Tell the current maximum allowed
200. ask quite difficult to achieve without some understanding of its behavior The following paragraphs explain the PID components and their operation P Loop Lets start with the simplest type of closed loop the P proportional loop The diagram in Fig 4 14 shows its configuration Motor Trajectory Generator Servo Controller Encoder Motion Controller Fig 4 14 P Loop Every servo cycle the actual position as reported by the encoder is com pared to the desired position generated by the trajectory generator The difference e is the positioning error the following error Amplifying it multiplying it by Kp generates a control signal that converted to an ana log signal is sent to the motor driver There area few conclusions that could be drawn from studying this circuit e The motor control signal thus the motor voltage is proportional to the following error e There must be a following error in order to drive the motor e Higher velocities need higher motor voltages and thus higher following errors At stop small errors cannot be corrected if they don t generate enough voltage for the motor to overcome friction and stiction e Increasing the Kp gain reduces the necessary following error but too much of it will generate instabilities and oscillations PI Loop To eliminate the error at stop and during long constant velocity motions usually called steady state error an integral term can be added
201. ation a set bit means a conducting transistor Using a pull up resistor a set output bit will mea sure a logic low thus making the output port be the reverse logic type NOTE For the hardware definition of the I O port please see Appendix B Connector Pinouts GPIO Connector None A Unknown message code E _ Incorrect I O channel number CB Clear I O outputs bits RO Read I O output SO Set I O output byte TG _ Toggle l O output bits Set I O output port bits number 6 7 and 8 high Newport 3 109 EDHO0162En1040 06 99 MM4005 SC Set control loop type Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM MIP xxSCnn Axis number Loop type 1to 4 Oorl xx int nn int XX nn None None XX nn Error B Error B Error A Error C Error C XX Missing Out of range Floating point nn Missing Out of range This command defines the type of motion control loop of an axis If para meter nn is set to 0 the selected axis xx is set to operate in open loop If nn is set to 1 the axis will operate in closed loop NOTE Because this is a setup instruction do not use it when motor power is on If sent during a motion or when motors are on the controller will refuse the execution and set error code D NOTE Avoid using this comand
202. ation E E E xx XH Read home preset position E E E Trace mode xx AQ nn Axis positions acquisition E E E GQ nn Set global trace mode m E E NQ Read global acquisition nr E E E SP nn Set trace sample rate E E SQ nn Set global sample rate E E E xx TM nn Settrace mode E E E xx TQ nn Read global trace data E E xx TT Read trace data E E XN Read number of acquisitions E E E XQ Read global sample rate E 3 E XS Read trace sample rate E E E Digital filter parameters xx FE nn Set maximum following error E E E xx KD nn Set derivative gain E E E xx KI nn Setintegral gain E E E xx KP nn Set proportional gain E zij E xx KS nn Set saturation level of integral factor ne E E E in position loop PID corrector xx PW Save parameters E E xx TF Read filter parameters E z E xx UF Update servo filter E E E xx XD Read derivative gain factor E E E xx XF Read maximum following error E E E xx XI Read integral gain factor E a xx XP Read proportional gain factor E E E Motion device parameters xx BA nn Set backlash compensation xx SC nn Set control loop type E E xx SF name Set axis mechanical motion device E E xx SL nn Set left travel limit E E E xx SN name Set axis displacement units E a xx SR nn Set right travel limit E E E xx TA Read motion device E E E xx TC Read control loop type E m E xx TL Read left travel limit E a E xx TN Read displacement units E E E xx TR Read right travel limit E E E xx TU Read encoder resolution m E i xx XB R
203. ation ratio In other words we achieved this dual axes motion with two independent single axis motions To eliminate these motion errors we need to use the axes synchronization linear interpolation feature The improved program will have the follow ing listing 2XX Erase program 2 if it exists 2EP Enter programming mode and store all entries as program 2 1VA4 Set velocity of axis 1 to 4 mm sec 10 5 1PA10 1WS Move axis 1 to absolute position 10 mm wait for axis 1 to complete motion 2VA4 Set velocity of axis 1 to 4 mm sec lt 2PA5 2WS Move axis 2 to absolute position 5 mm wait for axis 2 to complete motion 1SY1 2SY1 Declare axes 1 and 2 synchronized 0 0 10 0 1PA0 2PA0 SE WS Set axis 1 destination to 0 mm and axis 2 destina tion to 0 mm start synchronous motion wait for motion to complete 1SY0 2SY 0 Declare axes 1 and 2 non synchronized 2QP End of program 2 quit programming mode Notice that there is no need to set the velocities before the synchronized interpolated motion The controller automatically calculates them to get the best accuracy possible without exceeding the pre set individual velocities Also when finished with an interpolated motion always return the axes to the non synchronized mode QD EDH0162En1040 06 99 8 20 Newport MM4005 Appendix D Motion Program Examples Example 3 The MM4005 does not offer true circular interpolation but in many cases less demanding ap
204. axis will be stopped A motion interrupted with this command will stop using the programmed acceleration deceleration for each axis This is the preferred motion termi nation method NOTE This command does not terminate a program It only stops the motion in progress and permits execution of the rest of the command line or pro gram None A Unknown message code B Incorrect axis number AB Abort motion MF Motor OFF 2PA40 Move axis 2 to absolute position 40 2ST Stop motion on axis 2 Newport 3 123 EDHO162En1040 06 99 MM4005 SY Axis synchronization Usage Syntax Parameters Description Valeurs XX nn Units XX nn Defaults XX Description E IMM xxSYnn xx int nn int Out of range Floating point Out of range Floating point E PGM E MIP Axis number Synchronization code 1 to 4 Oorl None None Error B Error B Error A Error C Error C Error C Missing Missing This command defines if an axis should perform all subsequent motions as independent or synchronized moves When two or more axes perform a synchronized motion the load travels on a straight line in the defined coor dinate system This type of motion is also referred to as linear interpolation If the nn parameter is set to 0 the specified xx axis is defined as indepen dent non synchronized If nn is set to 1 the axis is defined as synchronized and all motio
205. ble and a 0 5 mm plotter pen or a laser beam controlled by a TTL line One possibility is to scan the symbol with a 0 5 mm spacing and fill it in with 0 5 mm lines The result will be similar to Fig D 5 Fig D 5 The solid lines show the actual pen trajectory Next we need to select a coordinate system For simplicity lets make the lower left corner of the trajectory the origin zero as shown in Fig D 6 Y Axis 2 Axis 1 Fig D 6 We decide to make the symbol 13 mm high and 17 5 mm wide But using a pen with a 0 5 mm wide tip the actual trajectory must be shrunk to 12 5 17 mm To control the pen up and down we will use bit 8 of the I O output port where logic high means pen down First we need to make sure that there is no other program in memory with the same name number We do this by listing the program number select ed or just by erasing it with the XX command Assuming that this program is being edited on a computer and then down loaded to the controller we also need to send the commands to enter and terminate the programming mode GD Newport 8 23 EDHO0162En1040 06 99 MM4005 Appendix D Motion Program Examples W 4XX 4EP CB 1PA0 2PA12 5 WS 8SB 2PR 12 5 WS 1PR0 5 W 2PA10 WS 1Y S0 1SY1 2SY1 1WL8 1PR0 5 2PR 0 596 SE WS 2PR3 SE WS 1PR0 5 2PR 0 596 SE WS 2PR 3 SE WS
206. bled NOTE The command is not allowed in local mode or manual jog mode Returns None Errors D Unauthorized execution Rel Commands MC Set manual mode ML Setlocal mode MR Set remote mode RE Enable display refresh Example SP 0 002 Set trace period to 2 ms 2T M2000 Set trace mode for axis 2 and 2000 data points 2PR0 1 WS Perform a motion of 0 1 units on axis 2 and wait for stop RD Disable display refresh for faster communication throughput 9TT Read trace sample 9 Controller returns trace data RE Enable front panel display refresh E O D EDH0162En1040 06 99 3 104 Newport MM4005 RE Enable display refresh E PGM E MIP This command enables the front panel display It is used after the front panel display refresh is disabled using the RD command Usage HIMM Syntax RE Parameters None Description Returns None Errors None Rel Commands MC ML MR RD Example SP0 002 2TM2000 2PR0 1 WS RD 9TT yel ap RE A Set manual mode Set local mode Set remote mode Disable display refresh Set trace period to 2 ms Set trace mode for axis 2 and 2000 data points Perform a motion of 0 1 units on axis 2 and wait for stop Disable display refresh for faster communication throughput Read trace sample 9 Controller returns trace data Enable front panel display refresh Newport 3 105 EDHO162En1040 06 99
207. cal position the actual position of all axes and the 4 analog inputs The number of samples stored is the one specified by nn and the sample interval is the one set by the SQ command To read the recorded trace data use the TQ command To disable the global trace mode set nn to 0 NOTE Since it starts executing immediately the best use of this command is in the same line of program with the displacement for better control of exe cution delays Returns Ifthe sign takes place of nn this command reports the number of possi ble max points in global trace mode Errors C Parameter out of limits Rel Commands NQ Read global acquisition nr SQ _ Set global sample rate TQ Read global trace data XQ Read global sample rate Example Q0 002 Setglobal trace sample period to 2 msec GQ500 2PR5 2WS A Set global trace mode for 500 data points perform a motion of 5 units on axis 2 and wait for stop TQ Read global trace data Newport 3 59 EDHO162En1040 06 99 MM4005 GR Set master slave reduction ratio Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 2GR100 EDH0162En1040 06 99 2GR 2GR100 E IMM E PGM MIP xxGRnn or xxGR xx int Axis number nn float New value of maximum allowed master slave following error Read the actual maximum allowed master slave f
208. ccccsceseees 2 34 Minimum EEEE E E 2 24 a variable Rene a Sr ode tiene 3 145 Driving Using RS 232 C Addressable Read desired sessen BAL actual POSITION sssssssssssssstsstrtrrnrns 3 136 Multiply variables 3 192 to reach and build anarc of circle f analog NpUt sisses 3 102 CX CY Define Y eenen 3 34 available MEMOTY sssrin 3 175 N to reach with anarc of circle f CX axis General parameters configura CY Define X sssrin 3 33 FENG E E eee estos lee 3 203 name incorrect Mechanical famill f et eee ee B4 WAlE TOF ssnin 3163 backlash compensation inn 168 N t iabl 3 184 LON KOE EEA E E A E 3 202 control loop typen aiii 3 127 PAE ee ROWER tana ans n a a nid controller activity se 3 142 NUMPET wssssssssssssssseesseeceeceeeeeeeceenseetssttsttiien Inhibition Connector s s s 1 14 8 9 controller extended status 3 143 of acquisitions Read 3 176 on Automatical execution on 3 47 Controller Status vss 3 139 Of MOTION AXES sisisi 1 9 Oil FINE E noe 1 21 controller VEFSION sssr 3 151 of WE commands does not match on Program Automatical Execution derivative gain factor 3 169 the number of open OOPS s s s 8 3 Ce er er eae eRe 2 16 desired acceleration s s s 3 35 out of range Variable 8 3 FEQUIFEMENES cece eeesteeeteetetenees 1 10 desired POSitiOn cesses 3 41 Selection AXIS sess 2 17 Stand by cudnt neat wiataa caue 1 15 desired velocity ccssssssseesceseen 3 43 Numeric Keypad eseese
209. cept this program number press the VALID key To select the number of time to execute this program enter a value with the numeric keypad and then press the VALID keypad to confirm this entry The program number default is 0 ron Motor OFF _ gt SETUP gt GEN gt UP gt MODIFY gt his aa lt gt gt VALID gt gt VALID gt CHANGE gt VALID gt QUIT gt Quit Profile Type This menu defined the type of velocity profile f way Ne TRAPEZOID or S CURVE The Scurve type avoids brutal changes of the speed in the course of axis displacement consequently it improves the platines quality of movement Press the UP key until the profile type appears Press MODIFY and then the CHANGE key to select S CURVE or TRAPEZOID To accept this entry press the VALID key Motor OFF gt SETUP gt GEN gt UP MODIFY gt CHANGE gt VALID gt QUIT gt QUIT Axis Setup The Axis Setup is entered by pressing the axes function key in the top level setup menu When activated the display changes to one similar to Fig 2 6 i Parameters for axis Component S DER AWL I 1P iP AXIS _ 9SELECTRRMODIFY QUIT Fig 2 6 Axis setup menu This menu is the top level Axis Setup menu labeled in the quick key sequence listing The first line displays the axis number to be reviewed The second shows the motion device stage connected
210. cesseceeeeseeeeeeecneeeeneteceseesseeeesieeeeeneeaes 3 4 Hardware Configuration cccccccseeeesseeeseeecseeeseeceeeeseeeteeneeas 3 4 COMMUNICATION Protocol oes ee eteteetete tent tees tetetestetetaees 3 4 3 2 SOMRMWAES wi fects stead desided ai iie enaa Eain ie Ea ia E iah 3 4 3 2 1 MOTION Suite ina aaa aa ait nian aaa 3 5 3 2 2 MOTION Ver itieiisten cade naticaresibeinatinumdeenahinarcatcntie 3 5 3 23 MOTION SEV Otitis d adie nner taster 3 6 3 24 MOTION Draws ndccidisiieica delice ienttaisnecsesniedottates 3 6 32 5 MONON PrO gimi hainipi ai 3 6 3 3 Communication PrincipleS ssssssessesesssrsisieiissisrsrsisrsntsrntsrsrnreinieirnrnne 3 6 RS 232 C Or IEEEA88 iinn na a aaa ave 3 6 Command LINES ee eeeeeeeeseseeseteeeeseeeeseeetaeetaenetaeeesaseenaseetetsees 3 6 Controller RESPONSES cecsseseseeeseeeeseeeteetaenetsetessseenseeenetsees 3 6 Communication Buffer eee eee cect etete tens ttete rete teeteteetetetaees 3 6 3 3 1 COMMANA Syntaks aiana eii AAN anaa 3 7 Command Format wise tecicecciesecessheteeaiceciienec tebe eee edeceies 3 7 Blank SpaCes sist tem tree nti one 3 7 Command Line siscsncheevashehdactauiadienaeieedeiate 3 7 Separatori e A dl aE ETATO Ka ae 3 7 TermiINatO nenns a Pate ce ae ere A A a 3 7 3 4 Command SUMMAa Yasmini iaa aa a aa dees 3 8 3 4 1 Command List by Category sssssssissssresersierrrsrsrrrrrsrserrerrrsnrere 3 8 General mode selection s ssssssssssssrsrssssssrsrsrsersrrisininitntienennniersrns 3
211. ch mechanical zero but do not search encoders top zero Units XX None nn None Defaults XX Missing 0 Out of range Error B Floating point Error A nn Missing 1 Out of range Error C Description This command executes a home search routine on the axis specified by xx If xx is missing or set to 0 a home search is initiated sequentially on all installed axes in the order specified in the General SETUP utility on the front panel For details on how to set the home search axes sequence see the System Setup paragraph of the Introduction section For a detailed description of the home search routine see the Home Search Motion Profile Section in the Motion Control Tutorial section NOTE There is a maximum allowed time for this command to execute defined in the front panel General SETUP menu If the motion device does not find the home position in the specified time the controller stops the search and turns motor power off NOTE This command should be executed once every time the power is turned on or the controller is reset by using the RS command There is no need to issue this command in any other case since the controller always keeps track of position even when the motor power is off Returns None Errors A Unknown message code B Incorrect axis number C Param tre hors limites Rel Commands DH Define home OH Sethome search high velocity SH Sethome preset position Example 30R1
212. cicnnianausini ninina ia 4 24 AdVantages iiien cio iraa ed E a ATAT 4 28 DISADVANTAGES eeeececeeeteteteeteteeteteeteeetetetsetetaetetaetanaecasieeesieees 4 28 AO 2 DE IMOCO MS wissitaceetieteetsguadietectecnciussitheceeds g actus ii 4 28 Advantages sanoaren Aaa leit ced en ets 4 29 DiSADVANEAGES ee eeececeeeeeteteeteceeteteetetetetetsetetaeeetaetanaecasieneseeees 4 29 ASD DINEE S wes cascedeti neces cel aA euatns teaner 4 29 4 7 1 Stepper Motor Drivers ccccccccccsceeeeeeeeeesieeeseneceeeseeenees 4 29 4 7 2 DC Motor Drivers oc cecccceeseeececeseeeeesteteesitesieneseneseseenes 4 31 GD Newport 4 1 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 4 2 Newport MM4005 4 Axis Motion Controller Driver Section 4 Motion Control Tutorial Motion Systems A schematic of a typical motion control system is shown in Fig 4 1 Controller X Y Stage Driver Fig 4 1 Typical Motion Control System Its major components are Controller An electronic device that receives motion commands from an operator directly or via a computer verifies the real motion device position and gen erates the necessary control signals Driver An electronic device that converts the control signals to the correct format and power needed to drive the motors Motion device An electro mechanical device that can move a load with the necessary specifications Cables Needed to inter
213. circular interpolation that closely approximates the desired trajectory Newport 5 7 EDH0162En1040 06 99 MM4005 Trajectory Functions Tutorial Ea Programming a Trajectory The following list describes the few rules that govern the trajectory pro gramming process and gives some examples A trajectory must be first defined and then executed NT ee ET Start new trajectory definition Define trajectory Execute trajectory e Trajectory definition commands and other controller commands can be intermixed Even though the controller will extract the appropriate com mands to build the trajectory for the clarity of the program this prac tice is not recommended NT ET Start new trajectory definition Define trajectory Other commands Define trajectory Other commands Execute trajectory e A trajectory can be defined once and executed any number of times To allow this feature all trajectories are defined relative to the starting point NT ree ET a xxPAnn ET Start new trajectory definition Define trajectory Execute trajectory Move to new trajectory start location Execute trajectory e During the trajectory execution the designated axes are unavailable for point to point commands e Oncea trajectory is defined it can be edited by deleting the last element and inserting or appending new elements NT ET LXnn xxPAnn
214. compare it with As described in the Command Syntax paragraph a line is defined as all commands between two line terminators Even though the command can be used on a line in immediate mode its primary use is inside a program None A Unknown message code C _ Parameter out of limits E _ Incorrect I O channel number L Command not at the beginning of a line IE Ifl O inputis equal If I O output bit 3 is low move axis 1 to position 2 34 QD EDH0162En1040 06 99 3 88 Newport MM4005 OH Set home search high velocity Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands E IMM xxOHnn xx int E PGM nn float XX nn XX XX Missing Out of range Floating point Missing Out of range Axis number Home search velocity 1to 4 0 000001 to Maximum motion speed defined in SETUP None Units sec Error B Error B Error A Error C Error C This command sets the high velocity of the HOME search algorithm of the selected axis For a detailed description of the home search routine see the Home Search paragraph in the Motion Control Tutorial section None A B C DO OR Example 30H10 AD Unknown message code Incorrect axis number Parameter out of limits Read home search velocity Search for home Set home search high
215. connect the other motion control components A Newport 4 3 EDH0162En1040 06 99 MM4005 Motion Control Tutorial If you are like most motion control users you started by selecting a motion device that matches certain specifications needed for an application Next you chose a controller that can satisfy the motion characteristics required The chances are that you are less interested in how the components look or what their individual specs are but want to be sure that together they perform reliably according to your needs We mentioned this to make a point A component is only as good as the system lets or helps it to be For this reason when discussing a particular system performance specifi cation we will also mention which components affect performance the most and if appropriate which components improve it 4 2 Specification Definitions 4 2 1 People mean different things when referring to the same parameter name To establish some common ground for motion control terminology here are some general guidelines for the interpretation of motion control terms and specifications e As mentioned earlier most motion control performance specifications should be considered system specifications e When not otherwise specified all error related specifications refer to the position error e The servo loop feedback is position based All other velocity accelera tion error etc parameters are derived from the posi
216. cs e POE PAT P O T TE 5 6 Error 4 5 Gain Saturation Limit Integral tee at 6 13 PINES i cetcaes Avec weeueches nie hlcveech eet 5 6 At Stop Not In Position ean Le de 75 General FrIEcOTY EEEN ES uganiti HP code Read oes eeceecteteteteteteteeeees 3 129 CONCEPES seses 2 38 Definition Of TerMs sceessesssseeeeeeen 5 3 during home search cycle 8 3 mode selection n e 3 8 Definitions nesnenin nonea During Motion Following 7 6 Parameters SAVE eects 3 101 Conventions And oo 1 5 FONOWING kosini 4 4 SetU teanna aiae 2 7 QAD EDH0162En1040 05 99 9 2 Newport MM4005 Index Generate Service request s 3 108 Immediate Mode eee 1 12 Communications Mode 6 19 Geometric CONVENTIONS woes 5 4 Incore Eea a a aa LOCal wii anithdihaiiiiiiitea diate ess Eor EEE TEA teres eaten AXIS NUMDEL cc eeseseeseessseessseeeeeeees 8 3 ACCURACY ataiantiwhhaiaaieanica 4 6 acquisition nr Read ww 3 85 1 0 channel number ues 8 3 Mode sssssssssseseen REE 1 11 sample rate Read vse 3 178 label NUMDET seess 8 3 Mode Operating MMasssssssesensssesenn 2 29 sample rate Set vices 3 120 Increasing Performance 7 5 Mode Programming IN oss 2 37 trace data REA 3 137 nerement rrr Mode Remote CommandsIn s 1 12 trace mode Set svresssssseeeeeeneen 3 59 ENCOQ Ern 2 21 ModE ETS e aa ate GPIO Connector cnn 1 13 8 13 MOOD Aa 2 21 oe ae P E E E E E AAEE z Ontol neeaaea Ground POSE seeen LIF Index pulSensniindniiiiniiuniiie 1 6 Cr
217. ction If we try to measure the positioning error of a certain target destination approaching the destination from different directions could make a significant differ ence In generating the plot in Fig 4 2 we said that the motion device will make a large number of incremental moves from one end of travel to the other If we command the motion device to move back and stop at the same loca tions to take a position error measurement we would expect to get an iden tical plot superimposed on the first one In reality the result could be similar to Fig 4 7 QAD EDH0162En1040 06 99 4 8 Newport MM4005 Motion Control Tutorial Hysteresis Position Fig 4 7 Hysteresis Plot The error plot in reverse direction is identical with the first one but seems to be shifted down by a constant error This constant error is the Hysteresis of the system To justify a little more why we call this error Hysteresis lets do the same graph in a different format Fig 4 8 Plotting the real versus the ideal posi tion will give us a familiar hysteresis shape Real Position Ideal Plot Real Plot Trajectory ideal position Fig 4 8 Real vs Ideal Position 4 2 9 Pitch Roll and Yaw These are the most common angular error parameters for linear translation stages They are pure mechanical errors and represent the rotational error of a stage carriage around the three axes A perfect stage should not rotate
218. current position of the axes in the TRACE buffer and generates a synchronizing pulse xx AQ nn To record the current position of the axes at the moment desired Where xx Axis number from 1to 4 nn Oorl nn 0 Without pulse nn 1 With pulse Example GQO Initialize of global trace buffer NT FA90 Initializing trajectory CR10 CA5 Element1 CA350 Element2 CA5 Element3 VV5 Settrajectory velocity to 5 units sec ET Displacement with generation of pulses WN2 AQ At the beginning of element 2 axis positions are recorded without synchronization pulse WN3 AQ1 At the beginning of element 3 axis positions are recorded with a synchronization pulse GD Newport 6 17 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial gy Executing Sub Routines in a Program EX Command The MM4005 is capable of executing complex programs containing sub rou tines The sub routines are blocks of commands that do not contain the EX com mand They are called by the main program Example 1EP 1PA10 2PA10 2EX 3EX 4EX OR QP 2EP SB 1AS This 2AS is 1CS S2 DS S1 a string WT 3000 QP 3EP 3AS a value 101Y 99 99 3CS Y 101 DS S1 S3 WT 3000 QP 4EP 1PR 20 WS 2PR 20 WS CB WT 1000 QP THIS IS A STRING THIS IS A VALUE 99 99 2K KK KOK KK KK Program 1 Main Program DKK OK KK KK KOK Enter program 1 Two axis movement Execute program 2 Execute program
219. d and only for rotary stages Axis Setup gt MODIFY gt UP gt MODIFY gt CHANGE gt VALID gt CD Set periodical display mode AD EDH0162En1040 06 99 2 20 Newport MM4005 Local Mode GD Newport Motor Increment This parameter is used only for stepper motors and tells the controller how much the motion device will travel for each motor increment By increment we mean one pulse going to the stepper driver not necessarily a full motor step Depending on the type of stepper driver the motor increment could be a full step a half step or a micro step The Motor Increment parameter should reflect the actual stage driver com bination A wrong setting will cause inaccurate closed loop operation For the PP families the Motor and the Encoder Increment resolution can be changed separately on condition that the new value of Motor Increment would be inferior of the actual value of Encoder Increment If you need to change the motor increment setting press the MODIFY key to modify the current value Use the numeric keypad to enter the correct value Press VALID to accept the new setting and return to the previous menu Pressthe up key to advance to the next parameter gt VALID gt Axis Setup gt MODIFY UP gt MODIFY gt QUIT gt QUIT gt YES gt QUIT Encoder Increment This parameter defines the physical tra
220. d return to the Line Entry menu Command generated RP repeat command line A Newport 2 41 EDH0162En1040 06 99 MM4005 Local Mode OUTPUT Set a bit on the I O output port This function will generate a command that sets an I O output bit to a spec ified state Use the numeric keypad to enter a number between 1 and 8 to select a bit or enter 0 to set all bits and then press vatip to accept the selection Next press the CHANGE key to specify the operation to be per formed on the bit set high set low or toggle Press the VALID key to accept the entry and return to the Line Entry menu Commands generated CB Clear I O output bit SB Set I O output bit TG Toggle l O output bit When all entries have been made on a command line use the NEXT key to find the screen in the Line Entry menu that has the valp function key and press it to save the line in memory and advance to a new one WHILE Loop Creation As mentioned earlier the Program Creation menu offers the choice of cre ating simple while loops NOTE Programs created from the front panel can have only simple while loops Remote programs could have up to 100 nested loops From the Program Creation menu press the WHILE key The next selection you have to make is the type of while loop The controller can do a check on an I O input bit or a variable thus the two choices are INPUT and VAR Pressingthe INPUT key will start a loop that
221. d in addition the values of analog inputs stored in the global trace buffer at the moment of theoretical and real positions acquisition Returns xxTQ xxTQ 1THnny 1TPnn2 2THnn3 2TPnng 3THNns 3TPnne 4THnny 4TPnng XXTQ1 xxTQ 1THnny 1TPnn2 2THnn3 2TPnng 3THNns 3TPnne 4THnny 4TPnng LRAnNg 2RANN0 3RANN 4RAnN2 xx Sample number nny NN3 nns NN7 Theoretical position of axes 1 2 3 and 4 respectively nn2 NN4 nneg NNg Actual position of axes 1 2 3 and 4 respectively nng NNyo NN NN12 Analog values of inputs 1 2 3 and 4 respectively NOTE If xx is set to 0 in the TQ command all samples are returned starting with number 1 each one on a separate line Errors Unknown message code Parameter out of limits Unauthorized execution Communication time out uoo Rel Commands a Set global trace mode Read global aquisition nr Set global sample rate vM zZ O O GD Newport 3 137 EDH0162En1040 06 99 MM4005 TQ Read global trace data cont Example SQ0 002 Set global trace sample period to 2 ms GQ500 Setglobal trace mode for 500 data points 2PRO0 1 WS Performa motion of 0 1 units on axis 2 and wait for stop 9TQ Read global trace sample 9 9TQ 1TH1 002 1TP1 001 2TH1 034 2TP 1 033 3TH5 002 3TP5 001 4TH1 402 4TP1 401 Controller returns global trace data for sample 9 9TQ1 Read global trace sample 9 with analo
222. d manual velocity E a E xx DO Read home search velocity E E E xx DP Read desired position E E E xx DS nn Display strings on screen E E xx DV pp Read desired velocity E E E xx DY nn Display a variable E E ED nn Display program error E E E EL Erase the last element of trajectory E E xx EO nn Automatical execution on power on E E xx EP nn Edition of program E ET Execution of trajectory E E xx EX nn Execute a program E FA nn Definethe tangent angle for the first point E ce xx FB aa Label function key FC Clear function key line ce FD Display function keys z xx FE nn Set maximum following error E E E xx FF nn Set maximum master slave following error E E FT nn Set output frequency a a E GQ nn Set global trace mode m E xx GR nn Set master slave reduction ratio E E xx IE nn Ifl O inputis equal E E E xx JL Jump to label a E KC Abort command line E E lizi xx KD nn Set derivative gain E E E xx KI nn Setintegral gain E E E xx KP nn Set proportional gain E E E xx KS nn Set saturation level of integral factor a a in position loop PID corrector xx LP List program E E xx LT Extended list of the trajectory E E LX nn Define X position and build a line segment f LX tangent LY nn Define Y position and build a line segment f LY tangent MC Set manual mode E E 3 13 EDH0162En1040 06 99 MM4005 Remote Mode
223. describes in detail the rules associated with the command format Controller Responses The MM4005 does not send any data out over the communication line unless asked to do so Even in the case of an error the controller does not send anything back If an error is suspected the user must query the con troller usually with the TE command This is particularly useful when designing complex programs using custom environments There is no need to constantly check the communication buffer if no transmission request was made During the application development the error buffer can be continuously checked When the program is finished and everything works fine the error queries can be eliminated to reduce unnecessary overhead Communication Buffer The controller has a separate input buffer and output buffer each 4096 characters wide A single command line however may not exceed 110 characters AD EDH0162En1040 06 99 3 6 Newport MM4005 Remote Mode 3 3 1 GD Command Syntax Command Format xx AA nn xx Optional or required preceding AA Command code nn Parameter can be represented by e A value or e An interrogation for certains commands or A variable Ypp or Saa for certains commands pp int value variable number 1 to 100 integers 101 to 120 floats aa int String variable number 1to 8 strings The general format of a command is a two character mnemonic A
224. desirable motion characteristics 4 11 EDH0162En1040 06 99 MM4005 Motion Control Tutorial 4 2 14 Velocity Regulation In some applications for example scanning it is important for the velocity to be very constant In reality there are a number of factors besides the controller that affect the velocity As described in the Minimum Velocity definition the speed plays a signifi cant role in the amount of ripple generated specially at low values Even if the controller does a perfect job by running with zero following error imperfections in the mechanics friction variation transmission rip ple etc will generate some velocity ripple that can be translated to Velocity Regulation problems Depending on the specific application one motor technology can be pre ferred over the other As far as the controller is concerned the stepper motor version is the ideal case for a good average Velocity Regulation because the motor inherently follows precisely the desired trajectory The only problem is the ripple caused by the actual stepping process The best a DC motor controller can do is to approach the stepper motor s performance in average Velocity Regulation but it has the advantage of sig nificantly reduced velocity ripple inherently and through PID tuning If the DC motor driver implements a velocity closed loop through the use of a tachometer the overall servo performance increases and one of the biggest beneficiary is
225. digits number of position dis SUCU E na 1 18 Factor Saturation Level in Position PID play Seta sich hee nnna 3 84 ZOPO Mata T a AA 2 32 Loop Corrector Integrator 6 21 ie ala Conversion Table Divide variables eee 3 186 Factory Service ssn 8 33 Selui Download EEPROM to RAM esee 3 74 Failure while accessing the EEPROM 8 3 E A P a sth gations Drivers eternon anna Devices Verifying 1 22 A E laut 429 Feed Forward LOOPS ssssessessssssse 4 15 Moderan on 6 20 filter parameters Read uu 3 130 Dee oroa E Firmware Updates c cceccsseesssseseseees 6 13 NOME nie increta 3 37 Editing Program 6 13 a o E T label E E deters eenen 3 38 Edition of PrOgraM veecsesssessssssssseeeseeseee 3 48 Eae PEE AEE T 2 4 radius for anarc of circle f CR MOVE naa 2 5 CA 3 31 EEPROMi a a Power On 13 eaten E Pailureminl accessindine 083 ee rE eden Or N sweep angle and build anarc of cir f Ce SF CR CA aAA 326 to RAM Download 3 74 Flow coco and Sequencing 3 10 the maximum allowed angleof dis Element sese bettrennneeeneeetnntent Following Error aa a a 4 4 COMMUN ossessi 3 18 number under execution Tell the During MOtION ssssssesssessseeseeesetesnees 7 6 the tangent angle for the first point 2 3 Too Large set adaieendacaman eed senmdadtanecajeeedaesay 75 Maes eee od ae E TEETE T 3 52 Parameters Trajectory D9 Read seoneeseeennnnesesssnsnesesssssnsnseesssns DO the vector acceleration on trajectory Trajectory sesh guesses ea p
226. e 1 20 1 4 1 Connecting Motion Devices sssesseseessrirrieieiirsrsiersrssrnensrss 1 21 1 4 2 First POWer Onin Gate headache E EE 1 21 1 4 3 Verifying Default Devices essssessseesrsreieieisrssiersrssenennrss 1 22 Section 2 Local Mode TRableof Contents sa a dannii alas 2 1 2 1 QUICK Start ic rea ade ne tee ad ee ve 2 3 ZEL Motor OD siaaa iaaa i 2 3 2 1 2 Home Motion DevV CeS sssssesseseirisiririririsiiersisinseininrnrnnnn 2 4 Z3 First JOO pennie ia e ia aai aeaa E a 2 4 2 14 FIrSEMOV ranirea a a a a 2 5 2 2 Controller Configuration s s ssssssssissessssrsrsiriiesintnrsrsrsrsrntsinrnrenninirerene 2 7 2 2 1 General Setup siscieiaseiedaceien ascii conieda inlet eneiadectienes 2 7 2 2 2 AXIS SQCUD saci ihur te eutliglete baited ih ats ted aan ie dy 2 16 2 3 Operating In Local MOC eect eeete ee eteteeneteteeetetteteeenesieees 2 29 23 1 HHOME S arCh itis atecaie acne on Nite vi eee ae ee 2 30 2 3 2 Manual J OG iriaren an ia aii 2 30 23 3 Zero DISPIAY iruren a a ae 2 32 2 3 4 Relative MOVES cccceseeeesecseeeesenecseneeseeeeetseeessenetaetetesataaeeeseas 2 32 2 3 5 Absolute MOVES cc c ciennnaininieeeniinien atiunideanee 2 34 2 3 6 Program EX CUtIONsscccicesscecteeiuecsnceseeneetetietentechienenteubineentnecncess 2 35 2 3 7 Axis Infinite MOVEMENE eect eeteeeetetetteteteteteteteeteneees 2 36 2 3 8 Stop Axis Infinite Movement 2 37 2 4 Programming In Local MOC cecccseseeeeeteeeetetetetettetteteneneeeeees 2 37 2 4
227. e 1PB 20 1PE0 1P12 1PA 50 1PS 1PA50 1PB10 1PE30 1PI1 1WP5 1PS3 TT Set start position of generation of pulses of synchronisation Set end position of generation of pulses of synchronisation Set step of generation of pulses Set start position for axis 1 to 20 units Set end position for axis 1 to 0 units Set step to 2 units Displacement without generation of pulses Allow generation of pulses Displacement with generation of pulses New PB New PE New PI Wait the axis 1 for 5 units Update PB PE PI Read data PT Calculate necessary time for axis displacement Usage WIMM E PGM MIP Syntax xxPTnn Parameters Description xx int Axis number nn Distance of displacement Range XX Oto4 nn Float Units XX None nn Actual unit Defaults XX Missing Error B Out of range Error B nn Missing Error C Out of range Error C Description This command calculates the necessary time for the displacement of axis xx of distance nn Returns The necessary time seconds for displacement of axis xx of distance nn Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits D Unauthorized execution Rel Commands None Example 1PT20 1PT1 25 Calculate the time for axis 1 displacement of 20 units Controller returns value in seconds aD EDH0162En1040 06 99 3 98 Newport MM4005 PW Save parameters
228. e CREATE key to enable the program creation mode Since the controller can store up to 100 different programs the first screen will ask which program number you want to create You can consider this number as the program name When retrieving a program you will call it by its assigned number Enter a program number on the numeric keypad and press VALID If a pro gram with this number name already exists a warning screen will appear In this case press YES to overwrite itor No to return to the Program mode and start over again Once a valid program number is accepted the controller enters the Program Creation mode As mentioned earlier the commands are grouped in categories To select a particular command the user must navigate through a number of screens menus An important controller characteris GD EDH0162En1040 06 99 2 38 Newport MM4005 Local Mode tic to remember is that it responds to command lines This means that when commands are entered they will be placed on the same command line until the line is terminated NOTE The controller is always able to create store or modify programs for all four axes even if all axes are not installed The first screen separates the program entries into two categories simple lines and while loops The menu has the following look LINE WHILE QUIT The quit function key exits the program creation mode The LINE key will start entering a simp
229. e MM4005 reads and calcu lates all important dynamic motion parameters Results are plotted on graphs corresponding to position velocity or following error MOTION Draw MOTION Draw is a 16 bit Windows 3 1x application which permits to per form the linear and the circular interpolation of the Newport MM4005 con troller It presents you a draw area where you can draw complex trajectory with lines and arcs It converts the drawing in MM4005 specific commands MOTION Prog MOTION Prog is a 16 bit Windows 3 1x application which helps you to write a Newport MM4005 controller program With its help online you easi ly describe your process in MM4005 specific commands NOTE A complete description of operatings and features of these programs can be found in the MOTION Suite Getting Started El Communication Principles The MM4005 controller follows simple conventions when interfacing with a computer or terminal Please read them carefully since they are the basis of the remote mode operation RS 232 C or IEEE 488 The MM4005 always listens to one of the two remote interfaces but never to both in the same time This is done to avoid potential conflicts that could occur if two computers are trying to control a motion device at the same time Command Lines The MM4005 responds only to command line instructions This means that no single or multiple character command is executed until a line terminator is received Section 3 3 1
230. e allow generation of pulses for an axis If a condition is not satisfied the generation of pulses is disabled and the command returns an error If nof pulses are generated in the course of axis displacement At every moment where a pulse is generated e If pp 0 or missing actual position of xx axis is stocked in the axis trace buffer and can be reread by TT command e If pp 1 actual positions of all axis are stocked in the global trace buffer and can be reread by TQ command e If pp 2 actual positions are not stocked If pp 3 this command is used on line axis in mouvement to update PB PE or PI commands that are newly entered The pulses are generated on pin 11 of the 25 pin auxiliary connector with a pulse width of about 5 usec NOTE This command if successful erases the effect of trace mode precedently defined by TM command if pp 0 or missing or the effect of trace mode precedently defined by GQ command if pp 1 NOTE This command if used with pp 3 must precede immediately PA PR or SE command NOTE The starting and ending axis motion must be out of the interval defined by PB and PE commands Returns None Errors A Unknown message code B Incorrect axis number D Unauthorized execution f Synchronization pulses generation impossible GD Newport 3 97 EDH0162En1040 06 99 MM4005 PS Allow generation of pulses on motion cont Rel Commands PB PE PI Exampl
231. e executed with the new value NOTE The user set acceleration is not saved in the nonvolatile memory After power on the controller will use the default value the maximum allowed acceleration NOTE Avoid changing the acceleration during the acceleration or deceleration periods For more predictable results change acceleration only when the axis is not moving or when it is moving at a constant speed Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands DA _ Read desired acceleration VA Set velocity PA _ Moveto absolute position PR _ Moveto relative position Example 2DA Read desired acceleration of axis 2 2DA10 Controller returns an acceleration value of 10 units sec 2PA15 Move to absolute position 15 units WT500 Wait for 500 ms 2AC4 Set axis 2 acceleration to 4 units sec 2DA Read acceleration of axis 2 2DA4 Controller returns an acceleration value of 4 units sec GD Newport EDH0162En1040 06 99 MM4005 AD Define the maximum allowed angle Usage Syntax Parameters Description or Range Units Defaults Description Returns Errors Rel Commands of discontinuity E IMM E PGM MIP ADnn or AD nn double Maximum allowed discontinuity angle value nn Read the actual maximum allowed nn 0 001 to 10 0 nn Degrees nn Missing 0 001
232. e expected Trajectory Line x y Too big discontinuity Trajectory Units not translationnal or not identical Define Y position and build a line segment f MX MY Tell the last element Clear trajectory Define X position of a line segment f x y Define Y position an build a line segment f x y Tell last element Controller tells the built element GD EDH0162En1040 06 99 3 78 Newport MM4005 MY Define Y position and build a Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands line segment f MX MY E IMM E PGM MIP MYnn nn double Y coordinate to reach with a line segment nn 1 0 E to 1 0 EP nn Preset units in SETUP mode nn Missing Error C Out of range Error C This command defines to the controller the Y position to reach and tells to the controller to build an element of trajectory of the type Line segment f MX MY C Parameter out of limits S Communication time out V Too long trajectory Y Trajectory Line x y Line expected Z Trajectory Line x y Too big discontinuity e Trajectory Units not translationnal or not identical MX Define X position for a line segment f MX MY XE Tell the last element Example NT Clear trajectory MX10 Define X position of a line segment f x y MY10 Define Y position an build a line s
233. e of the ibwait and ibrsp functions in a typical SRQ servicing situation when automatic serial polling is enabled include decl h char GetSerialPollResponse int DeviceHandle char SerialPollResponse 0 ibwait DeviceHandle TIMO RQS if ibsta amp RQS printf Device asserted SRQ n Use ibrsp to retrieve the serial poll response ibrsp DeviceHandle amp SerialPollResponse return SerialPollResponse The MM4005 Controller is an IEEE 488 device in which the SRQ is always enable It will respond accordingly to the National Instruments example When the queried data will be ready the MM4005 will assert the SRQ line and in the serial poll response bit 6 will be set Requesting service and bit 7 manufacturer defined will be set Message Availiable After that you can use the ibrd command to retreive the data from the MM 4005 QD EDH0162En1040 06 99 8 8 Newport MM4005 4 Axis Motion Controller Driver C Connector Pinouts Labeling Conventions All pinout diagrams in this section use the following labeling convention AGND Analog ground DGND Digital ground N C gt Not connected UTIL gt Test utility signal DO NOT USE MAY BE ENERGIZED l gt Input o gt Output WARNING The company assumes no responsability for the use of any UTIL labelled pin Power Inhibition Connector 9 Pin D Sub This connector is provided for the wiring of one or more re
234. e thie REAA Eyents tonere peta se aaticedenaets camteyeecee nc ROSPONSOS aisiccainsasiakiacaidat 3 6 Digital filter parameters 3 9 Motion Synchronizing 6 3 status Read essees 3 139 DIMENSIONS 1 10 Trajectory Elements Synchronizing version Read essere 3 151 Disable display refresh vss 3104 fe aeinn sieeeeasnsuaneseensnsnanins 6 6 Conventions And Definitions eses 1 5 displacement units Read s 3 135 Trajectory Position Serene Copy variable 3 201 n E E es Td E E A i Display A E E 1 10 EX CULE a PFOQFAM cesssnssssneseeneensen 351 CPU ty Peeters 19 Display a variable s s s Se arcing Subroutine ine Praarai 618 Creating a Program sses 2 38 Configuration sesser 1 16 g gramo Creaton Command E Nessa saas 2 39 function KEV ee eee 1 16 3 55 Execution of A Sunt T ANE TUNGCEIONS een ran E 3 11 of a Trajectory seeren 5 10 cycle value and activate periodic dis Organization cece 1 16 Of trajectory oo sseeesssssesseessneeseen 3 50 Play mode Set 3 28 DFOGLAM eOr 3 45 on Power On Automatic Program 6 9 D refresh DiSable ccccccccccccssccseseees 3 104 Program O A aware 2 35 428 refresh Enable 3 105 Unauthorized occ 8 3 DC motor i SS ASRS Gb A GO A F T a 1 9 Resolution w eccecccececssscesssscsesseneees 2 29 Extended list of the trajectory RAN 3 68 contro POPPER EERE EEE eee Eee eee rere eee F strings ON SCLECN nn 3 42 DNVERS Anana 4 31 StatUS ceccccccccccocccceccsceccececcecescesescesees 1 17 F decimal
235. ead backlash compensation E E E xx ZT nn Read Axis General parameters configuration E E 3 9 EDH0162En1040 06 99 MM4005 Remote Mode EDH0162En1040 06 99 Command Description IMM PGM MIP 1 O functions xx AM nn Set analoginput mode E E E xx CB nn Clear I O outputs bits E m E FT nn Set output frequency a a a xx RA Read analog input E E xx RB Read I O input E E E xx RO Read O output E E E xx SB nn Set I O output bits m E SO nn Set I O output byte E E E xx TG nn Toggle 1 O output bits E a E xx YO nn Send a value to an user analog port E E xx YR nn Read a value from an user analog port and affect variable E E E Programming AP Abort program E a E xx CP Compile program E xx EO nn Automatical execution on power on E E xx EP nn Edition of program E xx EX nn Execute a program E xx LP List program E E MP Download EEPROM to RAM E E QP Quit program mode E SM Save program E xx XL nn Delete one line of program E XM Read available memory E E E xx XX Erase program E Flow control and sequencing xx DL Define label E Xx IE nn Ifl O input is equal xx JL Jump to label E E KC Abort command line E E E xx OE nn Test1 O output RP nn Repeat command line E E E RQ nn Generate service req
236. eation WH Bess cc cesieocdec 242 H Infinite MOVEMENE essre 3 77 End While raana 3 155 AX So oes ee Neuere ced 2 36 en a Meee eee Seep Oe en ae 4 14 r sessonnnenvcstnsonnsnesenensnin a SOP AK S ian ei aniei n 2 37 Pat ae e er R 4 14 onfiguration sses iene REQUIFEMENES so cceccscescseussorseensen 73 sei variablen re 3 198 i PID cries sins tree aea E 4 15 integral gain s ssssissessssisssrresrerisrrsresrsrses eLo oR E menitedivansadhelireettaavee ine ee ee See facton Redd ennei 3173 ContOl vessvcsnesesnenenereeneneen 4 13 a ie eg ee nee ees Saturation Limit en 6 13 Feed Forward sessscscscsesrss 4 15 Motion Devices ssscsssserssers 2 4 Set 364 PID Servo 4 13 Presei aeea cient aed 2 25 EUa eeneaet era oi Eki reata eiia Bere RNE A E E A NA preset position Read 3 172 Integrator Factor Saturation Level in M preset position Set wc 3 114 Position PID Loop Corrector 6 21 SEAFCh scere 1 6 2 30 4 18 Interface Manipulation Variable 3 11 search acceleration Set 3 87 Connector IEEE 438 cccccccccccsesees 8 16 Manual oes eassseessetessnenssens search cycle Error during 8 3 EEE AGO sae tes nek eee 3 4 JOG dnan an RAR a 2 30 Search fO saessessssssessssntesssneesssen 3 91 RSS ia T E ain 3 4 MOE a 3 71 search high velocity Set 3 89 Selecting the ssescessesssevssvsssvesseseeeees 33 SPCCC rssssssccsssssssssnssesessesssassnsesenees 2 23 search low velocity Set 3 90 city eet eee Neeeniet
237. ecific application Load acceleration stage orientation and performance requirements all affect how the servo loop should be tuned for best results Hardware Requirements Tuning is best accomplished when the system response can be measured This can be done with external monitoring devices but this can introduce errors The MM4005 controller avoids this problem by offering a Trace capability When Trace mode is activated the controller can record real and desired positions simultaneously These are the basic pieces of information that the controller uses to calculate the PID filter The sample interval can be as fast as the servo update cycle 0 0005s and the total number of samples can be up to 4000 points With these powerful capabilities there is no need for additional hardware to perform servo tuning Software Requirements The MM4005 controller offers two types of trace capabilities One is a sin gle axis Trace mode supported by the SP XS TM XN and TT commands and the other is a Global Trace mode in which all axes are sampled This is controlled by the SQ XQ GQ NQ and TQ commands The two modes are completely independent Performance data for tuning can be acquired in two ways you could write custom software using the commands mentioned or use the NMCServo NEWPORT software that has all the necessary functions including plotting performance and saving the results For a detailed description of the NMCServo software and
238. ectory acceleration XU10 0 Controller tells trajectory acceleration GD EDH0162En1040 06 99 3 180 Newport MM4005 XV Tell the vector velocity on trajectory trajectory velocity Usage WIMM E PGM E MIP Syntax XVnn Parameters Description nn int Oorezl Defaults nn Missing 0 Description This command retrieves from the controller the current trajectory velocity or Max Trajectory Velocity MTV Returns XVaa aa The current trajectory velocity if nn missing or 0 aa MTV if nn greater or equal 1 Errors S Communication time out Rel Commands VV Define the vector velocity on trajectory trajectory velocity XU _ Tell the vector acceleration on trajectory trajectory acceleration Example VV5 Define 5 units sec as trajectory velocity XV1 Read MTV XV10 0 Controller tells MTV XV Read trajectory velocity XV5 0 Controller tells trajectory velocity GD Newport 3 181 EDHO162En1040 06 99 MM4005 XX Erase program Usage HIMM Syntax xXxxXX Parameters Description xx int Range XX Units XX Defaults XX Description mand Returns None Errors A F Rel Commands LP MP Example 3XX 3EP sil 3QP 3CP 3CP O PGM MIP Program number Oto 127 None Missing 0 Out of range Error F Floating point Error A This command erases one or all motion programs loaded in the controller s RAM It does not e
239. ectory stop the trajectory execution do not reach the desired element the command exe cution breaks and returns an error Usage IMM Syntax WNnn Parameters Description nn int Range nn Units nn Defaults nn Description Returns None Errors C D n Rel Commands None Example NT FA90 CR10 CA5 CA350 CA5 VV5 ET WN2 5SB WN3 5CB NOTE This command must be used in a program Parameter out of limits Unauthorized execution Initialisation Element 1 Element 2 Element 3 Set trajectory velocity to 5 units sec Trajectory execution with generation of pulses At the beginning of element 2 set I O ouput bit 5 At the beginning of element 3 reset I O ouput bit AD EDH0162En1040 06 99 3 162 Newport MM4005 WP Wait for position Usage HIMM E PGM E MIP Syntax xxWPnn Parameters Description xx int Axis number nn float Position to wait for Range XX O0to4 nn Starting position to destination of axis number xx Units XX None nn Preset units in SETUP mode Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error D Description This command stops the program execution until a position is reached The program continues executing the immediate following commands only after axis xx reaches position nn NOTE Make sure that position nn is inside the travel of axis xx The controller cannot
240. ectronic gear ratio AD EDH0162En1040 06 99 6 8 Newport MM4005 Feature Descriptions Tutorial 6 3 Automatic Program Execution on Power On EO Command or from the Front Panel When the power is turned on after the initialization the MM 4005 controller can start executing a specified stored program a pre defined number of times This function can be setup on the front panel Motor OFF gt SETUP gt GEN or through the remote command EO automatic Execution on power On The status of this mode can be read with the EO command Before executing the desired program the controller executes MOTOR HOM and aHOME search on all installed axes Example On start up MM4005 executes an absolute motion of 40 mm on axis num ber 1 1XX Erase program 1 1EP Edit program 1 1PA40 Move axis 1 to absolute position 40 mm 1SM Save program in non volatile memory 1EO Execute program 1 one time on power on 6 4 Continuous Motion MV Command Some applications require that one or more axes be moved continuously This usually applies to rotary axes where the limit switches can be eliminated QP Exit program edit mode A continuous infinite motion is defined with the MV command and is gov erned by the following rules The MV command starts a motion on the selected axis The velocity is set by the usual xxVAnn command The command format is xx MV For motion in positive direction xx M
241. ed and put its ASCII code in variable 7 FC Clear function key display line AD Newport 3 53 EDH0162En1040 06 99 MM4005 FC Clear function key line Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP FC None This command clears the function key line displayed by the FD or WF com mands It is intended to be used in conjunction with the FB FD and WF commands to build front panel interactive programs NOTE The command is valid only in programming mode applying only to the custom defined function keys not the ones used by the normal operation of the controller None A Unknown message code J Command authorized only in programming mode FB _ Label function key FD Display function keys WF Wait for function key 3XX Clear program 3 from memory if any 3EP Activate program mode and enter following commands as program 8 4FBSTOP Define custom label for function key 4 as STOP ae ve ae Display the custom function key label s STOP wait for a valid function key to be pressed and put its ASCII code in variable 7 FC Clear function key display line GD EDH0162En1040 06 99 3 54 Newport MM4005 FD Display function keys E PGM E MIP This command displays the function keys defined with the FB command It is intended to be used in conjunction with the FB FC and
242. eed dite Gini 1 10 PrOQraMMING aise such een aA a aaa a 1 10 Program MEMOLY cc cisiaeier iia eiiean aae ainda 1 10 Display waren ek hha eee ane ee ee 1 10 DIMENSION Siaina ai a alan d dealt eine 1 10 Power requirements ce cecstseeteeceteeeeteeeteetaetesaetatsetassanetaeees 1 10 PUSCS A T in dint aid dalennau 1 10 Operating CONCITIONS oo eects saei iina 1 10 Storage cOnditiONS ices nitive aag 1 10 Weigh tenoria hint ida ciniraien anda 1 10 Newport 11 EDH0162En 1040 06 99 Table of Contents Section 1 1 4 1 3 3 Modes of Operation 0 cccccssseeeeseeeeeeeeeeeseeesneteeesseeneees 1 11 LOGALE MO dG Aviat sditaunc aint denen sieved inane 1 11 REMOTEM Ode ferenn a wean a al 1 12 Immediate Mode nosie a a anan 1 12 Remote Commands In LOCAL Mode sssseen 1 12 1 3 4 Rear Panel Description sssssssssssssrsrssssrsssisisinnnreststnitiensinnnnnnrnnns 1 13 AXIS MOQUIES ieia n a aaa 1 13 GPIO CONNEC TO irori anarai EA ARA R TREA R 1 13 Power Inhibition COnnector sesser 1 14 Auxiliary CONNECT ccc iei asennad nna 1 14 Remote Control CONMECtOF oo eceeeeeeteeeceteeteteetetettecneteneeees 1 14 RS 232 C C ONNCClOM ceca irra rA O TOT 1 14 JEEE 488 CONMMECCOL esanari aAA AAA 1 14 Power Switch Entry Module cccceseeeeseseteeseteeseeessecneeeneees 1 14 Ground Postieri fitesantratiad Menten Mindat ni detainees 1 14 1 3 5 Front Panel DeSCriptiOn no ccc cee e eee eteeettetsetetieteseteneees 1 15 Power Stand by 2 4 earn des
243. eed to know the errors for all possible motions Since this is practically impossible an acceptable com promise is to perform the following test Starting from one end of the travel we make small incremental moves and at every stop we record the position Error We perform this operation for the entire nominal travel When finished the Error data is plotted on a graph similar to Fig 4 2 Error Max Error Position Fig 4 2 Position Error Test The difference between the highest and the lowest points on the graph is the maximum possible Error that the motion device can have This worst case number is reported as the positioning Accuracy It guaranties the user that for any application the positioning error will not be greater than this value 4 5 EDH0162En1040 06 99 MM4005 Motion Control Tutorial 4 2 4 Local Accuracy For some applications it is important to know not just the positioning Accuracy over the entire travel but also over a small distance To illustrate this case Fig 4 3 a and Fig 4 3 b show two extreme cases Error Max Error t Position Fig 4 3 a High Accuracy for Small Motions Error Max Error Position Fig 4 3 Low Accuracy for Small Motions Both error plots from Fig 4 3 a and Fig 4 3 b have a similar maximum Error But if you compare the maximum Error for small distances the sys tem in Fig 4 3 b shows significantly larger values
244. efinition of the I O port please see Appendix B Connector Pinouts GPIO Connector None A Unknown message code E _ Incorrect I O channel number RO Read I O output SB _ Set 1 O output bits SO Set I O output port byte TG Toggle l O output bits Set I O output port bits number 6 7 and 8 low Newport EDH0162En1040 06 99 mm4005 CD Set cycle value and activate periodic display mode Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 25Furm80app 2CD360 2MV E IMM E PGM MIP xxCDnn or xxCD Axis number New value of cycle value Oto 4 0 to Distance equivalent to 1932735283 encoder counts 0 9 MAXLONG Distance equivalent to 1932735283 encoder counts to 0 None Actual displacement unit mm um In xx int nn double XX nn XX nn Error B Error B ErrorA Stop periodic display mode Error C XX Missing Out of range Floating point nn Missing or 0 Out of range This command sets new value of cycle in the periodic display mode and activate this mode During axe movement in each cycle the displayed values of positions change between 0 and nn as followings e Ifmn gt 0 Start 0 end nn if positive displacement Start nn end 0 if negative displacement Start nn end 0 if positive displacement Start 0 end nn
245. eger variables 32767 to 32767 are indicated by Ynn nn 1to 100 e The floating point variables 1 7 E304 to 1 7 E304 are indicated by Y pp pp _ 101to 120 Commands that use the Ynn variables AC AD AM AQ AS CA CB CD CR CS CX CY DA DS DV DY ED EO EP EX FA FB FC FD FE FF FT GQ GR IE KD KI KP KS LX LY MH MX MY NB NE NI NN NP OE OH PA PB PE PI PR PS RP SB SC SD SH SL SO SP SQ SR SS SY TG TM VA VS VV WA WG WH WI WL WN WP WS WT WY XL XU XV YA YC YD YE YF YG YL YM YN YO YR YS YY Commands that use the Snn variables AS CS DS SF SN WK Example 1 1AS This Affects This in variable S1 S1 This 2ASis Affects is in variable S2 S2 is 3AS Affects in variable S3 S1 1CS S2 Concatenate S2 to S1 S1 This is 1CS S3 Concatenate S3 to S1 S1 This is 1CS a string Concatenate a string to S1 DS S1 Contents of variable S1 THIS IS A STRING Displayed on the controller s screen Example 2 2YS0 Initialize the variable 2 to zero 2WL10 While the variable 2 is less than 10 1PR2 WS Move 2 units wait for stop 1YO Y2 Send the value of variable 2 to analog port number 1 2YA1 Variable 2 is incremented WE End of loop QD EDH0162En1040 06 99 6 16 Newport MM4005 Feature Descriptions Tutorial 6 16 Asynchronous Acquisition AQ Command The AQ command saves the
246. egment f x y XE Tell last element XE Line x y 10 10 45 Controller tells the built element GD Newport 3 79 EDHO162En1040 06 99 MM4005 NB Set trajectory element Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example where gIMM E PGM NBnn or NB nn int nn nn nn Missing Out of range the generation of pulses starts MIP Number of trajectory element where the pulses genera tion commences Read the number of trajectory element where the puls es generation starts 1 to 100 None 1 Error C This command sets number of trajectory element where the generation of pulses commences The generation of pulses is started immediately in the beginning of this element NOTE As the total element number of a trajectory may be inferior than 100 and the value of NB must be lt the value of NE lt the total element number this value of NB will be reexamined in NS and ET commands If the sign 2 takes place of the nn value this command reportes the num ber of trajectory element where the generation of pulses commences A B C D NB3 NB NB3 Unknown message code Incorrect axis number Parameter out of limits Unauthorized execution Set trajectory element where the generation of pulses ends Set step curvi linear distance between synchronisation pulses Set
247. el Commands LP List program MP Download EEPROM to RAM SM Save program XX Erase program Example XM Read available program memory XM29873 Controller returns 29873 bytes of available program memory 1XM Read the length of the program number 1 1XM15 The length of program 1 is 15 bytes 100XM Read the length of the program number 100 100XMO The program 100 does not exist GD Newport 3 175 EDH0162En1040 06 99 MM4005 XN Read number of acquisitions Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP XN None This command reads the current number of trace acquisitions During a trace mode initiated by the TM command the number of stored samples can be read to monitor the progress of the acquisition process XNnn nn Nnumber of acquired samples S Communication time out None SP 0 005 Settrace sample period to 5 ms 2TM1000 Enable trace mode for axis 2 and acquire 1000 samples 2PR0 2 Starta relative motion on axis 2 and the acquisition process XN Read the number of samples acquired XN157 Controller reports 157 trace samples acquired XN Read the number of samples acquired XN342 Controller reports 342 trace samples acquired 2WS XN Wait for stop and read the number of samples acquired XN1000 Controller reports 1000 trace samples acquired GD EDH0162En1040 06 99 3 176 Newport
248. elocity Range nn gt 0 to Max Trajectory Velocity MTV Units nn Units sec Defaults nn Missing MTV Out of range Error C Description This command defines the vector velocity on trajectory that the controller uses to start and stop execution of the trajectory In association with the trajectory acceleration this will define the necessary time to reach the tra jectory velocity NOTE The controller calculates automatically MTV for the trajectory to execute set of trajectory elements entered before this command one time this command is entered and limits the trajectory velocity to MTV if the para meter entered is greater than MTV It is then pratical to read MTV just before this command with help of the command XV1 and to read assigned trajectory velocity after this command with help of the com mand VV or XV In fact MTV is defined as the minimum value of minimum value of maximum allowed X assigned axis and Y assigned axis velocities and of minimum value of all trajectory arc elements maximum allowed contouring velocities that are calculated as square of product of maximum allowed trajectory acceleration MTA with arc element contouring radius V MTA Radius Returns Ifthe sign takes place of the nn value this command reportes the actu al trajectory velocity value Errors C Parameter out of limits S Communication time out Rel Commands VS Define the vector acceleration on trajectory trajectory accele
249. er one of the comput er interfaces e Program execution mode execution of a stored program initiated either remotely or from the front panel or execution of a program at power on e Trajectory execution Programming e Remotely via the computer interface e From the front panel Program memory e 30 KB 30 760 bytes non volatile Display e Fluorescent backlit LCD e 40mm x 130 mm 6 lines by 30 characters e Displays position status utility menus program viewing and editing screens and setup screens Dimensions 5 28 3U H x 19 W x 15 6 D in 134 x 483 x 395 mm Power requirements e Power supply with PFC Power Form Corrector 90 to 264 V 50 60 Hz e Motors off 100 VA max e Motors on 570 VA max Fuses e ACline only Line Voltage Fuse Type T10A 250 VAC Operating conditions e Temperature 0 to 40 C e Humidity 85 Altitude lt 1000 m Storage conditions e Temperature 15 to 45 C e Humidity 85 e Altitude lt 1000 m Weight 181b max 8 kg max AD EDH0162En1040 06 99 1 10 Newport MM4005 Introduction GD Newport 1 3 3 Modes of Operation LOCAL Mode In LOCAL mode the MM4005 is operated through the keys on the front panel The display and function keys allow the selection of menus and operations that can be performed without using an external computer LOCAL MODE MOTOR E MOTOR N HOME SETU
250. er program in memory with the same name num ber If you are operating the controller from a remote computer start by issuing the XX command for that program number Then enter the pro gramming mode by using the EP command If you enter the program from the front panel ignore these two and the QP commands 1XX 1EP 1VA4 1PA10 1WS 2VA4 2PA5 2WS 2VA2 1PA0 2PA0 1QP Erase program 1 if it exists Enter programming mode and store all entries as program 1 Set velocity of axis 1 to 4 mm sec Move axis 1 to absolute position 10 mm wait for axis 1 to complete motion Set velocity of axis 2 to 4 mm sec Move axis 2 to absolute position 5 mm wait for axis 2 to complete motion Change velocity of axis 2 to 2 mm sec Move axis 1 to absolute position 0 mm and axis 2 to absolute position 0 mm End of program quit programming mode EDH0162En1040 06 99 MM4005 Appendix D Motion Program Examples Example 2 In the previous example to generate the diagonal line the third motion segment both axes must move simultaneously This is achieved by taking two special precautions the commands are placed on the same line to insure a good start synchronization and the velocities are modified such that the motions will end in the same time But if you would measure very accurately the precision of this diagonal line you would notice some errors due to imperfect start synchronization and an incorrect acceler
251. eration on trajectory trajectory acceleration VV Define the vector velocity on trajectory trajectory velocity Example NT Start new trajectory LX10 Element 1 CR20 CA90 Element 2 LY40 Element 3 NB2 Setstarting point of synchronisation pulses beginning of element 2 NE2 Set ending point of synchronisation pulses end of element 2 NI0 1 Set step generate pulses for every curvi linear trajectory step of 0 1 unit VV5 Settrajectory velocity of 5 units sec VS40 Set trajectory acceleration of 40 units sec NS Allow generation of pulses on interpolation ET Execute trajectory WN2 Wait for beginning of element 2 1SB Set O ouput port number 1 WN3 Wait for beginning of element 3 1CB Clear I O ouput port number 1 QD EDH0162En1040 06 99 3 50 Newport MM4005 EX Execute a program Usage Syntax Parameters Description Range Units Defaults Description Returns Errors BIMM PGM MIP xxEXnn xx int Program number nn int Number of times to execute the program XX 1to127 nn 1to 2147483648 XX None nn None XX Missing Error F Out of range Error F Floating point Error A nn Missing 1 Out of range Error C Floating point Decimal part truncated This command starts executing a program When the command is received the controller first compiles the program checking for errors similar
252. erator can use to determine the Minimum Incremental Motion by its own standards 4 7 EDH0162En1040 06 99 MM4005 Motion Control Tutorial 4 2 7 4 2 8 Relative Error 100 80 60 40 20 1 2 3 4 5 6 7 8 9 10 11 Motion step size in resolution increments Fig 4 6 Error vs Motion Step Size Fig 4 6 shows an example of such a plot The graph represents the maxi mum relative error for different motion step sizes In this example the Minimum Incremental Motion that can be reliably performed with a maxi mum of 20 error is one equivalent to 4 resolution encoder increments Repeatability Repeatability is the positioning variation when executing the same motion profile Assuming that we have a motion sequence that stops at a number of different locations the Repeatability is the maximum variation in posi tion all targets when the same motion sequence is repeated a large number of times It is a relative not absolute error between identical motions Backlash Hysteresis For all practical purposes Hysteresis and Backlash have the same meaning for typical motion control systems The term Hysteresis has an electro magnetic origin while Backlash comes from mechanical engineering Both describe the same phenomenon the error caused by approaching a point from a different direction All parameters discussed up to now that involve the positioning Error assumed that all motions were performed in the same dire
253. eribe cicdaleindeleh Mian a a A a ais 1 6 Controlleren eea aa A a 1 6 ENnCOd M peniana nan aeaa a led a adei ia 1 6 F nction Keyrir ai a aia 1 6 HOME POSICION siiseveccdediiesdveeessceneisinariecenieeanatvenenesednas 1 6 HOME SCAR CR ieee ehett fel a RG 1 6 INdeX puls En nines aetna al em Rad 1 6 OG E E T saci E A 1 6 M M4005 controller sassssssssssssssrsrsissssssrsisinsnrtrininennensrnnnnnnisrsrsnnnnna 1 6 Motion devices et aatar ea tse 1 6 MOVE Aviansie amd nnn binned RAA 1 6 OUI QUIN iiaa Dea Sle tran vs ecleove hile Pattee eel Be 1 6 OFIGINSWITCHh2 natin Boalt ented alae etait d 1 6 PID Patapon tate teh de a aa 1 6 REMOTE ciune enra titania EAA 1 6 a ol E AE E A E 1 6 1 3 General Description ss sssssssssssssrssisereritinsntntensnsitntntnintntnntnnnnnnnnnnnnnnannnnna 1 7 P31 Features iana a a ET a aeni ERa a ai aaae 1 9 1 3 2 Specifications anenee anii 1 9 FUNCUON ieietu ienai nain E edina EaR ire dania raaa TAAN 1 9 Number of motion aXe ssessesserisrsreieiriisrsreirisrnsrininrnrnnnnnn 1 9 Trajectory type on eeccccseseeseteeeeteeeteeetetecseeessetecaetanseeeesteetseaeeas 1 9 Motion device compatibility sseseesrsrrrresresrnnnn 1 9 CPU bY POs ea aa aaia aa ANENE Ia daaa 1 9 DC motor Control maneni a ia 1 9 Stepper motor CONEIOL minene a aai a a adian 1 9 Computer interfaces ccecssssesesseseeeeseeetsenesenecetessetstaseeneees 1 10 Utilitysintertace cvewke anand ad an aan ee Ma 1 10 Operating Modes ainn
254. erses direction and executes D and E with one tenth of the programmed home search speed In the case when the motion device starts from the other side of the origin switch transition the routine will look like Fig 4 25 A a 8 C a Origin Switch Encoder Index Pulse Fig 4 25 Origin Search From Opposite Direction The MM4005 moves at high speed up to the origin switch transition seg ment A and then execute B C D and E All home search routines are run so that the last segment E is performed in the positive direction of travel CAUTION The home search routine is a very important procedure for the position ing accuracy of the entire system and it requires full attention from the controller Do not interrupt or send other commands during its execu tion unless it is for emergency purposes QD EDH0162En1040 06 99 4 20 Newport MM4005 Motion Control Tutorial 4 5 Encoders PID closed loop motion control requires a position sensor The most widely used technology by far are incremental encoders The main characteristic of an incremental encoder is that it has a 2 bit gray code output more commonly known as quadrature output Fig 4 26 Fig 4 26 Encoder Quadrature Output The output has two signals commonly known as channel A and channel B Some encoders have analog outputs sine cosine signals but the digital type are more widely used Both channels have a 50 dut
255. ervo loop in closed with an encoder position errors are corrected both during the motion and at stop All stages offered with the MM4005 are equipped with an encoder includ ing those driven by a stepper motor The recommendation is to always use the closed loop mode NOTE It is not recommended to operate a DC motor in open loop This mode is used only at the factory to output a constant DC voltage to the motor dri ver for testing and calibration purposes If you need to change the control loop type press the mopIFy key to modi fy the current setting Press the CHANGE key to select a different loop type Press VALID to accept the new loop type and return to the previous menu Pressthe up key to advance to the next parameter Axis Setup gt MODIFY gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT gt YES gt QUIT Periodicity This mode enables to display periodically for example 0 to 360 for cer tains of rotary mechanical families default RTM URM Pressthe up key to advance to the next parameter Press MODIFY and then the CHANGE key to select YES or NO To o accept this entry press the vaD key If periodicity is yes enter the displacement period with the numeric keypad and then press the vaD key to accept this value Press QuiT two times and then the yes key to save changes NOTE Processing of an axis infinite movement is possible only if a periodicity has been define
256. es not automatically report the error It is the user s responsibili ty to periodically query the error status particularly during the development phase of an application To better understand error handling keep in mind the following points Reading the error with TE or TB clears the error buffer The controller stores only the last error encountered Once an error is detected it is stored until read or replaced by a new error The error read represents an error that could have happened at any time since the last read For faster communication throughput use the TE command to read only the error code Use the TB command to read an existing error or to translate an error code Error List The following is a list of all error message codes and their descriptions e lt cHAaAnwnxrovdsIZsearFATT TA VOD DY A Unknown message code Incorrect axis number Parameter out of limits Unauthorized execution Incorrect I O channel number Program number incorrect Program does not exist Calculation overflow Unauthorized command in programming mode Command authorized only in programming mode Undefined label Command not at the beginning of a line Program is too long Incorrect label number Variable number out of range Number of WE commands does not match the number of open loops Unauthorized command Command cannot be at the beginning of a line Communication time out Error during home search cycle
257. escription Returns Errors Rel Commands Example E IMM E PGM MIP xxTT xx int Sample number to read XX Oto number of samples set by TM command XX None XX Missing 0 Out of range Error C Floating point Error A This command reads the trace data stored in trace mode The trace mode is enabled by TM command and defined by SP and TM commands If xx is a number different than 0 and in range the controller returns the values for that sample number If xx is 0 the controller returns all samples stored in memory XxTT THnnj TPnn2 xx Sample number nny Theoretical position nn2 Actual position NOTE If xx was set to 0 in the TT command all samples are returned starting with number 1 each one on a separate line A Unknown message code C Parameter out of limits D Unauthorized execution S Communication time out SP Settrace sample rate TM Settrace mode XN Read number of acquisitions SP0 002 Set trace period to 2 ms 2TM500 Set trace mode for axis 2 and 500 data points 2PRO0 1 WS Performa motion of 0 1 units on axis 2 and wait for stop 9TT Read trace sample 9 9TT TH1 002 TP1 001 Controller returns for trace sample 9 theoretical position 1 002 and real position 1 001 units QD EDH0162En1040 06 99 3 140 Newport MM4005 TU Read encoder resolution Usage Syntax Parameters Descript
258. escription This command concatenates two strings the aa string or the nn string or the pp value converted to ASCII when the parameter aa is a variable Y pp or Snn is concatenated in the end of the xx string Returns If the sign takes place of aa and xx is different of zero this command reportes actual string stocked in the xx numbered string buffer Errors A Unknown message code C _ Parameter out of limits D Unauthorized execution Rel Commands AS Affect string DS Display strings on screen Example 1AS This Affects This in variable S1 S1 This 2AS is Affects is in variable S2 S2 is 3AS Affects in variable 3 S3 1CS S2 Concatenate S2 to S1 S1 This is 1CS S3 Concatenate S3 to S1 S1 This is 1CS a string Concatenate a string to S1 DS S1 Contents of variable S1 This is a string Displayed on the controller s screen AD EDH0162En1040 06 99 Newport MM4005 CX Define X position to reach with an Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example arc of circle f CX CY E IMM E PGM MIP CXnn nn double X coordinate to reach with an arc of circle nn 1 0 E to 1 0 EP nn Defined motion units nn Missing Error C Out of range Error C This command defines to the controller X position to rich with an element
259. eseuseesecesessuveevvecsneeedeesecees 7 4 7 2 1 Axis Oscillatio Neia iii i 7 4 7 2 2 Increasing PerformanCe ssessseserisisisiirisisrsirisrssrsrntersrnrrsnens 7 5 Following Error Too Large ssssssseisrseeisrsrirrsrenrnnn 7 5 Errors At Stop Not In Position cecceesesssescsesessrssrssrsseesees 7 5 Following Error During MOtiOn seesseeirssrrne 7 6 T23 Points tO REMEMDE ecnin eee taeetasetesteneeteneeaes 7 6 A Newport 7 1 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 7 2 Newport MM4005 4 Axis Motion Controller Driver Section 7 Servo Tuning 7 1 Servo Tuning Principles The MM4005 controller uses a PID servo loop with feed forward Servo Tuning sets the Kp Ki and Kd and Feed Forward parameters of the digital PID algorithm also called the PID filter Tuning PID parameters requires a reasonable amount of closed loop sys tem understanding You should first review the Control Loops paragraph in the Motion Control Tutorial Section and if needed consult additional servo control theory books Always start the tuning process using the default values supplied with the MM 4005 for each motion device type or for the generic Default type These values are usually very conservative favoring safe oscillation free opera tion for a tighter more responsive system that minimizes following error To achieve the best dynamic performance possible the system must be tuned for your sp
260. ess the UP or DOWN key to select new units Press VALID to accept the new units and return to the previous menu Pressthe up key to advance to the next parameter Axis Setup gt MODIFY gt MODIFY gt UP VALID gt QUIT gt QUIT gt YES gt QUIT TN Read displacement units SN Setdisplacement units QAD EDH0162En1040 06 99 2 18 Newport MM4005 Local Mode A Newport Motion Type The Motion Type parameter should not be changed by the user It selects between real and simulated motion The real motion is the normal mode of operation The simulated motion is a mode in which the motion commands are not actually performed and is intended to be used only by the factory personnel for testing purposes HOME Type All standard motion devices offered with the MM4005 have an origin home switch and they can all perform a home search cycle In cases where the controller is used with a device that does not have a home switch the controller must know not to look for it Use the HOME Type parameter to tell the controller if the home switch is real for standard devices with an origin switch or if it should be simulat ed for non standard devices without a home switch The simulated home switch sometimes called floating is assumed to be at the current position where the device is when the home search command is received If you need to change the HOME T
261. ess up until the XON XOFF Mode appears on the display Press mopDIFy and then the CHANGE key to select YES Press the VALID key to accept the entry and return to the previous menu The factory default is NO Motor OFF gt SETUP gt GEN gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT CMXxx Set serial communication XON XOFF mode Parity Parity must be set correctly for the RS 232 C communication to work prop erly As the standard suggests when a word length of less than 8 is used the parity bit can be set to Odd or Even Both communicating devices must use the same setting The possible settings are Odd Even and None The factory default is None If the RS 232 C is not used ignore the selection by pressingthe up key and advancing to the next parameter To change the setting from the General Setup menu press up until the Parity parameter appears on the display Press MODIFY and then the CHANGE key to select a new parity Press the VALID key to accept the entry and return to the previous menu Motor OFF gt SETUP gt GEN gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT CMPxx Set serial communication parity Newport 2 13 EDH0162En1040 06 99 MM4005 Local Mode Word Length The word length refers to the word size to be used with the RS 232 C inter face The MM4005 controller is designed to accept either
262. essecseeeseescesaesaesarsessaesesersansas 2 24 2 1 EDH0162En1040 06 99 Table of Contents Section 2 MAXIMUM POSITION sainia a i a i a ai 2 25 HOME Preset acciidiinin died an AAN iN 2 25 Kpr nannaa Geist E a ee Ae 2 26 Kiarie ayi deun a ea eve a alerts 2 26 Kiera niyna a aa a a n a a 2 27 AS ieat h niar iaia E Ei ERAEN EEA ART R EAEN AKT Ra 2 27 Maximum Error nits rauna aa eae dea 2 28 Backlash 2 svaevnivdenidade ein yavanna 2 28 Display Resolution cee ceesetseseteeeeeeeeteeetenetaenetaetetsesataateestaes 2 29 2 3 Operating In Local MOC ceccccceteeeeeeeeeeeetieteteneseneteeeteteneees 2 29 2 3 1 HOME Search weiccateciteeteenedcheiiendanilanecdead anhovtndees 2 30 23 2 Manual Joguina ai i AA 2 30 2 3 3 Zero Displayineseirninierai eaaa iaia ii 2 32 2 3 4 Relative MOVES cccsseeseceseeecneeesecaeeteeseeetseeetseetaenetaetetaeeenates 2 32 Single Axis Relative MOVG cc ccccceteeeteteeteeettetteceseneteneeas 2 33 Multiple Axes Relative MOVG ceieceeesesetecsenetieneteteeeetenetaes 2 34 2 3 5 Absolute MOVES sinirini tiai aiai ii 2 34 Single Axis Absolute MOVC ssssssssesesesrsrsresisnrsrsrersrsirsrnenrsrns 2 35 Multiple Axes Absolute MOV esseere 2 35 2 3 6 Program Execution essssssersisisesiiisisisiritienintninisrntntntsrsrnennnt 2 35 2 3 7 Axis Infinite Movement sssessssserssisirisrsiissrersrsirieiernrerenn 2 36 2 3 8 Stop Axis Infinite Movement 2 37 2 4 Programming In Local Mode ssessssssisssisrsir
263. essed move axis 1 0 1 units incrementally 4YE48 5YS1 If key 0 is pressed set variable to 1 to end loop WE End while loop QD EDH0162En1040 06 99 3 190 Newport MM4005 YL If variable is less Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 5YL10 2PR2 6 WS E IMM E PGM E MIP xxY Lnn Variable number Comparison value 1 to 100 integers and 101 to 120 floats 32767 to 32767 None None Error O Error O Error A Error C Error C xx int nn int XX nn XX nn XX Missing Out of range Floating point nn Missing Out of range This command will allow execution of a command line based on a vari able s value If the selected variable xx is less than the nn value all follow ing commands on that line are executed The command must be at the beginning of a line and it applies only to that command line NOTE Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs None A Unknown message code C _ Parameter out of limits L Command not at the beginning of a line O _ Variable number out of range YA Add to variable YE If variable is equal YG If variable is greater YS Initialize variable 5YSO Initialize variable to 0 5WY18 While variable is different
264. eters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the left software travel limit the motion soft limit in the negative direction This is the value set by the SL command or in the front panel setup menu NOTE The software travel limit values are automatically changed when a home position is forced at a new location or if the home preset value is modified This is done to maintain the travel limits fixed relative to the physical location of the limit switches and mechanical stops By doing so the motion device is protected from damage due to a hardware stop Returns xxTLnn xx Axis number nn Negative software travel limit Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands SL _ Set left travel limit Example 3TL Read left software travel limit on axis 3TL14 5 Controller returns left software travel limit 14 5 units A Newport 3 133 EDHO162En1040 06 99 MM4005 TM Set trace mode Usage HIMM E PGM E MIP Syntax xxTMnn or xxTM Parameters Description xx int Axis number nn int Number of samples Range XX 1to4 nn Oto NMax Reading of the NMax value Units XX None nn None Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing E
265. eters are expensive and many times impractical or even impossible to use the driver has a special cir cuitry tuned to each individual motor type that can calculate the velocity The results are similar to a tachometer feedback but at a fraction of a cost The drawback is that each motor type needs a specially tuned driver card but because it is designed to work in a pre defined system using known motion devices its operation is totally transparent to the user All driver cards are pre tuned and clearly labeled and no adjustments are required or allowed 4 4 Motion Profiles A Newport 4 4 1 When talking about motion commands we refer to certain strings sent to a motion controller that will initiate a certain action usually a motion There are a number of common motion commands which are identified by name The following paragraphs describe a few of them Move A move is a point to point motion On execution of a move motion com mand the motion device moves from the current position to a desired des tination The destination can be specified either as an absolute position or as a relative distance from the current position When executing a move command the motion device will accelerate until the velocity reaches a pre defined value Then at the proper time it will start decelerating so that when the motor stops the device is at the cor rect position The velocity plot of this type of motion will have a trape zoida
266. evice installed is connected to the proper driver card Verify that all setup parameters correspond to the actual motion device installed Verify that the load specifica tions for the motion device are not being exceeded The axis does not move System perfor mance below expectations Incorrect con nection Verify that the motion device is connected to the correct driver card as specified by the labels Incorrect para meters Incorrect con nection Verify that all relevant parame ters PID velocity etc are set properly Verify that the motion device is connected to the correct driver card as specified by the labels Incorrect para meters Verify that all relevant parame ters PID velocity etc are set properly Motor excessively Incorrect con Verify that the motion device is connected to the correct driver hot nection Ta card as specified by the labels The software travel limit in the Software travel specified direction was reached limit If limits are set correctly do not Move command not executed try to move past them Incorrect para Verify that all relevant parame ters PID velocity etc are set Home search not completed meters properly Verify the home search time out Time out too is set correctly If the home short search velocity was changed the time out must be increased Faultry origin or index signals
267. ewport 3 37 EDH0162En1040 06 99 MM4005 DL Define label Usage IMM Syntax xxDL Parameters Description xx int Range XX Units XX Defaults XX Description Returns None Errors A N Rel Commands JL Example 3DL a 2YL20 3JL E PGM Missing Out of range Floating point MIP Label number 1to 100 None Error N Error N Error A This command defines a label inside a program In combination with JL jump to label command they provide program flow control The operation of the DL JL command pair is similar to commands in other computer languages that allow conditional jumps or GOTOs to prede fined labels in a program NOTE This command does not generate an error when not used inside a pro gram Since it can not do any harm itis only ignored Unknown message code Command not at the beginning of a line Incorrect label number Jump to label Define label number 3 If variable 2 is less than 20 jump to label 3 QAD EDH0162En1040 06 99 3 38 Newport MM4005 DM Read manual velocity Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxDM xx int Axis number XX Ito4 XX None XX Missing Error B Out of range Error B Floating point Error A This command reads the manual jog high velocity f
268. forward algorithm e Special servo design makes the velocity feed forward only motor depen dent not load dependent It is factory set and not accessible to the user e Use the lowest acceleration the application can tolerate Smaller accel eration generates less overshoot e Use the default values provided with the system for all standard motion devices as a starting point e Use the minimum value for Ki that gives acceptable performance The integral gain factor can cause overshoot and oscillations AD EDH0162En1040 06 99 7 6 Newport Section 8 Appendices ater ake ES i pe pprt i ie i i paa J i MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 8 Appendices GD QO 717M Oo ETOC MESSAGES aimriata tages A digriireaeds 8 3 EPROM LISEs iE RA RETRA 8 3 IEEE 488 Link Characteristics cccccccccccscssccsscsscsssssecssessessssssesseesesees 8 6 IEEE 488 Functions Supported by MM4005 Controller 8 6 IEEE 488 Function Subsets ccccccesceecsecsseesecsessseseeseeseeseesseeseesseeeateness 8 7 SRO USO cs aruatiiunaiivesneteiebienddiven a clients 8 7 Connector PINOUIS snc EAA A AAA AAE AEE ARNA 8 9 Labeling Conventions s sssssesssssssreresssssrersitntatansnstnnnnninintnntnnnennnnnnennnns 8 9 Power Inhibition Connector 9 Pin D SUD sessir 8 9 Remote Control Connector 15 pin D Sub sssr 8 10 Aux
269. from the Front Panel The periodic display can be set up from the front panel _Axis Setup gt MODIFY if the axis chosen is rotational or remotely using the xxCDnn command If the CD command is executed with xx the axis number and nn the period in the current units then the axis is displayed periodically Several characteristics should be taken into consideration From the start point the displacement distance is divided into several periods of the same length given by nn e During the movement and for each period the displayed position val ues progress from zero to nn according to the following rules Ifnn gt 0 Positive motion Start zero end nn periodically Negative motion Start nn end zero periodically Ifnn lt 0 Positive motion Start nn end zero periodically Negative motion Start zero end nn periodically e This command is especially useful with the MV MV commands how ever it acts on all the various motions PA PR manual joystick etc e This mode is always present in the non volatile memory of the con troller To disable this mode execute xxCD nothing A Newport 6 15 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial 6 15 Parameter The MM4005 is equipped with a variable buffer 8 character strings 100 integers and 20 floating points e The character string variables 0 to 32 characters are indicated by Sxx xx 1to8 e Theint
270. g Diagram Half Stepping Motor Now what happens if we energize the same two phases simultaneously but with different currents For example lets say that phase A has the full cur rent and phase B only half This means that phase A will pull the rotor tooth twice as strongly as B does The rotor tooth will stop closer to A somewhere between the full step and the half step positions Fig 4 36 QAD Newport 4 25 EDH0162En1040 06 99 MM4005 Motion Control Tutorial eAeeBe Cc oD oAo TERA Fig 4 36 Energizing Two Phases with Different Intensities The conclusion is that varying the ratio between the currents of the two phases we can position the rotor anywhere between the two full step loca tions To do so we need to drive the motor with analog signals similar to Fig 4 37 E EEN pa N ES a a a S Fig 4 37 Timing Diagram Continuous Motion Ideal But a stepper motor should be stepping The controller needs to move it in certain known increments The solution is to take the half sine waves and digitize them so that for every step command the currents change to some new pre defined levels causing the motor to advance one small step Fig 4 38 EE eae ee a eee oF Dee eae ee Fig 4 38 Timing Diagram Mini Stepping This driving method is called mini stepping or micro stepping For each step command the motor will
271. g inputs reported 9TQ 1TH1 002 1TP1 001 2TH1 034 2TP 1 033 3TH5 002 3TP5 001 4TH1 402 4TP1 401 1RA0 1 2RA1 3RA0 4RAO Controller returns global trace data for sample 9 TR Read right travel limit Usage MIMM E PGM E MIP Syntax xxTR Parameters Description xx int Axis number Range XX lto4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the right software travel limit the motion soft limit in the positive direction This is the value set by the SR command or in the front panel setup menu NOTE The software travel limit values are automatically changed when a home position is forced at a new location or if the home preset value is modified This is done to maintain the travel limits fixed relative to the physical location of the limit switches and mechanical stops By doing so the motion device is protected from damage due to a hardware stop Returns xxTRnn xx Axis number nn Positive software travel limit Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands SR Setright travel limit Example 3TR Read lefttravel limit on axis 3 3TR14 5 Controller returns right software travel limit 14 5 units GD EDH0162En1040 06 99 3 138 Newport MM4005 TS Read controller status Usage WIMM E PGM E MIP Syntax TS Parameters None Descript
272. gramming a sesers 5 8 SGal eea aa aara 3 188 Teel ananin e a eae Pulses Synchronized to a se 6 5 Variables s sssssssssisiisisisisirirririnrirn number of elements in the trajectory Setup COMMANAS ssssssssesssssensens 5 10 a Les ene ee aCe a ORC 3 185 ON ee a a Rome eae 3 179 Specific COMMANAS ssssssssesssessee1s 5 10 Divide sssr 3 186 the current maximum allowed angle Start definition of a NEW sesse 3 87 Multiply sss 3 192 Of AISCOMEIMUI EY casttscenicnntrnntae 3 167 Synchronization Commands 5 10 Vect the element number under execu Tell number of elements in the 3 179 po aeration anannannnannanananannannannnanaannanan 53 flo de tessh ed tht males 3 23 to big discontinuity angle 8 3 ee Trajectory nnion 5 3 the last element nnn 3 170 Too long E EEN POE EESE ESTEE 8 3 Velocity 53 the vector acceleration on trajectory Trace mode Ol Ae PEO iti betes 3 12 Bae E i aa ie mates aa tacantin dae 3 180 trajectory Is MPty sssini BM WOlOCIY sninscieedennieeniccone de aninsies the vector velocity on trajectory 3 181 type PE E TAE ST T LG Maximum Sinamogeseancalaaadseaeseahegessinet seit 4 11 Terminator 2 11 3 7 Units not translationnal or not iden Minimum Vaveweduen ths thaxcest eet enee esate 4 11 Serre ag career eee ean tical a A AT 8 4 on trajectory Define the vector Terminology sspe saana 1 6 Ve oT cecccccecccscccsesececececececectcecscececeeees 53s Samaran Ai a 3 153 Terms Definition Of 5 3 Wait for a element Of 3 162 au aa
273. h controller power on or reset The controller must know the exact initial position of the motion device not only to accurately repeat a motion sequence program but also to prevent it from hitting the travel limits limit switches A limit switch detection is interpreted as a major fault and the motor power is turned off immediately To perform a home search routine press the HOME function key from the top level power on menu The display will prompt you to select which axis should execute the home search Use the keypad to indicate an axis num ber If you enter or accept the default number 0 the controller will execute the home search routine sequentially on all installed axes in the order specified in the General Setup MOTOR ON OR Search for home NOTE The position value assumed at the home position is defined in the axis setup using the HOME Preset value or through the SH command Manual J og Manual Jog is a commonly used Local Mode front panel function The selected axis will move at a pre defined velocity This type of motion is known as aJOG The MM4005 controller implements this function on the numeric keypad The Manual Jog mode can be enabled either from the top level MOTOR ON menu or using the Move menu In both cases the calling function key is labeled MANUAL and functionality is identical In the Manual J og mode the display looks similar to Fig 2 8 Fig 2 8 Using t
274. he JOG menu aD EDH0162En1040 06 99 2 30 Newport MM4005 Local Mode A Line number 5 indicates that the keypad can be used to initiate a manual jog As described in paragraph 2 1 3 First Jog each keypad row controls one axis The keys on the left initiate a jog in the negative direction and the keys on the right in the positive direction To jog at a high speed simulta neously press the corresponding middle key with one of the jog direction keys NOTE The high speed manual jog velocity is set in the Axis Setup mode or by using the MH command The low speed manual jog velocity is 10 of the high speed value lt lt gt gt MOTOR ON gt MANUAL gt gt QUIT miss MC Set manual mode To exit the Manual Jog mode press the quit key There are two more function keys defined in the manual jog menu The ZERO key is described in the next paragraph The status key is described in the Introduction section Display Configuration Status Display paragraph The status key displays a number of status indicators in front of each axis identifier and a general axis condition message at the end of each axis line Fig 2 9 Fig 2 9 Status display The four status indicators are 0 M and have the following meaning O Will appear only if a home search routine has been performed suc cessfully on that axis It indicates that a mechanical origin ha
275. he MM4005 controller understands 194 commands The following two tables list them all sorted first by category and then in alphabetical order The tables also show the modes in which each command can be used The mode mnemonics used in the tables have the following meaning IMM IMMediate mode Controller is idling and the commands are executed immediately PGM ProGraM mode Controller does not execute but stores all commands as part of a program EP acti vates this mode and QP exits it MIP MotionIn Progress Controller executes a motion on the speci fied axis For the Command Description section an empty box in front of the mode designator indicates the command not being valid in that particular mode of operation Parameters in brackets e g xx indicate optional parameters 3 4 1 Command List by Category Command Description IMM PGM MIP General mode selection xx CD nn Set cycle value and activate periodic display mode E 4 CM nn Change communication mode E E MC Set manual mode E E xx MF Motor OFF 5 ML Set local mode E E MO Motor ON E E MR Set remote mode i Qw Save general parameters E E RS Reset controller E E E Motion and position control AB Abort motion E E xx DH Define home B xx MT nn Moveto travel limit switch E E E xx OR nn Search for home E i xx PA nn Moveto absolute position E m E xx PR nn Moveto
276. he axis is not moving or when it is moving with a constant speed Returns None Errors A Unknown message code B Incorrect axis number C Parameter out of limits Rel Commands AC _ Set acceleration PA _ Moveto absolute position PR _ Moveto relative position Example 2DV Read desired velocity of axis 2 2DV10 Controller returns a velocity value of 10 units sec 2PA15 Move to absolute position 15 WT500 Wait for 500 ms 2VA4 Set axis 2 velocity to 4 units sec 2DV Read velocity of axis 2 2DV4 Controller returns a velocity value of 4 units sec A Newport 3 149 EDHO162En1040 06 99 MM4005 VB Set base velocity Stepper motor only Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands gw IMM E PGM E MIP xxVBnn xx int Axis number nn float Velocity value XX 1to4 nn 0 to Maximum motion speed defined by the VA com mand XX None nn Preset units in SETUP mode second XX Missing Error B Out of range Error B Floating point Error A Missing Error C Out of range Error C This command sets the start stop velocity for stepping motors only The allowed start stop velocity must be less than or equal to the velocity set with the VA command PA PR VA Example 2VB10 NOTE This command is available only for stepper motors Unknown message code
277. he first four lines on the display The axs positions have been replaced by the motion device types the controller thinks are connect ed to it This is important because any attempt to first power on the con troller should be preceded by a verification of the proper setup AXES Selecting AXES activates a menu to set up each motion device connected and its parameters GEN By choosing GEN you activate the General Setup mode in which the gen eral controller parameters language communication ports etc are defined MOTOR EE Menu When motor power is turned on the four function keys are defined as fol lows HOME MANUAL MOVE PROG This is the top level MOTOR MMM menu These four choices can be grouped into three important categories home search motion commands and program management HOME Activates the home search setup menu in which one or more axes can be selected to perform a sequential home search cycle MANUAL Is a motion function which allows the user to manually jog each axis using the numeric keypad MOVE Is amotion function which activates a lower level menu that offers position zeroing manual jog and go to position functions PROG Activates the motion program management and generation environment This mode can be activated from both MOTOR and MOTOR EM top level menus When selected the next screen shows the following function choices CREAT MODIFY QUIT EXEC Compared to the MOTOR initiated
278. he front panel of the MM4005 controller are motion related commands and creating or editing motion programs The most common use of the Local Mode is to initiate motion and motion related commands from the front panel The following paragraphs describe this in detail From the top level Motor OFF menu the power on default menu press the MOTOR EE button The display will change to one similar to Fig 2 7 We will call this the top level motor on menu Fig 2 7 Top level MOTOR MQM menu NOTE It is possible to press the MOTOR ENE button while in any menu To avoid confusion and unexpected controller behaviors it is strongly rec ommended to turn the motor power on only when in the top level Motor OFF menu NOTE It is possible to press the MOTOR button at any time To avoid con fusion use this capability only for emergencies During normal opera tion turn the motor power off only when in the top level Motor ON menu Newport 2 29 EDH0162En1040 06 99 MM4005 Local Mode 2 3 1 2 3 2 HOME Search The HOME Search routine is a sequence of high and low speed motion seg ments through which the controller determines the exact location of a home origin switch and an encoder index pulse A detailed description of the algorithm can be found in the Motion Control Tutorial section NOTE It is strongly recommended that the user perform a home search routine after eac
279. he sign takes place of the nn value this command reportes the step of generation of pulses of synchronisation for xx numbered axis 0 means that no pulse is generated A Unknown message code B Incorrect axis number C _ Parameter out of limits PB _ Set start position of generation of pulses of synchronisation PE _ Set end position of generation of pulses of synchronisation Set step of pulses for axis 2 to 0 1 unit 2PI Actual value of PI 2P10 5 Controller tells the actual value a 2PS Update PB PE PI and allow pulses ml 2PI Actual value of PI 2P10 1 Controller tells the value GD Newport EDH0162En1040 06 99 MM4005 PR Move to relative position Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands E IMM E PGM E MIP xxPRnn xx int Axis number nn float Relative motion increment XX 1to4 nn Any value that will not cause exceeding the software limits XX None nn Defined motion units XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C This command initiates a relative motion When received the selected axis xx will move with the predefined acceleration and velocity to a relative position nn units away from the current position NOTE If the motor power i
280. he specified position as follows Axis position PB n Pl where Axis position PB PE The position accuracy of the generated pulse the difference between the theoretical position PB n PI and the real position depends on the veloc ity of the selected axis as follows MaxError 4Thase Velocity 2 Obviously this value cannot be smaller than the encoder resolution Thus if the calculated MaxError lt Encoder resolution then MaxError Encoder resolution Example For a velocity of 20 mm sec and Tpase 300 usec MaxError 3 10 20 2 3 um This pulse location uncertainty will exist for every pulse generated but it is not cumulative NOTE The pulse location uncertainty is no longer significant if the pulse inter val PI is set to greater than ten times this error Thus the recommend ed value for PI is Plmin recommended 5 Thase Velocity AD EDH0162En1040 06 99 6 4 Newport MM4005 Feature Descriptions Tutorial GD Newport CR10 CA90 CX10 CY 30 NB2 NE3 NI10 1 NN11 Pulses Synchronized to a Trajectory Equally spaced pulses can also be generated synchronous with a trajectory at pin 12 of the 25 pin D Sub Auxiliary connector The NB NE NI NN and NS commands are used as follows NB nn Defining and reading the trajectory element number where the signal should start The pulses are generated immediately when this element starts executing NE nn Defining and reading
281. hen the pro gram is executing it will have the same effect as the front panel MOTOR MOTOR MQM buttons To add a command that forces the motor power to a certain state press the MOTORS key and then use the CHANGE key to select the desired action When done press VALID to accept the entry and return to the Line Entry menu Commands generated MO Motor power on MF Motor power off IFINP Conditionally execute a line on I O input port This function should be placed only at the beginning of a command line to control its execution It will allow the execution of the following commands on the line only if the specified I O input bit has the requested state If the condition is not met at the time of evaluation the rest of the command line is ignored and the program execution continues with the next line After pressing the IFINP key the display asks you to select an input bit to be tested Enter a number between 1 and 8 on the numeric keypad and then press the vALID key Next press the CHANGE key to specify the high or low state of the bit and then the VALID key to accept the entry and return to the Line Entry menu Command generated IE Ifl O input is equal REPEAT repeat a command line a number of times Use this function only at the end of a command line to repeat its execution a number of times When selected enter on the keypad the number of time you want to repeat the line and then press vVaLiD to accept the entry an
282. heoretical position of its master axis If p 1 it follows the real position of its master NOTE If the CD command is used in conjunction with the SS command and GR command the slave axis cycle value must be equal to the master axis cycle value multiplied by the master slave reduction ratio NOTE The slave axis motor power may be turned on MO command or turned off MF command only if p 1 If the sign takes place of the nn value this command reportes the number of the master axis that xx numbered axis slaved to if 0 the axis is master A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution GR Set master slave reduction ratio FF Set maximum master slave following error 2SS1 Setaxis 2 to be slave of axis 1 ae 2SS Read master axis of axis 2 Controller tells the master of this axis aD EDH0162En1040 06 99 3 122 Newport MM4005 ST Stop motion Usage Syntax Parameters Description Valeurs Units Defaults Description Returns Errors Rel Commands Example GD E IMM E PGM E MIP xxST xx int Axis number XX Oto4 XX None XX Missing 0 Hors de limite Error B Floating point Error A This command stops a motion in progress on one or all axes If parameter xx is set to 0 or missing motion on all axes will be stopped If xx is a valid axis number only motion on that
283. hered to could result in injury or death Caution Calls attention to a procedure practice or condition which if not correctly performed or adhered to could result in damage to equipment Note Calls attention to a procedure practice or condition which is consid ered important to remember Menu Level sample Indicates the menu level from which to start a cer tain Quick front panel sequence Function Key sample Represents one of the four function keys identified on the display s menu line with the indicated word Function Key sample Represents one of the four function keys identified on the display s menu line with the indicated word that must be pressed multiple times Fast Front Panel Sequence Indicates a quick key sequence description to get the described function It is intended to be used by more experienced users as a quick reminder Remote Command Indicates a remote command equivalent to the local function being described Numeric Keypad Represents the numeric keypad on the front panel Shown in a fast sequence indicates anumeric entry on the keypad 1 5 EDH0162En1040 06 99 MM4005 Introduction 1 2 2 Terminology The following is a brief description of terms specific to motion control and this instrument that are used in this manual Axis A logical name for a motion device Controller In this manual refers mostly to the MM 4005 controller driver Encoder Displacement measuring device
284. his position in the negative direction CAUTION Do not set a value for this parameter more negative than the default value otherwise the hardware limit switch will be tripped To change the negative software travel limit press the mopiFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu Pressthe up key to advance to the next parameter e lt lt gt Axis Setup gt MODIFY gt UP gt MODIFY gt Ee gt VALID gt QUIT gt QUIT gt YES gt QUIT SL Set left travel limit TL Read left travel limit QD EDH0162En1040 06 99 2 24 Newport MM4005 Local Mode B annn annu nunnu n ARRZOBVANHUNNENA mossssonnnnniim Crrerrerrrr E H DE EE a S QAD Maximum Position This parameter defines the positive usually right software travel limit No motion will be allowed to exceed this position in the positive direction CAUTION Do not set a higher value for this than the default value otherwise the hardware limit switch will be tripped To change the positive software travel limit press the mopiFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu Pressthe up key to advance to the next parameter ERE lt lt gt Axis Setup gt MODIFY gt UP gt MODIFY gt gt VALID gt
285. ia a pi 4 6 4 2 6 Minimum Incremental Motion ssssssssissseserrsrssririeersrnrereierrnren 4 7 4 2 7 Repeatability ssssessssssssessisisisssssresenenitinnentntntennnnnnnnnsnstninnnnnnenenne 4 8 4 2 8 Backlash Hysteresis cccccssssscssecsssesssessserssssesersrsnteeesens 4 8 4 2 9 Pitch Roll and YaW sssssssissssrssisrsiisrssrsrsrsrsrsnrannnnrnrninninrnrene 4 9 4 210 Wobble nannan ia cS ee ia aa ae 4 10 421r Eoad Capacity cuieeud ect id aidan ada 4 10 4 2 12 Maximum Velocity siin esiania iiia i 4 11 4 2 13 Minimum Velocity ssssssessssisesssisresssssisrrsntnrnnsrsrnnnnnnninenirnrinrens 4 11 4 2 14 Velocity Regulation 0 eect cette eee etetetetteteetaeteteteetees 4 12 4 2 15 Maximum Acceleration cccccccseceeeeeeeeeeeieecieneseeeseeenees 4 12 4 2 16Combined Parameter ceccceeeseeeeseeeeeeeeceeeeeeetsenetsseeeatenees 4 12 4 3 COntrOl MOODS aamin asea A aa et a aata Ea 4 13 4 3 1 PID Servo LOOPS nomini aii anai a ii 4 13 PLOOPiieeinititics ciniaine nine Guneadiaieit inaiiadaie 4 14 PUL OO Pas candida tannin Ciniiaide inte aa a a iais 4 14 PID LOOP ononon sina an at danind any 4 15 4 3 2 Feed Forward LOOPS cceeccccscescseseceeeeeeeeeeeneeieesieeseneceeenees 4 15 AA Motion Profiles sauseto aridenn a 4 17 AAL MOVE aici aAA SEA AA 4 17 BAD JOro iana A 4 18 44 3 Home Searels sc scncanianwu iaae a aa 4 18 ADS ENCOQ ET S Mennvsnans nirwan aii i n aa Aa 4 21 A6 MOTOTS airar a a A T A A ion AA a 4 23 4 6 1 Stepper MOTOT Si wi
286. if negative displacement This command has effect not only on infinite movements MV MV but also on other types of displacements PA PR manual joystick To set off this mode of display use xxCD or xxCDO e Ifnn lt 0 NOTE If this command is used in conjunction with the SS command and GR command the slave axis cycle value must be equal to the master axis cycle value multiplied by the master slave reduction ratio If the sign takes place of the nn value this command reportes the value of display cycle if the periodic display mode has been activated A B C mes D Unknown message code Incorrect axis number Parameter out of limits Unauthorized execution MV PA PR Infinite movement Move to absolute position Move to relative position Set mechanical driver to URM80APP Set cycle value to 360 and activate the mode Infinite displacement with periodic display aD EDH0162En1040 06 99 3 28 Newport MM4005 CM Change communication mode Usage HIMM E PGM MIP Syntax CM Mxx Txx Axx Qxx Bxx Pxx Lxx Sxx Oxx Rxx Xxx or CM Parameters Description M Communication mode xx 1 IEEE 488 xx 1 or missing RS 232 C T Terminator character XxX 1 CR Xx 2 LFCR Xx 3 CRLF xx 1 2 3 or missing LF A IEEE address XX 0 to 31 R Reserved xx 0 Q EEE 488 SRQ mode xXx 1 YES xx 1 or missing NO SRQ B Serial transmiss
287. ile memory is corrupted This will result in a loss of all data in this memory and the controller will request the operator to perform a complete setup procedure on the front panel NOTE Under certain conditions you may need to erase the non volatile memo ry and load the default parameters This is accomplished simultaneously pressing the minus key HEH and the period key HEIN on the keypad during the power up sequence This will initiate a setup procedure The error message shown in Fig A 3 appears on power up if the IEEE488 is detected to be malfunctioning Under this condition only the RS 232 inter face can be used QD EDH0162En1040 06 99 8 4 Newport MM4005 Appendix A Error Messages EEE TeltialiZeacion error Press an ke to continue Fig A 3 Error screen IEEE488 The error message in Fig A 4 appears if one of the function keys or keypad keys are detected being pressed or stuck during power up The X indi cates which key is detected function keys being labeled from A to D from left to right Keyboard error Fig A 4 Error screen depressed key during start up During program creation or modification the screen shown in Fig A 5 could appear if the command line being edited exceeds the 110 character limit The last command entered will be lost but the rest of the line is retained and can be saved The XXXX represents the actual command line being edited XXXXXXX e N
288. iliary Connector 25 Pin D Sub ssssessssesssresererrrrrrerrrerererrrnnr 8 11 GPIO Connector 37 Pin D Sub sssssssssissrirrrsrisrrnisrrrsrnerirrerrrrrieerenre 8 13 RS 232C Interface Connector 9 Pin D Sub sesssissserirrrrreerena 8 14 RS 232C Interface Cable s ss sessrsrirrsrrsrsrrsrsrisrnrinririnririnrrsrsrisesrrsrerene 8 15 EEE488 Interface Connector 24 Pin sessssssserisrissrirrnsrirrinrrerreeenea 8 16 Motor Interface Connector 25 Pin D Sub essesi 8 17 Pass Through Board Connector 25 Pin D Sub essssseseeerreeee 8 18 Motion Program EXamMpleS ssssssisisesesrsrsrestitirsrnreininirnrnrnisrsrnsentnrnnt 8 19 Troubleshooting Guide sssssssesessisrsstrriesisrsreieienintstsrsinienrininrnnnn 8 27 Decimal ASCII Binary Conversion T able sssseeseerrsseess 8 30 Factory Servicess aai th enieine da ditaieiadceteneiesndinen 8 33 INEFODUCHOM EE E EEA A AR E AAE nian cul tain A A 8 33 Obtaining Service sssssssssisissessisisesitntientntnitinnsntntntsnstsnnanntntnenenntnnnnnna 8 33 Serce FOr e eins e a a a aA 8 35 Newport 8 1 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 8 2 Newport MM4005 4 Axis Motion Controller Driver A Error Messages The MM4005 controller continually verifies the actions of the motion control system and the operator When an error is detected the controller stores it in an error register To avoid communication and application conflicts the MM 4005 do
289. ilter has not been updated by sending an UF the command will still read the old value Returns xXxXFnn xx Axis number nn Maximum allowed following error Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands FE Set maximum following error TF Read filter parameters UF Update servo filter Example 2XF Read maximum acceptable following error for axis 2 2XF0 2 Controller returns a maximum following error of 0 2 units GD Newport 3 171 EDH0162En1040 06 99 MM4005 XH Read home preset position Usage HIMM E PGM E MIP Syntax xxXH Parameters Description xx int Axis number Range XX lto4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the home preset position value This value is the one loaded in the position counter after a home search is initiated and home is found NOTE See the Motion Control Tutorial Section for a description of the Home search algorithm Returns xxXHnn xx Axis number nn Home preset position Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands SH _ Set home preset position OR Search for home Example 2XH Read home preset position for axis 2 2XH8 2 Controller returns a home preset position of 8 2 units QD EDH0162En1040 06 99 3 17
290. in normal operation It was intended to be used only for factory testing or very specialized applications None A Unknown message code B Incorrect axis number C _ Parameter out of limits D Unauthorized execution TC Read control loop type MF Turn power off to the motors 3SC0 Setaxis to operate in open loop AD EDH0162En1040 06 99 3 110 Newport MM4005 SD Speed scaling Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example A mg IMM E PGM MIP SDnn nn float Percentage of velocity nn 0 001to 100 nn None percentage nn Missing Error C Out of range Error C Non increment Aounded to nearest increment This command reduces the velocity on all axes by a specified factor The nn parameter represents the percentage of the nominal value all velocities will be reduced to The command is identical to the Speed Scaling parame ter in the General Setup menu Using the SD command will actually modify the Speed Scaling percentage value NOTE The motions affected are the ones initiated by PA and PR issued in immediate mode or inside a program NOTE This command is useful to reduce the speed of execution of a complex motion program for the purpose of observing and troubleshooting it None C Parameter out of limits VA Set velocity SD25 Execute all following motions at 1
291. ince the controller cannot be interrupted during a home search this parameter provides a time out in case of malfunction Use this parameter with discretion A small value will cause the controller to falsely report an error when the stage starts a home search cycle from an extreme distance and does not have enough time to complete it A large value prevents the controller from detecting a real problem when the home search cycle takes an excessive amount of time An ideal home time out value is about 20 over the time it takes the slowest stage installed to perform a home search The longest time is usually when the stage starts from the farthest point away from the origin switch To change the existing value from the General Setup menu press UP until the parameter appears on the display Press MODIFY and then enter the desired value on the keypad Press the vaD key to accept the entry and return to the previous menu The default value is 90 seconds Motor OFF gt SETUP gt GEN gt UP MODIFY gt gt VALID gt QUIT gt QUIT QD EDH0162En1040 06 99 2 10 Newport MM4005 Local Mode Terminator This parameter defines the terminator to be used in communication with a host computer or a terminal As described in the Remote Mode section the controller responds to command lines not characters In order for a com mand to be acted upon it must be followed by the terminator The
292. ing programs to the controller To execute a program from the top level MOTORON menu press the PROG key The controller enters the Program Mode and displays the fol lowing menu EXEC CREATE MODIFY QUIT For now we are interested only inthe EXEC et QUIT keys Quit will return the display to the top level motor on menu Pressing the Exec key will enter the Program Execution mode In the first screen the user is asked to select the program number to be executed Use the keypad to enter a valid existing program number NOTE Valid program numbers are from 1 to 100 It is the user s responsibility to remember what programs are loaded and what they do Stored pro grams can be viewed locally or remotely but logging the stored program list is the best approach to motion program management Press the VALID key to accept the program number If the specified pro gram does not exist the controller will inform you and remain in the same menu until a valid program number is entered or the quit key is pressed Once a valid program is selected the controller prompts you for the num GD Newport 2 35 EDHO0162En1040 06 99 MM4005 Local Mode 2 3 7 ber of times to repeat program execution Enter the desired number on the keypad and press VALID The next menu confirms your choice to execute the selected program the specified number of times or allows you to exit without execution by press
293. ing with trajectory position 24 set velocity to 5 mm sec End program entry mode Save program in non volatile RAM Execute program 2 Newport 6 7 EDHO0162En1040 06 99 MM4005 Feature Descriptions Tutorial 6 2 Synchronized Axes Electronic Gearing Certain applications require to synchronize the motion of two or more axes In this case one or more axis precisely follow the motion of another one To safely define and operate such a motion control system the follow ing rules must be observed Each axis of the MM4005 has an identity Master default or Slave By default all axes are configured as masters meaning that all can execute independent motion commands In a group of synchronized axes there is only one master and one or more slaves The slaves always follow the motion of the master All commands to a group of synchronized axes from the front panel through commands or through programs is done by addressing only the master axis No communication with the slave axes is allowed Determining the master slave relationship can be done on the front panel Motor OFF gt SETUP gt GEN through remote com mands xxSSnn command or through a program A master axis is defined as an independent axis It could have one or more Slave axes or as a particular case none default A slave axis belongs to a unique master axis in effect losing its identity It will duplicate the behavior of its master Consequen
294. ion Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxTU xx int Axis number XX Ito4 XX None XX Missing Error B Out of range Error B Floating point Error A This command reads the encoder resolution defined for an axis This is an important parameter which determines the overall accuracy of the motion device The encoder resolution is defined in the SETUP menu on the front panel The units are the pre defined displacement units in the SETUP menu xxTUnn xx Axis number nn Encoder resolution in predefined displacement units A Unknown message code B Incorrect axis number S Communication time out None 3TU Read encoder resolution for axis 3TU0 0001 Controller returns an encoder resolution of 0 0001 units A Newport 3 141 EDH0162En1040 06 99 MM4005 TX Read controller activity Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP TX None This command reads the controller activity register Each bit of the status byte represents a particular parameter as described in the following table A Meaning for i munenon BItLOW BitHIGH 0 Program is running NO YES 1 Command line is executing NO YES 2 Manual jog mode active NO YES 3 Remote mode active NO YES 4 Trajectory is executing NO YES 5 Not used Default
295. ion This command reads the controller status byte Each bit of the status byte represents a particular controller parameter as described in the following table Meaning for REN FURERRN BItLOW BitHIGH 0 Axis 1 motor state Stationary In motion 1 Axis 2 motor state Stationary In motion 2 Axis 3 motor state Stationary In motion 3 Axis 4 motor state Stationary In motion 4 Motor power ON OFF 5 Not used Default 6 Not used Default 7 IEEE SRQ Interruption Status Sent by RQ command NO YES NOTE If bit 7 is high after sending TS command it toggles low automatically The byte returned is in the form of an ASCII character Converting the ASCII code to binary will give the status bits values NOTE For a complete ASCII to binary conversion table see Appendix F ASCII Table Returns TSaa aa ASCII character representing the status byte Errors A Unknown message code S Communication time out Rel Commands MS Read motor status TX Read controller activity Example TS Read controller status byte TSF Controller returns character F or ASCII character 70 converting 70 to binary we get 01000110 which has the following meaning axis 1 not moving axis 2 in motion axis 3 in motion axis 4 not moving and motor power is on A Newport 3 139 EDH0162En1040 06 99 MM4005 TT Read trace data Usage Syntax Parameters Description Range Units Defaults D
296. ion factor and the default value should not be modified For stepper motors it has a similar meaning but represents the stage veloci ty corresponding to the maximum acceptable motor speed If you need to set up a non standard motion device that has no default para meters after determining the correct value motion control expertise is required press the MODIFY key to set the Scaling Speed Use the numeric keypad to enter the correct value Press yatip to accept the new setting and return to the previous menu Press the up key to advance to the next parameter ey lt lt gt Axis Setup gt MODIFY gt UP gt MODIFY gt A gt VALID gt QUIT gt QUIT gt YES gt QUIT Maximum Speed This is the maximum velocity allowed for a given motion device No pro grammed velocities are allowed to exceed this value It also represents the default velocity if no other value has been set previously by a remote com mand It can be changed by the user but it should never exceed the default value Use the Speed Scaling parameter instead to temporarily reduce the motion velocities If you are setting up a new motion device that has no default parameters and have defined the Scaling Speed press the mopiry key to set the Maximum speed Use the numeric keypad to enter a value that is about 80 of the Scaling Speed Press VALID to accept the new setting and return to the previous menu Press the up key to
297. ion of generation of puls position of generation of pulseso Regulation Velocity ereere 4 12 esof Synchronisation 3 94 synchronisation Set vices 3 93 Relative sosonoan ia aai global sample Te E E SE S 3 120 synchronized MOTION sssrin 3 112 Move Multiple AX S essen 2 34 global trace MOC B59 Siatile aa a AAA ata ee Move Single AXIS eee 2 33 home preset pPOSition esseeee 3 114 Display A ANAT 1 17 M oves evita nd AER T A 2 32 home search acceleration 3 87 FUNCIONS bance 3 11 position MOVE 0 3 96 home search high velocity 3 89 tep i ne A A ha Remotea ainacpiioniiannoniiain 1 6 home search low velocity ss 3 90 between synchronisation pulses Commands In LOCAL Mode 1 12 1 0 oUtput Dits ssssssssssssrssrssrses 3 109 Sel E A A EE 3 82 Control Connector 1 14 8 10 I O output DYtes iis sccnisseniseinss 3 118 of generation of pulses of synchroni ROPES COS a amsiisdstilaicareriady neerendtrssineies 3 3 os ame voveneseennnsennseessnnasusnssees ane sation Set 3 95 MOd Cs haao pie iaaii 1 12 eft travel IIMIt sees Stepper motor H nnnnennnrnn 374 local mode a Repeat command line sess 3 107 ali deste pg eee te ety see Driver Saaai hie erect 4 29 Repeatability oo 4 8 master slave MOE ceccccccccececececeees 3 122 Stepper MOtOrs cee 4 24 Reporting Commands 5 10 master slave reduction ratio 3 60 STOP ni na a i s PE E 3 108 maximum following error sss 3 56 Axis Infinite Movement s s s
298. ion speed XX 1200 2400 4800 9600 38400 57600 or 115200 xx different or missing 9600 P Parity xx 1 Odd parity XX 2 Even parity xx 1 2 or missing NO parity L Data length XX 7 xx 7 or missing 8 S Stop bit number XX 2 xx 2 or missing 1 o Communication time out XX 0 5 to 999 sec Defaults XX Missing CMMOTOB9600P0L8S101R0 X XON XOFF mode Defaults xx 0 XON XOFF mode enable xx 1 XON XOFF mode disable Description This command changes the communication mode between the controller and the PC Returns In the case of CM command it reports the actual communication parame ters of the controller Errors A Unknown message code Q Unauthorized command Rel Commands None Example CM Initialization of all parameters GD Newport 3 29 EDHO0162En1040 06 99 MM4005 CP Compile program Usage Syntax Parameters Description Range Units Defaults Description Returns Errors IMM O PGM MIP xxCP xx int Program number XX 1to127 XX None XX Missing Error F Out of range Error F Floating point Error A This command compiles a motion program loaded in the controller s mem ory It verifies the syntax of the program the validity of commands in the program context and the correctness of the jump and while loops If an error is found the compilation is interrupted and the error type is reported In this case correct the
299. iron Regardless of the current polarity the stator will try to pull in the closest rotor tooth But if the rotor is a permanent magnet depending on the current polarity the stator will pull or push the rotor tooth This is a major distinction between two different stepper motor technologies variable reluctance and permanent magnet motors The variable reluctance motors are usually small low cost large step angle stepper motors The permanent magnet technology is used for larger high precision motors The stepper motor advances to a new stable position by means of several stator phases that have the teeth slightly offset from each other To illus trate this Fig 4 32 shows a stepper motor with four phases and to make it easier to follow it is drawn in a linear fashion as a linear stepper motor Fie Be eCa Dot Aa TAR Fig 4 32 Four Phase Stepper Motor The four phases from A to D are energized one at a time phase A is shown twice The rotor teeth line up with the first energized phase A If the current to phase A is turned off and B is energized next the closest rotor tooth to phase B will be pulled in and the motor moves one step for ward If on the other hand the next energized phase is D the closest rotor tooth is in the opposite direction thus making the motor to move in reverse Phase C cannot be energized immediately after A because it
300. is designed for small vari able reluctance motors and offers full and half stepping capabilities It can drive the following motors Current Voltage Motor Mode A V UE16PP Half step 0 2 30 UE31PP Full step 0 4 30 The other type of driver card is the MM78PP It is designed to drive four phase permanent magnet motors using a x10 mini stepping technique The different configurations are for the following motors Motor Mode ae Ena UE41PP x10 mini step 0 8 30 UE62PP x10 mini step 1 6 60 UE63PP x10 mini step 2 2 60 4 7 2 DC Motor Drivers There are three major categories of DC motor drivers The simplest one is a voltage amplifier Fig 4 48 Control Signal 10 V Fig 4 48 DC Motor Voltage Amplifier GD Newport 4 31 EDH0162En1040 06 99 MM4005 Motion Control Tutorial The driver amplifies the standard 10 V control signal to cover the motor s nominal voltage range while also supplying the motor s nominal current This type of driver is used mostly in low cost applications where following error is not a great concern The controller does all the work in trying to minimize the following error but load variations make this task very diffi cult The second type of DC motor driver is the current driver also called a torque driver Fig 4 9 Control Signal 10 V Fig 4 49 DC Motor Current Driver In this case the control signal voltage defines the motor current
301. is done in increments of the servo loop cycle Since the servo cycle is not exactly 0 0003 sec use the XQ command to read the actual global trace sample interval used None C Parameter out of limits GQ Setglobal trace mode XQ Read global sample rate SQ0 002 Set global trace period to 2 ms XQ Read actual global trace period XQ0 002001374478 Controller returns actual global trace period 2GQ500 Setglobal trace mode for axis 2 and 500 data points 2PRO0 1 3PRO 1 WS Performa motion of 0 1 units on axis 2 and 3 and wait for stop TQ Read global trace data QD EDH0162En1040 06 99 3 120 Newport MM4005 SR Set right travel limit Usage IMM E PGM E MIP Syntax xxSRnn Parameters Description xx int Axis number nn float Right postive software travel limit Range XX 1to4 nn Max home value set by SH or current position or destina tion if in motion to 2147483647 x encoder resolution Units XX None nn Defined motion units Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command defines the value for the positive right software travel limit It should be used to restrict travel in the positive direction to protect the motion device or its load For instance if traveling full range a stage could push its load into an obstacle To prevent this the user can red
302. is exactly between two teeth so the direction of movement is indeterminate To move in one direction the current in the four phases must have the fol lowing timing diagram QD EDH0162En1040 06 99 4 24 Newport MM4005 Motion Control Tutorial Fig 4 33 Phase Timing Diagram One phase is energized after another in a sequence To advance one full rotor tooth we need to make a complete cycle of four steps To make a full rotor revolution we need a number of steps four times the number of rotor teeth These steps are called full steps They are the largest motion incre ment the stepper motor can make Running the motor in this mode is called full stepping What happens if we energize two neighboring phases simultaneously Fig 4 34 TAAA aos S Fig 4 34 Energizing Two Phases Simultaneously Both phases will pull equally on the motor will move the rotor only half of the full step If the phases are always energized two at a time the motor still makes full steps But if we alternate one and two phases being activat ed simultaneously the result is that the motor will move only half a step at a time This method of driving a stepper motor is called half stepping The advantage is that we can get double the resolution from the same motor with very little effort on the driver s side The timing diagram for half step ping is shown in Fig 4 35 12345678 Fig 4 35 Timin
303. is greater YL If variable is less YS Initialize variable 5YSO Initialize variable to 0 5WY4 While variable is different than 4 repeat next commands If variable is different than 1 move axis 2 incremental 2 6 units and wait for stop 3PR1 2 WS Move axis 3 incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop GD Newport 3 193 EDHO162En1040 06 99 MM4005 YO Send a value to an user analog port Usage HIMM Syntax xxYOnn E PGM MIP Parameters Description xx int Analog output port number nn float Value to send out Range XX 1to4 nn 10 0 to 10 0 Units XX None nn None Defaults XX Missing 0 Out of range Error E Floating point Error A Missing Error C Out of range Error C Description This command writes value to an user analog port The output value will be limited between 10 0 and 10 0 If xx missing this command writes output value to all of analog output port 1 to 4 If nn absolute value is bigger than 10 nn gt 10 or nn lt 10 nn will be limited between 10 and 10 NOTE For the hardware definition of the analog input port please see Appendix Connector Pinouts Remote Control Connector Returns None Errors A C E a Q Rel Commands AM YR Example 2YS0 2WL10 1PR2 WS 1YO Y2 2YA1 WE Unknown message code Parameter out of limit
304. is new zero location and the software limits will be recalcu lated to reflect the change while keeping their absolute position relative to the stage To activate this function from the Manual Jog menu press the ZERO key Using the keypad enter the axis number you want to select or leave the 0 default to zero all active axes Press the VALID key to execute the com mand MOTORON gt MANUAL gt ZERO gt miss gt VALID gt QUIT ZP Zero position Relative Moves A move is defined as a point to point motion The initial point is the current position and the ending point is the destination or desired position There are two types of moves relative and absolute In this section we dis cuss the relative moves A relative move is defined as a move for which the destination is specified as an incremental distance from the current position Repeating a 1 mm rel ative move command for instance will advance the motion device 1 mm at a time For this reason the relative motion is sometimes called incremental motion From the top level MOTORON menu press the move key This will activate the first Move Menu MANUAL RELAT ABSOL NEXT Select NEXT to activate the second move menu INFINI STOP QUIT NEXT Select NEXT to come back in the first move menu or select Quit to quit this menu Select the RELAT function key and the display will prompt you to enter the desired relative motion on the
305. is number C _ Parameter out of limits D Unauthorized execution Rel Commands AC Setacceleration PR Moveto relative position ST Stop motion VA Set velocity Example 3VA8 Set velocity of axis 2 to 8 units sec 3PA12 34 Move axis to absolute position 12 34 QD EDH0162En1040 06 99 3 92 Newport MM4005 PB Set start position of generation of pulses Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 2PB 10 of synchronisation E IMM E PGM E MIP xxPBnn or xxPB xx int Axis number nn float New value of start position of generation of pulses Pulses of synchronisation for the axis xx XX 1to4 nn Min logical allowed position to Max logical allowed position XX None nn Preset units in SETUP mode XX Missing Error B Out of range Error B Floating point Error A nn Missing 0 Out of range Error C This command sets start position of generation of pulses of synchronisa tion for an axis The command can be sent at any time but it has no effect until the PS com mand is received If the sign takes place of the nn value this command reportes the start position of generation of pulses of synchronisation for xx numbered axis A B C PE PI 2PB 2PB 20 2PS 2PB 2PB 10 AD Unknown message code Incorrect axis number Parameter o
306. it becomes high It is level not edge sensitive which means that at the time of evaluation if the specified I O bit xx is high already the program will continue executing If the bit specifier xx is missing or set to 0 the program will wait for all bits to be high NOTE The command can be placed on a line by itself or with other commands If placed on a line with other commands they will be executed with a minimal delay after the I O bit goes high Returns None Errors A Unknown message code E _ Incorrect I O channel number J Command authorized only in programming mode L Command not at the beginning of a line Rel Commands UL _ Wait for I O low Example 7UH 3PA12 3 Wait while bit 7 of the I O input port becomes high and then move A axis 3 to position 12 3 units and continue the rest of the program Newport 3 147 EDH0162En1040 06 99 MM4005 UL Wait for I O low Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example IMM E PGM MIP xxUL xx int 1 0 bit number XX Otos XX None XX Missing 0 Out of range Error E Floating point Error A This command causes a program to wait until a selected I O input bit becomes low It is level not edge sensitive which means that at the time of evaluation if the specified I O bit xx is low already the program will con tinue execu
307. it for a trajectory curvi4tinear length Usage OIMM E PGM MIP Syntax Winn Parameters Description nn double Trajectory length to wait for Range nn Oto Trajectory total length Units nn X axis actual unit Defaults nn Missing Error C Out of range Error C Description This command stops the execution of the program up to when the defined by WI trajectory length is reached NOTE This is a command used in phase of execution and its place is always after ET command If the value defined by WI is superior than the trajec tory total length or by error after trajectory stop the trajectory execution do not reach the desired length the command execution breaks and returns an error NOTE This command must be used in a program Returns None Errors C Parameter out of limits D Unauthorized execution Rel Commands None Example NT initialisation LX10 Element1 LX30 Element2 LX40 Element 3 VV5 Settrajectory velocity to 5 units sec ET Trajectory execution with generation of pulses W110 5SB Atthe realized length of 10 units set I O ouput bit 5 WI30 5CB Atthe realized length of 30 units reset I O ouput bit A Newport 3 159 EDHO0162En1040 06 99 MM4005 WK Wait for key Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example IMM WKaa aa str E PGM E MIP String to
308. ivalence No equivalence No equivalence No equivalence Total equivalence No equivalence No equivalence No equivalence No equivalence No equivalence No equivalence Total equivalence Total equivalence No equivalence Total equivalence Total equivalence Total equivalence No equivalence No equivalence No equivalence Partial equivalence Total equivalence Total equivalence Total equivalence The following command are not equivent xxSL and xxSR display left and right logical margins in relation to mechanical origin while xxTL and xxTR take back the left and right logical margins in relation to floating origin logical Example 10R 1PR10 1ZP 1TL 1TL 60 1TR 1TR40 1SL 1TL 50 1SR 1TR50 Search the mecanical origin Moving of 10 mm Floating origin to 10 mm of the mechanical origin Left margin in relation to the floating origin Right margin in relation to the floating origin Left margin in relation to the mechanical origin Right margin in relation to the mechanical origin aD EDH0162En1040 06 99 Newport MM4005 Feature Descriptions Tutorial 6 3 Error Reporting TD Command Before running a program the MM4005 does an initial verification of the code refusing execution if an error is detected In other instances a pro gram is aborted automatically during execution if an unpredictable error occurs In both cases the controller stores the error type and the user can read it with the TB
309. l number Range XX 1to100 Units XX None Defaults XX Missing Error N Out of range Error N Floating point Error A Description This command changes the flow of the program execution by jumping to a predefined label This is a flow control command that alters the normal sequential flow of a program It must be used in conjunction with a DL com mand which defines a label Returns None Errors A Unknown message code J Command authorized only in programming mode K Undefined label N Incorrect label number Rel Commands DL Define label Example 3DL Define label number 3 denl dee 2YL20 3JL If variable 2 is less than 20 jump to label 3 KC Abort command line Usage HIMM E PGM E MIP Syntax KC Parameters None Description This command stops a program or a command line in execution On recep tion of this command the controller will finish executing the command in progress abort execution of the remaining ones and return to the immedi ate mode Returns None Errors None Rel Commands AB Abort motion ST Stop motion MF Motor OFF MO Motor ON Example KC Finish executing command in progress and abort the remaining com mands EDH0162En1040 06 99 3 62 Newport MM4005 KD Set derivative gain Usage HIMM E PGM E MIP Syntax xxKDnn Parameters Description xx int Axis number nn float Derivative gain factor Kd Range XX 1to4 nn Otol
310. l shape Fig 4 20 For this reason this type of motion is called a trapezoidal motion Desired Velocity Time Fig 4 20 Trapezoidal Motion Profile The position and acceleration profiles relative to the velocity are shown in Fig 4 21 4 17 EDH0162En1040 06 99 MM4005 Motion Control Tutorial 4 4 2 4 4 3 Position Desired Velocity Acceleration Fig 4 21 Position and Acceleration Profiles Besides the destination the acceleration and the velocity of the motion the constant portion of it can be set by the user before every move com mand Advanced controllers like the MM4005 allow the user to change them even during the motion However the MM4005 always verifies that a parameter change can be safely performed If not the command is ignored and the motion continues as initially defined Jog When setting up an application it is often necessary to move a devices manually while observing motion The easy way to do this without resort ing to specialized input devices such as joysticks or track wheels is to use simple push button switches This type of motion is called a jog When a jog button is pressed the selected axis starts moving with a pre defined velocity The motion continues only while the button is pressed and stops immediately after its release The MM4005 offers two jog speeds The high speed is programmable and the low speed is ten times smaller The jog acceleration is also ten
311. le defined If the first element is an arc of circle the entry angle is the tangent to the first point of the arc Each element defined is identified by a number starting from 1 The refer ences for synchronizing external events with the trajectory execution are the starting and ending points of these elements Line and arc elements can be sequenced in any order Arcs can be followed by arcs or lines and lines by arcs or other lines An arc is automatically placed by the controller such that its entry angle corresponds to the exit angle of the preceding element to insure the continuity of the trajectory But when defining a line by its X Y end point this responsibility falls on the user The end coordinates of the new line must be chosen such that the angle it defines is identical to the exit angle of the previous trajectory element Since we are dealing with a coordinate system with finite resolution the encoder resolu tion getting a perfect match of the two angles is not always possible For this reason a window of acceptable angle mismatch is defined called maximum angle discontinuity This new parameter is measured in degrees and has a range of 0 001 to 10 A trajectory can thus theoretically be build out of straight lines that have less than 10 angle difference as shown in Figure 5 2 Fig 5 2 Contouring with lines only This practice is not recommended since each angle of discontinuity corre
312. le 1 Copy variable 1 in variable 3 Subtract 32 from variable 3 Multiply variable 3 with variable Divide variable 3 by variable 2 if variable 1 represents a tem perature measured in degrees Fahrenheit variable 8 will be the equivalent temperature in degrees Celsius QD EDH0162En1040 06 99 3 192 Newport MM4005 YN If variable is different Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 5YN1 2PR2 6 WS gw IMM E PGM E MIP xxY Nnn xx int Variable number nn int Comparison value XX 1to 100 integers and 101 to 120 floats nn 32767 to 32767 XX None nn None XX Missing Error O Out of range Error O Floating point Error A nn Missing 0 Out of range Error C This command allows execution of a command line based on a variable s value If the selected variable xx is different than the nn value all following commands on that line are executed The command must be at the begin ning of a line and it applies only to that command line NOTE Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs None A Unknown message code C _ Parameter out of limits L Command not at the beginning of a line O _ Variable number out of range YE If variable is equal YG If variable
313. le command line composed of motion and I O commands Commands The WHILE key will start a special while loop creation mode that lets you enter command lines inside a while loop Start WHILE Loop L I NE L N JE End WHILE Loop Command Line Creation Start by first looking at the options offered for the simple command line There are nine different types of commands available They are separated in four different screens ABSOL RELAT SYNCH NEXT HOME DELAY MOTORS NEXT IFINP REPEAT OUTPUT NEXT QUIT VALID NEXT This menu level is the Line Entry menu The actual commands are on the first three menus The fourth is used to accept and terminate the line entry by pressing the vap key or to abort the current line being worked on by pressing Quit The last function key of each screen NEXT and advances the display to the next menu It can be viewed as the scrolling key When the NEXT key is pressed on the last screen the display returns to the first menu of the group The nine available program functions can be entered by pressing the appropriate function key in the menu and have the following meanings AD Newport 2 39 EDH0162En1040 06 99 MM4005 Local Mode ABSOL RELAT SYNCH Start an absolute point to point motion When this key is pressed the controller asks for the axis number the motion is to be performed on Use the keypad to ente
314. less than the nn value all following commands up to the corresponding WE are executed The loop is repeated until the test becomes false At that point the program executed continues with the line immediately following the WE command Returns None Errors A Unknown message code C Parameter out of limits J Command authorized only in programming mode L Command not at the beginning of a line O _ Variable number out of range Rel Commands WE End While loop WG While variable is greater than value WH While I O input is equal WY While variable is different Example 5YS0 Initialize variable to 0 5WL18 While variable is less than 18 repeat next commands 3PR1 2 WS Move axis incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop GD Newport 3 161 EDH0162En1040 06 99 MM4005 WN Wait for a element of trajectory E PGM MIP Number of trajectory element to wait for Oto Element total number of the trajectory None Missing Error C Out of range Error C This command stops the execution of the program up to the beginning of the execution of the defined by WN numberred element of the trajectory NOTE This is a command used in phase of execution and its place is always after ET command If the value defined by WN is superior than the total number of element of the trajectory or by error after traj
315. limit Non increment Rounded to nearest increment This command sets the sample period for the trace function Refer to the trace command TM for the description on how to use the trace mode NOTE The sampling is done in increments of the servo loop cycle Since the servo cycle is not exactly 0 0003 sec use the XS command to read the actual trace sample interval used None C Parameter out of limits TM _ Set trace mode XS _ Read trace sample rate SP0 002 Settrace period to 2 ms XS Read actual trace period XS0 002001374478 Controller returns actual trace period 2TM500 Set trace mode for axis 2 and 500 data points 2PRO0 1 WS Performa motion of 0 1 units on axis 2 and wait for stop A TT Read trace data Newport 3 119 EDHO0162En1040 06 99 MM4005 SQ Set global sample rate Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP SQnn nn float Trace sample period nn 0 0003 to 9 nn Seconds nn Missing 0 0003 Out of range Nearest range limit Non increment Rounded to nearest increment This command sets the sample period for the global trace function The global trace mode is similar to the trace mode but it samples all four axes in the same time Refer to the global trace command GQ for the description on how to use the global trace mode NOTE The sampling
316. lues Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits D Unauthorized execution Rel Commands SF _ Set axis mechanical motion device SN Set axis displacement units Example 1SFUTM100CCO 5HA Setmechanical driver to UTM100CCO 5HA 1SNml Setunit to minch 1INP4 Set position displayed precision to 4 GD EDH0162En1040 06 99 Newport MM4005 NQ Read global acquisition nr Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP NQ None This command reads the current number of global trace acquisitions During a global trace mode initiated by the GQ command the number of stored sam ples can be read to monitor the progress of the acquisition process NQnn nn Number of acquired samples S Communication time out GQ Setglobal trace mode SQ _ Set global sample rate TQ Read global trace data XQ Read global sample rate Q0 005 Setglobal trace sample period to 5ms GQ1000 Enable trace mode for axis 2 and acquire 1000 samples 2PR0 2 3PR1 Starta relative motion on axis 2 and axis 3 NQ Read the number of samples acquired NQ157 Controller reports 157 global trace samples acquired NQ Read the number of samples acquired NQ342 Controller reports 342 global trace samples acquired WS NQ Wait for stop and read the number of samples acquired N
317. ly con nected and configured Carefully unpack the controller and place it on a flat surface Save all packing materials Begin by familiarizing yourself with the connectors and controls on the rear panel Fig 1 6 NOTE For complete connector description and pin outs see Appendix B Connector Pin Outs GPIO Auxiliary RS 232 C Power Switch Motor Remote Interlock Control IEEE 488 Ground Post Fig 1 6 Rear panel of the MM4005 Axis Modules The MM4005 can accommodate up to four motor driver cards Each motor driver card has a 25 pin D Sub connector mounted on a small panel visible from the rear of the controller for attaching the motion device Uninstalled axes have a blank panel with no connector Each driver module has an identification label which clearly specifies the model and the type of motor it is configured to drive CAUTION Carefully read the labels on the driver cards and make sure the specifica tions motor type voltage current etc match those for one the motion devices you intend to connect Serious damage could occur if a stage is connected to the wrong driver card GPIO Connector This 37 pin D Sub connector is used for general purpose digital Input Output signals The MM4005 offers two sepa
318. m we get the desired encoder signal But this is only one phase only half of the signal needed to get position information The second channel is obtained the same way but from a mask that is placed 90 out of phase rel ative to the first one Fig 4 30 QD EDH0162En1040 06 99 4 22 Newport MM4005 Motion Control Tutorial Fig 4 30 Two Channel Optical Encoder Scale and Read Head Assembly There are two basic types of encoders linear and rotary The linear encoders also called linear scales are used to measure linear motion directly This means that the physical resolution of the scale will be the actual positioning resolution This is their main drawback since technologi cal limitations prevent them from having better resolutions than a few microns To get higher resolutions in linear scales a special delicate cir cuitry must be added called scale interpolator Other technologies like interferometry or holography can be used but they are significantly more expensive and need more space The most popular encoders are rotary Using gear reduction between the encoder and the load significant resolution increases can be obtained at low cost But the price paid for this added resolution is higher backlash In some cases rotary encoders offer high resolution without the backlash penalty For instance a linear translation stage with a rotary encoder on the lead screw can easily achieve 1 um resolution with negligible backlash
319. m C xx BA nn Set backlash compensation E E xx SN name Set axis displacement units E 8 CA nn Define sweep angle and build an arc of circle f CR CA E E SO nn Set I O output byte E 8 n xx CB nn Clear I O outputs bits as E E E SP nn Set trace sample rate E E u xx CD nn Setcycle value and activate periodic display mode E E SQ nn Set global sample rate E EE E CM nn Change communication mode E E xx SR nn Setright travel limit E E E xx CP Compile program a xx SS np Set master slave mode E CR nn Define radius for anarc of circle f CR CA a E xx ST Stop motion E 8 E xx CS nn Concatenate two strings E E E xx SY nn Axis synchronization E E E CX n De ine X position to reach with an arc of circle f CX CY E E xx TA Read motion device EE CY nn DefineY position to reach and build an arc of circle E u TB aa Read error message EE E xx DA f CX cY A xx TC Read control loop type E E E pp Read desired acceleration E E E TD Read error line of program E E xx DF Read following error E E E TE Read error code EEn pol pA pa a nomie m xx TF Read filter parameters E E E xx DM Read manual velocity E E E xx ik nn Toge o a a xx DO Read home search velocity E E E ms TL Red its sike or xx DP Read desired position E E E zx Sa ES aye Im a ee xx DS nn Display strings on screen E E xx TM m Set trace mode F ie E xx DV pp Read desired velocity E E E XX TN Read displacement units E Eia xx DY nn Display a variable E E xx TP Read actual
320. m Speed Press VALID to accept the setting and return to the previous menu Press the up key to advance to the next parameter lt lt gt gt Axis Setup gt MODIFY gt UP gt MODIFY gt gt VALID gt rer QUIT gt QUIT gt YES gt QUIT OH Sethome search velocity DO Read home search velocity 2 23 EDH0162En1040 06 99 MM4005 Local Mode Acceleration This parameter defines the maximum acceleration deceleration value to be allowed in all programmed or commanded point to point motions No remote or local commanded acceleration can exceed this value The only motion that is not affected by this setting is the home search routine which uses its own acceleration values The manual jog uses an acceleration ten times smaller than the value set with this parameter To change the maximum acceleration press the MODIFY key Use the numeric keypad to enter a value and then press VALID to accept the set ting and return to the previous menu Press the up key to advance to the next parameter lt gt gt Axis Setup gt MODIFY gt UP gt MODIFY gt E gt VALID gt QUIT gt QUIT gt YES gt QUIT AC Setacceleration BE RNN O08 Bene CTITTI Tritt ry rrr oS SSS DA Read desired acceleration Minimum Position This parameter defines the negative usually left software travel limit No motion will be allowed to exceed t
321. manual jog mode NOTE If the display was disabled by using the RD command it will be re enabled as long as the manual mode is active ATTENTION If the motor power is off when the command is issued it will turn it on and then enter the manual jog mode Returns None Errors D Unauthorized execution Rel Commands MF Motor OFF ML Setlocal mode MR Set remote mode ST Stop motion Example MC Enter manual jog mode MF Motor OFF Usage HIMM E PGM E MIP Syntax xxMF Parameters Description xx int Axis number Description This command should be used as an emergency stop On reception of this command the controller stops motion on the indicated axis with a fast deceleration and then turns motor power OFF If xx is missing the con troller stops motion on all axes The command can be also used to turn the motors off when a manual adjustment of the stage is desired Returns None Errors None Rel Commands AB Abort motion MO MotorON ST Stop motion Example MF Stop all motion and turn motor off GD Newport 3 71 EDH0162En1040 06 99 MM4005 MH Set manual velocity Usage HIMM E PGM E MIP Syntax xxMHnn Parameters Description xx int Axis number nn float Manual jog high velocity value Range XX 1to4 nn 1 to the programmed velocity value in SETUP mode Units XX None nn Preset units in SETUP mode second Defaults XX Missing Error B Out of r
322. menu the MOTOR MQM menu adds the EXEC function which executes stored motion programs The creation and modification of programs is covered in detail in the Programming In Local Mode section of the Local Mode chapter A Newport 1 19 EDH0162En1040 06 99 MM4005 Introduction 1 4 System Setup This section covers motion control system set up and preparing use it First all necessary cables must be connected and the controller must be properly configured This set up procedure configures a minimal system similar to Fig 1 11 Fig 1 11 A minimal control system NOTE If you have not already done so carefully unpack and visually inspect the controllers and stages Please save the packing material in case you have to ship the controller in the future Place all components on a flat and clear work surface Check visually for any sign of damage and if found report immediately to the carrier NOTE The front two legs of the chassis have a tab that if rotated 90 forward place the controller in a slightly angled position To return the controller to horizontal position lift the front side pull on the tabs and return them to the original position CAUTION No cables should be connected yet to the controller QD EDH0162En1040 06 99 1 20 Newport MM4005 Introduction 1 4 1 Connecting Motion Devices If you purchased a standard motion control system you should have received all necessary hardware
323. mory AD EDH0162En1040 06 99 3 116 Newport MM4005 SN Set axis displacement units Usage HIMM Syntax Parameters Description xx int name Range XX Units XX Defaults XX Description Returns Errors A B Ee E E d Rel Commands TN Example 2SNum 2SN 2SNum 2TN 2TNum AD E PGM MIP xxSNname or xxSN Axis number Name of displacement unit to set Read the actual displacement unit 1to4 None Missing Error B Out of range Error B Floating point Error A This command set a new unit to an axis All controller concerning parame ters will be recalculed to adapt for the new unit The standard names of units are following Translation groupe mm um In min ulin and Inc Rotation groupe Dg Gr Rad mRd Rd and Inc If the sign takes place of name this command reportes the name of the actual unit used in the controller Unknown message code Incorrect axis number Unit not translational or incorrect Unit not rotationnal or incorrect Read displacement units Set unit of axis 2 to um Read unit of axis 2 Controller returns axis 2 unit Read unit of axis 2 Controller returns axis 2 unit Newport 3 117 EDH0162En1040 06 99 MM4005 SO Set I O output byte Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example S0224 I
324. mote Emergency Stop switches or Start switches They will have the same effect as the front panel MOTOR or MOTOR EM buttons The minimum rating for the switches should be 50 mA at 24 V and the maxi mum contact resistance should be less than 100 Q Pin Description 1 NC 2 UTIL Start switches must be self release push buttons Wire the switch contacts normally opened The other side of the switch should be connectd to DGND If more than one switch is installed they should be connected in parallela 3 Il Emergency Stop must always be connected to DGND dur ing normal controller operation An open circuit is equiva lent to pressing MOTOR on the front panel Wire the switch contacts normally closed If more than one switch is installed they should be connected in series NC DGND DGND DGND wanoaur GD Newport 8 9 EDH0162En1040 06 99 MM4005 Appendix C Connector Pinouts Remote Control Connector 15 pin D Sub This connector should only be used with the NEWPORT RC4000 remote Controller The connector also provides an Emergency Stop switch input with identi cal operation to the one in the Power Inhibition connector If no remote controller are used the pins must be shorted Pin Description 1 DGND 2 For normal operation connect pins 2 and 3 together An open circuit is equivalent to pressing the MOTOR on the front panel 3 O 4 UTIL 5 UTIL 6 UTIL
325. n Returns Errors Rel Commands Example E IMM XE None E PGM MIP This command retrieves from the controller the informations of the last defined element XEaa bb cc dd bb cc dd S XT LT NT FA45 0 LX10 XE XE Line x 0 10 10 45 Type of element Line x 8 Line y 6 Line x y or Arc x y or arc r 8 x end position of the element y end position of the element Angle of the tangent at the end position or or Communication time out Tell number of elements in the trajectory Extended list of the trajectory Clear trajectory Define initial tangent angle 45 Define and build line segment f 10 0 45 0 Tell last element Controller tells the built element AD 3 170 Newport EDH0162En1040 06 99 MM4005 XF Read maximum following error Usage HIMM E PGM E MIP Syntax xxXF Parameters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Hors limitest Error B Virgule flottantet Error A Description This command reads the maximum following error allowed for an axis If at any time the following error is greater than the acceptable value the con troller will stop all motion and turn motors off NOTE The command reads the value actually used in the servo loop If the PID parameters are modified using the FE command but the digital f
326. n integer Variable number 1 to 100 integer variables and 101 to 120 float variables The YO command lets you send a value to an analog output port xx YO nn xx integer Analog port number 1 to 4 nn float Sent value The RA command is used to return the value entered by a port to the computer xx RA xx integer Analog port number 1to 4 The AM command lets you adjust the voltage level of each analog input xx AM nn xx integer Analog port number 1to 4 nn integer Analog input mode 0to 3 nn 0 or missing or 10 volt tension input range nn 1 or 5 volt tension input range nn 2 0 to 10 volt tension input range nn 3 0 to 5 volt tension input range GD Newport 6 19 EDHO0162En1040 06 99 MM4005 Feature Descriptions Tutorial 6 20 Default Mode S CURVE Profile Two types of profiles exist TRAPEZOID and S CURVE fF Ve TRAPEZOID or S CURVE The Scurve type avoids abrupt variations in speed during axis movement consequently it improves the movement quality V A A Parabola 2 Y Parabola 1 lt Pn da A dt a Temporary acceleration amax Maximum acceleration aay Average acceleration value set from the front panel of the controller Axis Setup gt MODIFY gt Acceleration menu aav amax 2 Advantage Gives smooth acceleration in the acceleration phase start and in deceler ation st
327. n association with the trajectory velocity this will define the necessary time to reach the trajectory velocity NOTE The controller calculates automatically MTA for the trajectory to execute set of trajectory elements entered before this command one time this command is entered and limits the vector acceleration to MTA if the parameter entered is greater than MTA It is then pratical to read MTA just before this command with help of the command XU1 and to read assigned trajectory acceleration after this command with help of the command VS or XU In fact MTA is defined as the minimum value of maximum allowed X assigned axis and Y assigned axis accelerations Returns Ifthe sign takes place of the nn value this command reportes the actu al trajectory acceleration value Errors C Parameter out of limits S Communication time out Rel Commands VV Define the vector velocity on trajectory trajectory velocity XU _ Tell the vector acceleration on trajectory trajectory acceleration Example XU1 Read MTA XU10 0 Controller tells MTA VS8 Define 8 units sec as trajectory acceleration XU Read trajectory acceleration XU8 0 Controller tells assigned trajectory acceleration QD EDH0162En1040 06 99 3 152 Newport MM4005 VV Define the vector velocity on trajectory trajectory velocity Usage WIMM E PGM E MIP Syntax VVnn or VV Parameters Description nn double Desired trajectory v
328. n commands using PA and PR will not be executed until the SE command is received Returns Errors A B C SE 2SY1 4SY1 2PA12 4PA7 3 SE 2SY0 4SY0 Rel Commands Example None Unknown message code Incorrect axis number Parameter out of limits Start synchronized motion Define axis 2 as synchronized Define axis 4 as synchronized Set axis 2 destination Set axis 4 destination Start synchronized motion on the two axes Define axis 2 as non synchronized Define axis 4 as non synchronized AD EDH0162En1040 06 99 3 124 Newport MM4005 TA Read motion device Usage Syntax Parameters Description Valeurs Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxTA xx int Axis number XX 1to4 XX None XX Missing Error B Hors limite Error B Floating point Error A This command reads the type of motion device installed on the specified axis The name of the device is the one found in the Newport catalog NOTE The type of motion device installed on each axis can be changed only through the front panel SETUP menu Name of installed motion device A Unknown message code B Incorrect axis number S Communication time out None 1TA ad the name of motion device installed on axis 1 ITAUTM50PP0 1 Controller returns the name UTM50PP0 1 gD Newport 3 125 EDHO162En1040 06 99
329. n control applica tions static and dynamic loads The static Load Capacity represents the amount of load that can be placed on a stage without damaging or excessively deforming it Determining the Load Capacity of a stage for a particular application is more complicated than it may first appear The stage orientation and the distance from the load to the carriage play a significant role For a detailed description on how to calculate the static Load Capacity please consult the motion con trol catalog tutorial section GD EDH0162En1040 06 99 4 10 Newport MM4005 Motion Control Tutorial A Newport 4 2 12 4 2 13 The dynamic Load Capacity refers to the motor s effort to move the load The first parameter to determine is how much load the stage can push or pull In some cases the two values could be different due to internal mechanical construction The second type of dynamic Load Capacity refers to the maximum load that the stage could move with the nominal acceleration This parameter is more difficult to specify because it involves defining an acceptable follow ing error during acceleration Maximum Velocity The Maximum Velocity that could be used in a motion control system is determined by both motion device and driver Usually it represents a lower value than the motor or driver are capable of In most cases and in particu lar for the MM4005 the default Maximum Velocity should not be increased The hardware a
330. n degrees Celsius QD EDH0162En1040 06 99 3 186 Newport MM4005 YE If variable is equal Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 5YE10 2PR2 6 WS O IMM E PGM E MIP xxY Enn xx int Variable number nn int Comparaison value XX 1to 100 integers and 101 to 120 floats nn 32767 to 32767 XX None nn None XX Missing Error O Out of range Error O Floating point Error A nn Missing Error C Out of range Error C This command will allow execution of a command line based on a vari able s value If the selected variable xx is equal to the nn value all follow ing commands on that line are executed The command must be at the beginning of a line and it applies only to that command line NOTE Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs None A Unknown message code C _ Parameter out of limits L Command not at the beginning of a line O Variable number out of range YA Add to variable YG If variable is greater YL If variable is less YS Initialize variable 5YSO Initialize variable to 0 5WY18 While variable is different than 18 repeat next commands If variable 5 is equal to 10 move axis 2 incremental 2 6 units and wait for stop 3PR1 2
331. n of pulses starts Set step curvi linear distance between synchronisation pulses Set number of synchronisation pulses to generate Generation of pulses ends at the end of the element 4 Read element number where the generation of pulses ends Controller tells the value 3 81 EDHO162En1040 06 99 Newport MM4005 NI Set step curvi4tinear distance between synchronisation pulses MIP New value of step between pulses Read step gt 2 Max X and Y axis encoder resolution Current unit NO pulse is generated Error C This command sets the value of step between pulses to generate between the elements defined by NB and NE If nn is default or zero the generation of pulses of synchronisation is disabled This value of NI will be reexamined in ET command NOTE Because NI and NN are complement commands the last entered NI com mand value replaces all of precedently entered NI or NN commands one If the sign takes place of the nn value this command reportes the step between synchronisation pulses to generate 0 means that no pulse is gen Unknown message code Parameter out of limits Unauthorized execution Set trajectory element where the generation of pulses starts Set trajectory element where the generation of pulses ends Set number of synchronisation pulses to generate Set step between pulses to 0 5 unit Read number of pulses to generate Controller tells
332. n progress Thus we have to start the motion first and then turn on the dispenser The motion we decide to perform is shown in Fig D 4 Axis 2 0 10 14 10 gt Axis 1 0 0 14 0 Fig D 4 Desired Motion Result The program will have the following listing 3XX 3EP CB 1PA0 2PA0 WS 1VA4 2VA4 1AC8 2AC8 1PA14 1WP2 3SB 1WP12 2PA10 2WP8 1PA0 1WP2 2PA0 2WP2 1PA4 1WP2 3CB 3QP Erase program 3 if it exists Enter programming mode and store all entries as program 3 Clear all output I O bits set all bits to zero Move axes 1 and 2 to absolute position 0 mm wait for all axes to complete motion Set velocity of axes 1 and 2 to 4 mm sec Set acceleration of axes 1 and 2 to 8 mm s Move axis 1 to absolute position 14 mm Wait for axis 1 to reach position 2 mm set bit 8 Wait for axis 1 to reach position 12 mm start axis 2 and move to position 10 mm Wait for axis 2 to reach position 8 mm start axis 1 and move to position 0 mm Wait for axis 1 to reach position 2 mm start axis 2 and move to position 0 mm Wait for axis 2 to reach position 2 mm start axis 1 and move to position 4mm Wait for axis 1 to reach position 2 mm clear bit 8 End of program 2 quit programming mode aD EDH0162En1040 06 99 Newport MM4005 Appendix D Motion Program Examples Example 4 Lets assume we want to write the N from the Newport logo We have a X Y ta
333. n reference This is done by first finding the origin switch transition and then the very first index pulse Fig 4 23 Motion _ gt Origin Switch Encoder Index Pulse Fig 4 23 Slow Speed Origin Switch Search So far we can label the two motion segments D and E During D the con troller is looking for the origin switch transition and during E for the index pulse To guarantee the best accuracy possible both D and E segments are performed at a very low speed and without a stop in between Also during E the display update is suppressed to eliminate any unnecessary overhead The routine described above could work but has one problem Using the low speeds it could take a very long time if the motion device happens to start from the opposite end of travel To speed things up we can have the motion device move fast in the vicinity of the origin switch and then per form the two slow motions D and E The new sequence is shown in Fig 4 24 4 19 EDH0162En1040 06 99 MM4005 Motion Control Tutorial Origin Switch Encoder Index T aS E e E Fig 4 24 High Low Speed Origin Switch Search Motion segment B is performed at high speed with the pre programmed home search speed When the origin switch transition is encountered the motion device stops with an overshoot reverses direction and looks for it again this time with half the velocity segment C Once found it stops again with an overshoot rev
334. n to complete Set destination of axis 2 to 12 5 mm start synchro nized axis wait for motion to complete Set destination of axis 1 to 4 5 mm start synchro nized axis wait for motion to complete Set destination of axis 2 to 11 904 mm start syn chronized axis wait for motion to complete Set destination of axis 1 to 4 mm and of axis 2 to 12 5 mm start synchronous motion wait for motion to complete Set I O bit 8 low this will lift the pen up Declare axes 1 and 2 non synchronized End of program quit programing mode QD EDH0162En1040 06 99 8 26 Newport MM4005 4 Axis Motion Controller Driver E Troubleshooting Guide GD Newport Remember that there are no user serviceable parts or adjustments to be made inside the controller or any other component Contact Newport for any repair or other hardware corrective action Most of the time a blown fuse or an error reported by the controller is the result of a more serious problem Fixing the problem should include not only correcting the effect blown fuse limit switch etc but also the cause of the failure Analyze the problem carefully to avoid repeating it in the future The following is a list of the most probable problems and their cor rective actions Use it as a reference but keep in mind that in most cases a perceived error is usually an operator error or has a simple solution Problem Cause Corrective Action Stand
335. nal gain E E E xx WG nn While variable is greater E E xx KS nn Setsa uration level of integral factor EE xx WH nn Whilel O input is equal E E in position loop PID corrector WI nn Wait for a trajectory curvi linear length E xx LP List program a a WK aa Wait for key a E xx LT Extended list of the trajectory E E E xx WL nn While variable is less LX nn Define X position and build a line segment u WN nn Wait for a element of trajectory f LX tangent xx WP nn Waitfor position E 8 E LY nn DefineY position and build a line segment E u xx WS nn Wait for motion stop E E E f LY tangent WT nn Wai E 8 E MC Set manual mode E E xx WY nn While variable is different E E xx MF Motor OFF E E E XA Tell the current maximum allowed angle of discontinuity m m Xx ME nn Manual aes E lal xx XB Read backlash compensation E E E et local mode xx XD Read derivative gain factor E E MO Motor ON E E XE Tell the last element E E MP Download EEPROM to RAM E E xx XF Read maximum following error E 8 E MR Set remote mode E E xx XH Read home preset position E 8 E xx MS Read motor status E E E xx XI Read integral gain factor E EE E a aay Tor Mowe to mave dimi switch xx XL nn Delete one line of program C MX nn Define X position for a line segment f MX MY E E XN Aa Avana oO ll d MY nn Define Y position and build a line segment f MX MY E E xx XP Read proportional is factor E NB nn Set trajectory element where the generation of pulses
336. nd firmware are tuned for a particular maximum velocity that cannot be exceeded Minimum Velocity The Minimum Velocity usable with a motion device depends on the motion control system but also on the acceptable velocity regulation First the controller sets the slowest rate of motion increments it can make The encoder resolution determines the motion increment size and then the application sets a limit on the velocity ripple To illustrate this take the example of a linear stage with a resolution of 0 1 um If we set the velocity to 0 5 um sec the stage will move 5 encoder counts in one second But a properly tuned servo loop could move the stage 0 1 um in about 20 ms The position and velocity plots are illustrated in Fig 4 12 Position Average Velocitymoy Velocity wee ls Fig 4 12 Position Velocity and Average Velocity The average velocity is low but the velocity ripple is very high Depending on the application this may be acceptable or not With increasing velocity the ripple decreases and the velocity becomes smoother This example is even more true in the case of a stepper motor driven stage The typical noise comes from a very fast transition from one step position to another The velocity ripple in that case is significantly higher In the case of a DC motor adjusting the PID parameters to get a softer response will reduce the velocity ripple but care must be taken not to nega tively affect other
337. ndex Pulse 10 Pulse Command 11 DirectionCommand 12 0VAnalog nput 13 N C 14 OV Encoder Supply 15 Driver Inhibition Command 16 N C 17 NC 18 N C 19 Encoder Channel A 20 Encoder Channel B 21 Index Pulse I 22 OV logic 23 OV logic 24 NC 25 Reference for 10 V Analog Input Stepper Motor Driver 2 DC Motor Driver Vx Ouput 74LS06 or 74LS07 MC3487 O C Ouput Vx Ouput OV Logic Fig C 9 DiFF Output Type Fig C 10 Open Collector Output Type Power Supply 4K7 Trigger TTL Input 0V Logic Fig C 11 TTL Input Type QD EDH0162En1040 06 99 8 18 Newport MM4005 4 Axis Motion Controller Driver D Motion Program Examples 0 0 GD Newport 10 5 When learning a new computer language there is no substitute for actually writing some real programs The motion controller s command set is a spe cialized language that needs to be mastered in order to be able to create complex applications To help you familiarize yourself with MM4005 pro gramming structure and language this appendix contains a few examples that you can read and copy Example 1 The first example is a simple two axes program that will generate the trian gle shown in Fig D 1 Axis 2 5mm Axis 1 10 mm Fig D 1 Triangle Pattern Make sure there is no oth
338. ng COMMAMNAS eect eect ceteeettetetetetetetetenaeeeneees 5 10 5 7 4 Trajectory Synchronization COMMAMNAS sesser 5 10 5 7 5 Execution of a Trajectory sesser 5 10 GD Newport 5 1 EDH0162En1040 06 99 MM4005 4 Axis Motion Controller Driver GD EDH0162En1040 06 99 5 2 Newport MM4005 4 Axis Motion Controller Driver Section 5 Trajectory Functions Tutorial El Definition of Terms GD Newport Trajectory A continuous multi dimensional motion path In the MM4005 case the tra jectory is defined in a two dimensional X Y plane The major requirement in executing a trajectory is to maintain a constant vector velocity throughout the entire path with the exception of the acceleration and deceleration periods Trajectory Element A segment of a trajectory that can be defined by a simple geometric shape in our case a line or an arc of circle Trajectory Vector The tangent to the trajectory in any particular point Vector Velocity The linear velocity the speed along the trajectory during its execution Vector Acceleration The tangential linear acceleration used to start and end a trajectory Acceleration and deceleration are equal by default 5 3 EDH0162En1040 06 99 MM4005 Trajectory Functions Tutorial 5 2 Trajectory Description and Conventions When defining and executing a trajectory a number of rules must be fol lowed For the current MM 4005 version these are the convention
339. nge error H unauthorized execution is generated Returns None Errors A Unknown message code C _ Parameter out of limits H _ Calculation overflow J Command authorized only in programming mode O _ Variable number out of range Rel Commands TY _ Read a variable YS Initialize variable Example 5YS30 Initialize variable to 30 5WG18 While variable 5 is greater than 18 repeat next commands 3PR1 2 WS Move axis incremental 1 2 units and wait for stop 5YA 1 Subtract 1 from variable 5 WE End while loop A Newport 3 183 EDHO162En1040 06 99 MM4005 YB Negate variable Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example IMM xxYB xx int XX XX XX E PGM E MIP Variable number 1to 100 integers and 101 to 120 floats None Missing Error O Out of range Error O Floating point Error A This command negates the value of a variable After executing this com mand the value of variable xx takes the opposite sign None A O TY YS 3XX 3EP 7YS3 7YA2 7YB Unknown message code Variable number out of range Read a variable Initialize variable Clear program 3 from memory if any Activate program mode and enter following commands as program B Initialize variable 7 to 3 Add 2 to variable 7 the new value for
340. nguage DOWN MODIFY QUIT Select UP Fig 2 5 GEN setup menu The top display line number 1 indicates the setup mode or level Line number 3 displays one parameter at a time and its current value Line num ber 5 displays an operator prompt The function key definition line number 6 displays a menu that is com mon for most setup screens at this level The first two functions UP and DOWN perform scrolling through a list of parameters A Newport 27 EDH0162En1040 06 99 MM4005 Local Mode Pressing the MODIFY key enters a lower level menu that allows modifica tion of the currently displayed parameter If the value needed is provided from ashort list the new menu looks like this CHANGE QUIT VALID The CHANGE key scrolls through the list QUIT exits this level without recording any modification and vaLip also returns to the previous screen level but the displayed value is stored as the new entry for the selected parameter If a parameter requires a numerical value the menu level that allows modi fications will have the following choices DELETE QUIT VALID The numerical value displayed will have a gt sign in front indicating that a numerical entry from the keypad is expected For simple editing pressing the DELETE key erases the last digit of the numerical entry The VALID key accepts the value for the selected parameter and returns to the previ ous menu The QUIT key
341. nput Voltage Vil 0 5 V High Level Input Voltage Vih 11 12 V Input Current LOW lil 5 10 mA Pulse Width 1 Servo Cycle Input low to high TPih 10 usec Input high to low TPpni 10 usec Logical Outputs Parameter Symbol Min Max Units Low Level Output Voltage Vol 0 1 V High Level Output Voltage Von 30 V Output Current LOW lii 40 mA Pulse Width 1 Servo Cycle Output low to high TPih 1 usec Output high to low TPhi 1 usec To assure good use and performances of the MM4005 respect these maxi mum ratings 12 V Out 30V max LED 40 mA max 1kQ In o Output Input Fig C 2 Equivalent circuits for the digital input and output ports RS 232C Interface Connector 9 Pin D Sub The RS 232 C interface uses a 9 pin Sub D connector The back panel connector pinout is shown in Fig C 3 Internal Connections WOON OU RW N Fig C 3 RS 232C connector pinout QD EDH0162En1040 06 99 8 14 Newport MM4005 Appendix C Connector Pinouts RS 232C Interface Cable The reason some pins are jumpered in the controller as described in Fig C 3 is to override the hardware handshake when an of the shelf cable is used for the RS 232C interface This guaranties proper communication even when the handshake cannot be controlled from the communication software Fig C 4 shows a simple pin to pin cable with 9 conductors COON DU RPWN On oO UU RPWDN 9 9 Pin D Sub
342. nsists of product models is the chosen product family Usethe UP or DOWN keys to scroll through the different product models of the chosen family Press the VALID key to accept the product model on the display and to advance to the next menu The next two screens are for changing the default axis parameters but do not attempt to do at this point Press the VALID key to pass through these screens without making any modifications 10 When the display returns to a screen similar to Fig 1 14 observe the axis specified on the first line and the component on line two They should correspond to the selections you made and to the motion device used on that axis Parameter X for axis Mode l UTM100CCO0 AXE SELECT MOD IFY QUIT Fig 1 14 Axis Device Assignment 11 If you need to modify another axis repeat all steps starting with number 3 1 23 EDH0162En1040 06 99 MM4005 Introduction 12 When all necessary modifications are completed from the screen shown in Fig 1 14 press the QUIT key If modifications to any axis have been made the next screen will ask if you want to save the changes Fig 1 15 WARNING One or several axes have been modified Save changes into EEPROM Fig 1 15 Save screen for axis modifications 13 Press the YEs key to save the changes and return to the main setup menu NOTE If no changes have been made the screen in Fig 1 15 will not appear 14 Press QUIT to return
343. ntroller A Unknown message code B Incorrect axis number g _ Mechanical familly name incorrect TA Read motion device 2SF3 Copy parameters from axis 8 to axis 2 2SFUTM100CC1HL or 2SFUTM100CC1HL O Set UTM100CC1HL mechanical device parameters of axis 2 with centered home position 2SF Read mechanical device name of axis 2 2SFUTM100CC1HL Controller returns the name 2SFUTM100CC1HL 1 Set UTM100CC1HL mechanical device parameters of axis 2 with A home position on opposite motor side Newport 3 113 EDH0162En1040 06 99 MM4005 SH Set home preset position Usage WIMM E PGM E MIP Syntax xxSHnn Parameters Description xx int Axis number nn float Home position preset Range XX 1to4 nn Any value within the software travel limits Units XX None nn Defined motion units Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command defines the value that is loaded in the position counter when home is found The factory default for this value for all motion devices is 0 This means that unless a new value is defined with SH or in the front panel SETUP mode when a home search is initiated using the OR command or from the front panel the home position will be set to 0 NOTE The change takes effect only when a subsequent home search routine is performed NOTE When
344. ock in No encoder necessary e Easy velocity control e Retains some holding torque even with power off e No wearing or arcing commutators e Preferred for vacuum and explosive environments Disadvantages Some of the main disadvantages of the stepper motors are e Could loose steps synchronization in open loop operation e Requires current dissipates energy even at stop e Generates higher heat levels than other types of motors Moves from one step to another are made with sudden motions e Large velocity ripples especially at low speeds causing noise and possi ble resonances e Load torque must be significantly lower than the motor holding torque to prevent stalling and missing steps e Limited high speed 4 6 2 DC Motors A DC motor is similar to a permanent magnet stepper motor with an added internal phase commutator Fig 4 43 A998 9 C Deo E Paas Fig 4 43 DC Motor Applying current to phase B pulls in the rotor pole If as soon as the pole gets there the current is switched to the next phase C the rotor will not stop but continue moving to the next target Repeating the current switching process will keep the motor moving continuously The only way to stop a DC motor is not to apply any current to its windings Due to the permanent magnets reversing the current polarity will cause the motor to move in the opposite direction Of course there is a lot more to
345. oes to state 1 axes 1 and 2 and state 2 axes 3 and 4 In state 1 or 2 the potentiome ter can be used to manipulate the axes NOTE In remote mode MR command using of the joystick is not permitted by default To use it in remote mode send MC command after MR command QD EDH0162En1040 06 99 6 14 Newport MM4005 Feature Descriptions Tutorial 6 13 Changing the Display Precision NP Command or from the Front Panel The xxNPnn command or the menu from the front panel Axis Setup gt MODIFY lets you modify the display resolution for the chosen units Choosing another unit cancels the previous NP command and resets the display precision to the default value adapted to the new units The correct procedural sequence is e Choose the mechanical family corresponding to the mechanism used e Choose the display units desired e Choose the display precision desired The maximum nn value for the chosen units is defined in the following table Unit mm um In min pulin Dg Gr Rad mRd uRd Inc MDR 6 3 7 4 1 6 6 6 3 1 0 The NP command can be executed during axis movement To return to the default precision for the current units execute xxNP noth ing If the current units are Inc Encoder Increment there are no digits after the decimal point The NP command therefore does not operate with the Inc units only for Inc for which it returns an error code 6 14 Periodic Display Mode CD Command or
346. of Contents ccc araa inan carina N EENAA AATA Ea EA aS 4 1 4 1 Motion SYStOMS 0 cece ceceetetstectetetetecsetatseeeeeeeetessetataetasetaenetateeseneenensees 4 3 4 2 Specification Definitions cect teeeeeeeeeetette cee teneceeetesieneeaens 4 4 4 2 1 Following Error cccisscccscctvcsnstisciutesscessencetscevdeanceunenedieteeteatennees 4 4 2d ETOT ei E RA OE A R ORR OE AO R 4 5 42 3 AGCURAGCY eriari oia aa aN AA aaa 4 5 4 2 4 Local ACCUTACY sssessssissssssrsisirststriststnttinrintntnnnnnantnnnnnnntannnnnenenenne 4 6 42S RESOUN anain na a a dak a E as 4 6 4 2 6 Minimum Incremental Motion ccssccssssssssesscesssrsrssseeesens 4 7 ADT Repeatability rieti sranani naaa a tens 4 8 4 2 8 Backlash Hysteresis ccssssesssesscsssssrsesserscerssesrsreaesens 4 8 4 2 9 Pitch Rolland YAW enion 4 9 4 2 10 WODDIe sis E A A E E E 4 10 42 11 t ad Capatity s iricc wari ani diate irdinnmindes 4 10 4 2 12 Maximum Velocity oo e eee cee cee te etete es eeeeeetetesetatetanetaeeteseetees 4 11 4 2 13 Minimum Velocity oe ec eect e tee ete tees eteteetenestetatetnetaeneteseenee 4 11 4 2 14 Velocity Regulation oo eect ete t cette eteee tte ttetitetieetesietee 4 12 4 2 15 Maximum Acceleration 4 12 4 2 16Combined Parameter sesssesseseiereiseiriirsreieininrnrnniese 4 12 4 3 Control LOOPS woe eee ceteeeeeete eens tte teeeceeeeeeeeetesesnetatesaeetaeesaeeesiseeneees 4 13 4 3 1 PID Servo LOOPS iasiinnnandaiiianddinnenind aun 4 13 4 3 2 Feed Forward LOOPS
347. of an ASCII character Converting the ASCII code to binary will give us the status bits values NOTE For a complete ASCII to binary conversion table see Appendix F ASCII Table Returns xxMSaa or xx MSaa Xxx2MSaaz2 xx3MSaa3 xxq4MSaaq XX XX1 XX2 XX3 XX4 Axis number aa aaj aaz aa3 AAG ASCII character representing the status byte Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands TS Read controller status TX Read controller activity Example 2MS Read motor status byte for axis 2 2MSe Controller returns character e or ASCII character 101 converting 101 to binary we get 01100101 which has the following meaning axis in motion motor power ON motion direction positive no limits tripped and mechanical zero high A Newport 3 75 EDHO0162En1040 06 99 MM4005 MT Move to travel limit switch Usage WIMM E PGM E MIP Syntax xxMTnn Parameters Description xx int Axis number nn Typeoflimit Range XX lto4 nn or Units XX None nn None Defaults XX Missing Error B Out of range Error B nn Missing Error C Out of range Error C Description This command directs the MM 4005 to move until it senses the physical travel limit The parameter or sets the direction of motion Normally when a travel limit switch is encountered during motion the MM4005 stops all motion and generates an error me
348. of the MM4005 controller and identify the system configuration that best fits your application you will have to read most of this manual or contact our applications support group for advice GD Newport EDH0162En1040 06 99 1 8 MM4005 Introduction 1 3 1 Features Many advanced features make the MM4005 the preferred choice for preci sion applications e Integrated controller and driver design is more cost effective and a space saving solution e Compact rack mountable or bench top enclosure e Allows any combination of motor types stepper and DC and sizes e Supports closed loop operation of stepper motors e Feed forward servo algorithm for smooth and precise motion e Velocity feedback motor drivers for best motion performance e Advanced multi axis synchronization linear interpolation e Powerful command set for the most demanding applications e Motion program storage and management capability e Advanced motion programming capabilities with up to 100 nested loops and complex digital and analog I O functions e User selectable displacement units e User settable compensation for accuracy and backlash errors Full featured front panel with bright fluorescent backlit display numer ic jog keypad context sensitive function keys full motion selection and control capability and motion program creation and editing capability e Multilingual display capability English or French 1 3 2 Specifications
349. off menu power on default screen press the function keys in this sequence o Eh O E 3 Press functionkey 2 until the desired language appears 4 Press function key 4 three times to return to the top level menu Command Language Set The second parameter in the General Setup menu selected by pressing the uP key once is the Command Language Set labeled as Controller This is the only parameter that you must not change It selects the com mand set the controller will respond to The selection exists only to assure compatibility with future controller models Always leave the setting on STANDARD Press the up key to advance to the next parameter Speed Scaling The Speed Scaling parameter offers a feature not present in many high end controllers It allows an user to execute a motion program at a reduced speed to more easily observe its operation This feature is a great help in troubleshooting complex programs To change speed scaling from the General Setup menu press the uP key until the speed scaling parameter is selected in the display To change the value press the mopiFy key The display will prompt you to change the existing value by preceding it with the gt sign Use the keypad to enter the desired value The maximum value is 100 meaning that the controller will run with the actual programmed velocities To reduce the program exe cution speed to half of the programmed value enter 50 This means that all velocities
350. og input A D Converter ONET Typ 10kQ The analog outputs range is 10 V The maximum offset error is 200 mV and the maximum gain error is 10 LSB The output setting time is typically 6 usec These outputs are voltage outputs output current less than 1 mA so to use them properly they must be connected to an impedance higher than 10 kW 1 LSB is 20 V 4096 5 mV Pin Description 1 DGND 2 NC 3 UTIL 4 UTIL 5 UTIL 6 UTIL 7 UTIL 8 NC 9 NC 10 O A LOW signal indicates that Motor Power is ON 11 O Pulse synchronized to one AXIS see PB PE PI and PS com mands 12 O Pulse synchronized to a trajectory see NB NE NI NN and NS commands 13 DGND 14 Analog Input 1 15 Analog Input 2 16 Analog Input 3 AD Newport 8 11 EDH0162En1040 06 99 MM4005 Appendix C Connector Pinouts 17 18 19 20 21 22 23 24 25 l Analog Input 4 DGND o Analog Output 1 o Analog Output 2 o Analog Output 3 o Analog Output 4 DGND o Output frequency defined by the FT command DGND NOTE Remember that an 1 0 output bit set means that the transistor is con ducting thus appearing to be low QAD EDH0162En1040 06 99 8 12 Newport MM4005 Appendix C Connector Pinouts GPIO Connector 37 Pin D Sub This connector is dedicated to the digital I O ports All outputs are open collect
351. ogram commands Taking advantage of the context sensitive menus commands are assigned to function keys and numerical values are entered on the numerical keypad Because only four function keys are available only three commands can be viewed at a time the fourth key is reserved to advance or exit the menu To avoid scrolling through the entire list commands are grouped by cate gories When entering or editing a command line the controller will display it on the first four lines A command line can have up to 110 characters The display has only 30 characters per line so long command lines will take up several lines For this reason an asterisk will identify the beginning of each logical com mand line NOTE To save display space when wrapping around a command line the con troller does not look for command boundaries separators The result is that commands and numbers will be split without any restriction Once a command line has been entered and terminated it will disappear from the display to make room for a new one To scroll through the pro gram and view different command lines the controller must be in the Program Editing mode The Program Creation mode does not allow you to view program lines other than the one being written or edited 2 4 2 Creating a Program To start creating a program first enter the Program mode by pressing the PROG key from the top level Motor OFF or MOTORON menu and then press th
352. ogram is now listed Execute the program 3 Newport 3 49 EDHO162En1040 06 99 MM4005 ET Execution of trajectory Usage Syntax Parameters Description Returns Errors E IMM E PGM MIP ET ETx or ETy None ET Execute trajectory on two axis X and Y ETx Execute trajectory on axis X alone ETy Execute trajectory on axis Y alone This command first verifies all parameters and entered elements of the tra jectory then direct the controller to start the execution of the trajectory If an error occurs or the necessary conditions to the execution are not com plete the trajectory execution is not started and the command returns a code of error NOTE To avoid errors the desired order of commands is Preparation NT FA e Edition of trajectory LX LY MX MY CR CA CX CY etc e Edition of generation of synchronisation pulses NB NE NI or NN option e Set trajectory velocity and acceleration VV VS option Allow generation of pulses on interpolation NS option e Execution of trajectory ET e Synchronisation software WI or WN option B Incorrect axis number D Unauthorized execution S Communication time out b Trajectory is empty e Trajectory Units not translationnal or not identical f Synchronization pulses generation impossible h Trajectory execution exceeds physical or logical limits Rel Commands VS Define the vector accel
353. ol Configure No PPD Parallel Poll Disable No PPE Parallel Poll Enable No PPU Parallel Poll Unconfigure No REN Remote Enable No SDC Selected Device Clear Yes SPD Serial Poll Disable No SPE Serial Poll Enable Yes SRQ Service Request Yes TAD Talk Address Yes TCT Take Control No UNL Unlisten Yes UNT Untalk Yes QAD EDH0162En1040 06 99 8 6 Newport MM4005 Appendix B IEEE 488 Link Characteristics IEEE 488 Function Subsets This controller support the many GPIB function subsets as listed bellow Some of the listings described subsets that the controller does not support CO Controller The MM4005 can not control other devices T5 Talker The MM4005 becomes a Talker when the CIC Controller In Charge sends its TAD Talker Address with the ATN Attention line asserted It ceases to be a talker when the CIC Controller In Charge sends another device s TAD Talker Address with ATN Attention asserted L4 Listener The MM4005 becomes Listener when the CIC Controller In Charge sends its LAD Listener Address with the ATN line asserted The MM 4005 does not have Listen Only capability SH1 Source Handshake The MM4005 can transmit multiline messages accros the GPIB AH1 Acceptor Handshake The MM4005 can receive multiline messages accros the GPIB SR1 Service Request The MM4005 asserts SRQ Serial Request line to notify the CIC controller In Charge when it requires service RLO Remote
354. ollow ing error XX 1to4 nn 0 0001 to 10000 XX None nn None XX Missing Error B Out of range Error B Floating point Error A nn Missing 1 0 Out of range Error C This command sets the master slave reduction ratio for a slave axis The displacement of the slave axis is the one of the master axis multipled by this coefficient NOTE Use the GR command carefully The slave axis will also have its speed and acceleration in the same ratio than the position Be careful that the ratio used for the slave axis doesn t cause overflow of this axis parameters speed acceleration especially with ratios greater than 1 NOTE If the CD command is used in conjunction with the SS command and GR command the slave axis cycle value must be equal to the master axis cycle value multiplied by the master slave reduction ratio If the sign 2 takes place of the nn value this command reportes the actu al value of the master slave reduction ratio A Unknown message code B Incorrect axis number C Parameter out of limits SS Set master slave mode Set master slave ratio for axis 2 to 100 Read master slave reduction of axis 2 Controller tells the value of this parameter QAD 3 60 Newport MM4005 IE If I O input is equal Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PG
355. olution of axis X and axis Y and Trajectory velocity Tpase CPTL Curvilinear Pulsed Trajectory Length Sum of all trajectory ele ment lengths between NB and NE NOTE The starting position and the ending position of the axis must be outside the interval defined with NB and NE commands without forget accelera tion and deceleration ranges Example Generate 11 pulses on a trajectory starting with element number 2 and end ing with element number 3 NT Start defining a new trajectory LX10 Create element 1 Create element 2 Create element 3 Create element 4 Start pulses on element 2 end on element 3 generate 11 pulses 10 steps each 0 1 unit LY 20 6 5 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial NS Enable the signal generation ET Execute the trajectory TQ Read position of every pulse generated During the execution of a trajectory with such synchronized signals each time a pulse is generated the real and theoretical position of all axes is recorded in the global position buffer that could be read with the TQ com mand The NS command thus terminates the effect of a previously entered GQ command To enable the global trace mode after a trajectory with syn chronized pulses the GQ command must be re issued A pulse is generated automatically as soon as the trajectory execution reaches position Pulse position Pos NB n Step with stage position NB NE
356. ommand generates one pulse at output on pin 12 if xx 0 or pin 11 if xx 1 to 4 of the 25 pin auxiliary connector at the moment of command execution NOTE xx 0 If the global acquisition mode is active GQnn command with nn 0 this command will desactive this mode xx 0 If the axis acquisition mode is active TMnn command with nn 0 this command will desactive this mode Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands GQ Set global trace mode Example GQO _Initialisation of global trace buffer NT FA90 Initialisation of trajectory CR10 CA5 Element 1 CA350 Element 2 CA5 Element 3 VV5 Settrajectory velocity to 5 units sec ET Displacement with generation of pulses WN2 AQ At the beginning of element 2 axis positions are enregistred without synchronization pulse WN3 AQ1 At the beginning of element 3 axis position are enregistred with a GD Newport synchronization pulse EDH0162En1040 06 99 MM4005 AS Affect string Usage HIMM E PGM E MIP Syntax xxASaa or xxAS Parameters Description xx int String variable number aa str String to be affected Range XX 1to8 aa Oor 32 characters Units XX None aa None Defaults XX Missing 0 Out of range Error C Floating point Error A nn Missing Null string clears string Out of range Only first 32 characters are used Desc
357. on SAV 6 ini a a e aS trace Mode sesiis 3 134 AXi Serinin iari a dee 3 124 general parameters seee 3 101 trace sample rate 3 119 Axes Electronic Gearing s 6 8 parameters oo eeeeeeeeeeteteetseeeeeteeeees 3 99 trajectory elementwhere the genera Commands Trajectory 5 10 AD Newport 9 5 EDH0162En1040 05 99 MM4005 Index motion Start eee 3 112 pulses ends Set eee 3 81 Initialize ache asian aes 3 198 pulses generation impossible 8 4 elementwhere the generation of exe is different If vc 3 193 pulses to generate Set number of 3 83 cution exceeds physical or logical is different While wee 3 166 Synchronizing sesser TIMES innir 8 4 IS CQUal A 3 187 Events to MOtiON ceccccccccccccccccceccecesees 6 3 Execution OF vessscescseseeeseseeesseseenens 3 50 IS Greater If ssassn 3 189 Events to Trajectory Elements 6 6 Execution OF a asserere 5 10 iS greater WNIC eens 3 157 Events to Trajectory Position 6 7 Extended list of the3 68 pulses starts IS LOSS afent ai 3 191 SOU E AS 3 80 is less WHIlC eect eteteeeees 3 161 Syitax COMMANG istisini 3 7 first angle definition error se 8 4 Manipulation sesse 3 11 System StU esssorseersseesseesseesseesseesseees 1 20 Line x or Line y 0 impossible 8 4 NSO SIG sant S 3 184 Systems MOtION sssi 4 3 Line x y Line expected s 8 4 number out of range essee 8 3 Line x y too big discontinuity 8 4 R dd ariran aai 3 145 T Pro
358. on screen E E xx DY nn Display a variable E E xx FB aa Label function key a FC Clear function key line FD Display function keys E E xx NP nn Set decimal digits number of position display E RD Disable display refresh E E E RE Enable display refresh E E Status Functions ED nn Display program error E E E xx MS Read motor status E E E TB aa Read error message E z TD Read error line of program E E TE Read error code E E E TS Read controller status E E E TX Read controller activity E E TX1 Read controller extended status E E E VE Read controller version E E E Commands to define a trajectory AD nn Definethe maximum allowed angle of discontinuity E E xx AX Assign a physical axis as X geometric axis E E xx AY Assign a physical axis as Y geometric axis E E CA nn Define sweep angle and build an arc of circle f CR CA E a CR nn Define radius for anarc of circle f CR CA E E CX nn Define X position to reach with an arc of circle f CX CY E E CY nn DefineY position to reach and build an arc of circle f CX CY EL Erase the last element of trajectory E E FA nn Definethe tangent angle for the first point E E LX nn Define X position and build a line segment f LX tangent W E LY nn DefineY position and build a line segment f LY tangent W a MX nn Define X position for a line segment f MX MY E E MY nn DefineY position and build a line segment f MX MY E E NT Start definition of a new trajectory E a
359. oncludes that he needs a cer tain overall accuracy This usually means that he is combining a number of individual terms error parameters into a single one Some of this com bined parameters even have their own name even though not all people mean the same thing by them Absolute Accuracy Bi directional Repeatability etc The problem with these generalizations is that unless the term is well defined and the testing closely simulates the application the numbers could be of little value EDH0162En1040 06 99 4 12 Newport MM4005 Motion Control Tutorial The best approach is to carefully study the application extract from the specification sheet the applicable discrete error parameters and combine them usually add them to get the worst case general error applicable to the specific case This method not only offers a more accurate value but also gives a better understanding of the motion control system perfor mance and helps pinpoint problems Also due to the integrated nature of the MM4005 system many basic errors can be significantly corrected by an other component of the loop Backlash Accuracy and Velocity Regulation are just a few examples where the controller can improve motion device performance 4 3 Control Loops When talking about motion control systems one of the most important questions is the type of servo loop implemented The first major distinction is between open and closed loops Of course this is of p
360. onment This software only accepts the following interfaces e COM1 or COM2 standard serial port HP IB Hewlett Packard board model HPIB 82335 HP IB Hewlett Packard board model HPIB 82340 e GPIB National Instrument board model AT GPIB TNT MOTION Sulte Bempont Softener Sile for MMOS Caoroller Dopyrigh 1087 Nes pori Compote ATTENTION Before uisng NEWPORT MOTION Suite software IEEE 488 boards listed above must be into the initial configuration of the constructor and installed in accordance with its recommended procedure Before uisng NEWPORT MOTION Suite software we advise you to use softwares utilities supplyed with the IEEE 488 board to check that the installation is completed successfully MOTION Suite is a set of 4 softwares MOTION Suite Pro e MOTION Term e MOTION Servo e MOTION Draw e MOTION Prog MOTION Term MOTION Term is a Windows 3 1x application which permits to communi cate with the Newport MM4005 Controller It offers the possibility to change communication configuration and send commands to the con troller directly or since a file or a file containing a MM 4005 program Newport 3 5 EDH0162En1040 06 99 MM4005 Remote Mode 3 2 3 3 2 4 3 2 5 MOTION Servo MOTION Servo is a Windows 3 1x application which permits to set PID servo loop parameters of mechanical axes controlled by the Newport MM4005 Controller It automatically controls th
361. ontroller returns the values found in all four A D converters successively NOTE For the hardware definition of the analog input port please see Appendix B Connector Pinouts Remote Control Connector xxRAnn or xx RAnn xx2RAnn2 XX XX1 xx2 Analog port number nn nny nn2 Analog port value in ASCII format NOTE The value sent for each not connected analog port is not significative A Unknown message code E _ Incorrect I O channel number S Communication time out RB Read O input 1RA Read value of analog port 1 1RA4 500 Controller returns a value of 4 5 V read for analog port 1 QD EDH0162En1040 06 99 3 102 Newport MM4005 RB Read I O input Usage WIMM E PGM E MIP Syntax xxRB Parameters Description xx int 1 0 bit number Range XX Oto8s Units XX None Defaults XX Missing 0 Out of range Error E Floating point Error A Description This command reads the I O input port If xx is specified between 1 and 8 the return is either 0 or 1 depending on the state of the selected I O bit If the bit specifier xx is missing or set to 0 the controller returns the values for all 8 bits The return is a decimal number in ASCII format representing the I O byte To find the values of each bit the number must be converted to binary NOTE For the hardware definition of the I O port please see Appendix B Connector Pinouts GPIO Connector Returns xxRBnn OR
362. op thereby avoiding severe jolts to the mechanisms during these events start end AD EDH0162En1040 06 99 6 20 Newport MM4005 Feature Descriptions Tutorial 6 21 Integrator Factor Saturation Level in Position PID Loop Corrector KS Command The MM4005 controller uses a discrete PID anti windup servo loop The xxKSnn command sets the saturation level of the PID integral factor This is evaluated by nn between 0 and 1 times the maximum possible level of the output signal The Ks parameter 0 to 1 controls the integrator saturation level in the PID loop An excessive value of Ks implies the delayed effect on the controller reaction to the command Conversely too small of a value eliminates the integrator action The optimal value is from 0 5 to 0 9 GD Newport 6 21 EDH0162En1040 06 99 MM4005 Feature Descriptions Tutorial GD EDH0162En1040 06 99 6 22 Newport Section 7 Servo Tuning ater ake ES i pe pprt i ie i i paa i MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 7 Servo Tuning 7 1 Servo TUNING Principles oo eects ceteeeetetetetetaetetsetanseteseeeesaeeeeas 7 3 7 1 1 Hardware Requirements ccceccceeseeeeeeeecieeceteteseeneeeeeeaes 7 3 7 1 2 Software Requirements eect ete e eee ties testes teseeneeeeetats 7 3 72 TUNING Procedures ce sciccscsesccccenessseteveccescenesnuc
363. or a ter minal via commands in ASCII format It is not called a Computer Interface since any device capable of sending ASCII characters can be interfaced with the controller The Remote Interface should not be confused with the analog and digital I Os These interfaces communicate with the controller via discrete lines with specific functions without using any motion commands They are used to synchronize external events in complex motion systems Selecting the Interface The MM4005 controller is equipped with RS 232 C and IEEE 488 interfaces Selecting the interface and setting the parameters is done through the General SETUP menu on the front panel From the top level MOTOR menu power on default menu enter the SETUP menu by pressing the setup key and then the General Setup menu by pressing GEN Now press the up function key until the Communication selection appears To change the displayed and currently active communication interface press the MODIFY CHANGE and then VALID function keys Exit the SETUP by repeatedly pressing the uP key orusethe up key to continue setting other communication para meters Motor OFF _ SETUP gt GEN gt UP MODIFY gt CHANGE gt VALID gt QUIT NOTE For more details on setting up communication parameters see the Controller Configuration paragraph of the Local Mode chapter Newport 3 3 EDHO162En1040 06 99 MM4005 Remote Mode 3
364. or type and are rated for maximum 30V and 40mA Fig C 2 To drive a logic input they require a pull up resistor All inputs are optocoupled and are configured as a LED in series with a 1 kQ resistor connected to the 12 V line Fig C 2 Pin Description 1 NC 12v 2 12V 25mA 3 45V 100 mA 4 Il Digital port Input 1 5 Digital port Input 2 6 I Digital port Input 3 7 Digital port Input 4 8 I Digital port Input 5 9 I Digital port Input 6 10 Digital port Input 7 11 Digital port Input 8 12 O Digital port Output 1 13 O Digital port Output 2 14 O Digital port Output 3 15 O Digital port Output 4 16 O Digital port Output 5 17 O Digital port Output 6 18 O Digital port Output 7 19 O Digital port Output 8 20 DGND 21 DGND 22 DGND 23 DGND 24 DGND 25 DGND 26 DGND 27 DGND 28 DGND 29 DGND 30 DGND 31 DGND 32 DGND 33 DGND 34 DGND 35 DGND 36 DGND 37 DGND 1 If optocoupling feature is activated pin 1 outputs 12Vdc Needs factory service to change If optocoupling feature is activated pin is for external ground Needs factory service to change 2 GD Newport 8 13 EDHO0162En1040 06 99 MM4005 Appendix C Connector Pinouts Optoisolated Inputs Parameter Symbol Min Max Units Low Level I
365. osition and press the vaD key The controller will recognize this as a zero displacement motion and not issue any motion command for that axis Pressing the VALID key after a numerical entry will shift the symbol to the next active axis Repeat the operation for each installed axis When all destinations are defined pressing the VALID key on the last active axis will change the menu on the display to EXEC QUIT Pressing the Exec key will start the absolute motion on all axes When motion on all axes is complete the display returns to the Move menu The display returns to the Move menu ifthe quit key is pressed without executing the absolute motion QD EDH0162En1040 06 99 2 34 Newport MM4005 Local Mode Single Axis Absolute Move a lt lt gt gt MOTORON gt MOVE gt ABSOL gt B gt WALID gt misa EXEC gt QUIT Multiple Axes Absolute Move MOTOR ON PA Move to absolute position 2 3 6 Program Execution The most complex motion that can be initiated from the front panel is the execution of a motion program In this mode an existing program in memo ry is called and executed a specified number of times NOTE A program must exist in the controller s nonvolatile memory in order to be executed See the Programming In Local Mode section on creating pro grams from the front panel or the Remote Mode section for download
366. ove axis 3 incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop QD EDH0162En1040 06 99 3 166 Newport MM4005 XA Tell the current maximum allowed angle Usage Syntax Parameters Description Returns Errors Rel Commands Example of discontinuity E IMM E PGM MIP XA None This command retrieves from the controller the current maximum allowed discontinuity angle XAnn nn Maximum discontinuity angle S Communication time out AD Definethe maximum allowed angle of discontinuity XA Tell maximum discontinuity angle XA0 001 Controller returns 0 001 GD Newport 3 167 EDHO162En1040 06 99 MM4005 XB Read backlash compensation Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxXB xx int Axis number XX 1to4 XX None XX Missing Error B Out of range Error B Floating point Error A This command reads the backlash compensation set for an axis The con troller returns the value last set with the BA command xxXBnn xx Axis number nn Backlash compensation in use A Unknown message code B Incorrect axis number BA _ Set backlash compensation OR Perform a home search on all installed axes 1BA0 0012 Set backlash compensation of axis 1 to 0 0012 units 2BA0 00
367. owed following error for an axis This error is defined as the difference between the real position and the theoret ical position of a motion device The real position is the one reported by the position sensing device encoder scale etc and the theoretical posi tion is calculated by the controller each servo cycle If for any axes and any servo cycle the following error exceeds the preset maximum allowed following error the controller stops motion on all axes and turns power off to all motors The command can be sent at any time but it has no effect until the UF update filter is received None A Unknown message code B Incorrect axis number C _ Parameter out of limits TF Read filter parameters UF Update servo filter XF Read maximum following error Set maximum following error for axis 8 to 0 1 ats aal Update PID filter only now the FE command takes effect QD EDH0162En1040 06 99 3 56 Newport MM4005 FF Set maximum master slave following error Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 3FF0 1 A BIMM E PGM MIP xxFFnn or xxFF xx int Axis number nn float New value of maximum allowed master slave following error Read the actual maximum allowed master slave follow ing error XX 1to4 nn 2x axis encoder resolution to maxim
368. owed the general setup procedure up to this point pressing the uP key will bring you back to the Language parameter the first one covered at the beginning of this section Press quit to return to the top level SETUP menu To exit the setup menu press the quit key again Master Slave Mode Definition Master Slave mode defined the relation between the master and slave axis in the master hierarchy system The slave axis number is displayed with small character inverted video For axis Xx e Master axis nn 0 axis xx is independant e Master axis nn between 1 and 4 xx axis xx is independant Press the UP key until the Master Slave mode appears and then press the UP key to select the Slave axis To change the Master axis press the MODIFY key and then the MASTER key to modify the axis number with the numeric keypad To accept the new Master axis number must be dif ferent from the Slave axis number press the VALID key The factory default is NO Motor OFF _ gt SETUP gt GEN gt UP gt MODIFY gt ee lt gt gt MASTER gt gt VALID gt QUIT gt QUIT SS Set Master Slave mode Newport 2 15 EDH0162En1040 06 99 MM4005 Local Mode 2 2 2 Program Automatical Execution on Power On No program will be executed on power on Press the UP key until the program number appears Press MODIFY and then select the program number with the numeric keypad To ac
369. owledge of motion control loops and the help of a software utility For some general guidelines read the Servo Tuning section To change the proportional gain factor Kp press the MODIFY key Use the numeric keypad to enter a new value and then press VALID to accept the setting and return to the previous menu Pressthe up key to advance to the next parameter lt gt gt Axis Setup gt MODIFY gt UP gt MODIFY gt E gt VALID gt QUIT gt QUIT gt YES gt QUIT _ KP _ Set proportional gain rapa XP Read proportional gain factor Ki This parameter is the integral gain factor of the digital PID filter The valid range is between 0 and 1 All standard motion devices offered with the MM 4005 have a set of conservative PID parameters stored in the con troller s firmware To change them you need some knowledge of motion control loops and the help of a software utility For some general guidelines read the Servo Tuning section To change the integral gain factor Ki press the MODIFY key Use the numer ic keypad to enter a new value and then press vaALip to accept the setting and return to the previous menu Pressthe up key to advance to the next parameter lt lt gt gt Axis Setup gt MODIFY gt UP gt MODIFY gt A gt VALID gt QUIT gt QUIT gt YES gt QUIT KI Setintegral gain XI Read integral gain factor
370. p initiated by any of the WG WH WL or WY commands Up to 100 While loops can be nested but they must follow the general rule of multiple loops last one opened is the first one closed NOTE To be accepted WE must be placed on a different line than WG WH WL or WY To improve program clarity it is recommended to place the WE on a separate line NOTE All While loop commands WG WH WL and WY must be terminated with a WE command None J Command authorized only in programming mode WG While variable greater than value WH While I O input is equal WL While variable is less WY While variable is different 2YS0 Initialize variable 2 to 0 2WY 10 2YA1 Open first while loop while variable 2 is different than 10 add 1 to variable 2 5WH1 3PR1 2 WS Open second while loop while I O input bit 5 is high move axis 3 GD incremental 1 2 units and wait for stop WE End second while loop WE End first while loop Newport 3 155 EDHO0162En1040 06 99 MM4005 WF Wait for function key Usage IMM E PGM E MIP Syntax xxWF Parameters Description xx int Variable number Range XX 1to 100 integers and 101 to 120 floats Units XX None Defaults XX Missing Error O Out of range Error O Floating point Error A Description This command interrupts the execution of a program and waits for user input When the command is executed
371. pensation adjustment reduces the bandwidth of the amplifier to avoid oscillations of the closed loop The MM4005 uses this type of velocity feedback loop driver with velocity calculation circuitry to simulate a tachometer when one cannot be used This circuit measures the applied voltage and current adjusts for the motor s resistance and back emf and outputs a voltage proportional to the velocity To guarantee the best setup no adjustments are available on board Each driver card is configured with fixed components for a particular motor and is identified as such with a label on the panel This means that a driver card can be used only with the specified motor Another motor even one with similar parameters will not work properly and could cause serious oscillations The voltage and current marked on the label are not the actual values used by the motor They represent the limits set by the driver and often the motor uses only a fraction of them The MM4005 uses two types of DC motor drivers one for low power motors and one for high power motors The first one is called MM16CC and can drive the following small motors Motor a ras ac UE16CC 0 1 12 UE17CC 0 22 12 UE31CC 0 15 24 UE33CC 0 3 24 The second type of driver card is the MM 78CC used for larger DC motors Motor a ae UE404CC 1 24 UE404S 3 24 UE511CC 2 48 UE511S 2 7 48 4 33 EDH0162En1040 06 99 MM4005 Motion Control Tutorial
372. play returns to the Line Entry menu Command generated PR Moveto relative position NOTE The controller recognizes zero travel relative motions as no motions and does not issue a command for them synchronize motion sequence commands This function will add to the program a command that causes the con troller to wait for a motion to be complete before executing the next com mand Depending on the selection the controller can wait for all or one axis to complete motion When prompted enter the axis number to wait for or just press VALID to accept the default 0 and wait for all axes Command generated WS Wait for motion stop QD EDH0162En1040 06 99 2 40 Newport MM4005 Local Mode HOME Perform a home search sequence Use this function to initiate a home search sequence on one or all axes Press VALID or enter a 0 for all axes or select an axis number on the key pad Pressing VALID will add the command to the command line and return to the Line Entry menu Command generated OR Search for home DELAY Introduce a delay in the program execution This command when added to a program causes the controller to wait for a specified amount of time Use the numeric keypad to specify the delay and then press VALID to accept the value and return to the Line Entry menu Command generated PR Wait MOTORS Turn motor power on or off Use this function to turn the power to the motors on or off W
373. plications can be successfully implemented Take the example of dispensing glue on the pattern shown in Fig D 2 lt 14mm 10 mm R 2mm Fig D 2 Glue Dispensing Pattern Notice that there is no need to set the velocities before the synchronized interpolated motion The controller automatically calculates them to get the best accuracy possible without exceeding the pre set individual veloci ties Also when finished with an interpolated motion always return the axes to the non synchronized mode Velocity A Axis 1 Axis 2 gt Time Axis 1 Fig D 3 Overlapping Axis Acceleration Deceleration Assuming that the desired velocity is 4 mm sec we need to calculate the acceleration and the positions where one axis starts decelerating and the other accelerating We know that an axis must travel 2 mm before reaching a velocity of 4 mm sec A Distance f A Distance Velocity gt T Time SOSE Time 5 Velocity A Velocity Velocity SOA Velocity gt Acceleration Time elocity A Distant Since the velocity starts from zero A Velocity Velocity Velocity 42 8 mm sec Acceleration A Distance 2 Newport 8 21 EDH0162En1040 06 99 MM4005 Appendix D Motion Program Examples Before starting to write the actual program we need to consider one more thing to assure a good result the glue must start being dispensed while the motion is i
374. position E E E ED nn Display program error EEEE xx TQ nn Read global race data E E EL Erase the last element of trajectory E E xx TR Read right travel limit E E E xx EO nn Automatical execution on power on E E TS Read controller status E E E xx EP nn Edition of program C xx TT Read trace data a E ET Execution of trajectory E E xx TU Read encoder resolution E E E xx EX nn Execute a program m TX Read controller activity E E E FA nn Define the tangent angle for the first point E E TX1 Read controller extended status E E E xx FB aa Label function key E u xx TY Read a variable E E 8 FC Clear function key line 8 xx UF Update servo filter E E E FD Display function keys E E xx UH Wait for I O high laa xx FE nn Set maximum following error E 8 n xx UL Wait for 1 0 low 7 xx FF nn Set maximum master slave following error E xx VA nn Set velocity E E E FT nn Set output frequency E E E xx VB nn Set base velocity Stepper motor only E E E GQ nn Setglobal trace mode E E E VE Read controller version E E E xx GR nn Set master slave reduction ratio VS nn Define the vector acceleration on trajectory seg xx IE nn Ifl O input is equal E E E trajectory acceleration xx JL Jump to label E VV nn Define the vector velocity on trajectory trajectory velocity W E m KC Abort command line E E E WA nn Wai E E E xx KD nn Set derivative gain E E E WE End While loop E E xx KI nn Set integral gain E E E xx WF Wait for function key E E xx KP nn Set proportio
375. pre defined motion rules excessive tangent discontinu ity excessive acceleration travel limits Trajectories can be defined in both IMMediate and PRoGram mode El Geometric Conventions The coordinate system is an X Y orthogonal system Any valid motion axis can be assigned to be the X or Y axis After executing a trajectory new axes can be assigned to X or Y axis The origin of the X Y coordinate system is in the lower left corner with positive values up and to the right All angles are measured in degrees represented as floating points num bers Angle origin and sign follow the trigonometric convention positive angles are measured counter clockwise QD EDH0162En1040 06 99 5 4 Newport MM4005 Trajectory Functions Tutorial Ei Defining Trajectory Elements GD Newport Trajectories can be defined in many different ways There is no universal standard and most manufacturers of motion controllers use some degree of custom conventions For the MM 4005 the guiding principal was to be as user friendly as possible Line and arc elements can be defined in more than one way to offer the best solution for each application The elements are seamed together automatically and the entire trajectory is verified before execution to guarantee its definition conforms to all rules Entry Angle Fig 5 1 Trajectory example Figure 5 1 shows a trajectory example Every trajectory must have an entry ang
376. problem and recompile to verify the rest of the program Repeat this operation until the controller reports back a full compilation without error If the program editing is done on aremote computer do not forget to erase the old version of the program with XX command Otherwise the new ver sion of the program will be appended to the old one A program can be executed without being first compiled with CP This com mand is helpful only in catching typing or structural program errors but it does not guarantee that the program is fail safe xxCPaa xx Program number aa ASCII code of the error type If no error is detected aa is charac ter A Unknown message code F Program number incorrect G Program does not exist See Appendix A for additional list of programming errors Rel Commands EP Edition of program QP Quit program mode Example 3XX Clear program 3 from memory if any 3EP Activate program mode and enter following commands as program 3 dean aol QP End entering program number 3 and quit program mode 3CP Compile program number 3 3CP Controller confirms compilation of program number 3 without any error aD EDH0162En1040 06 99 3 30 Newport MM4005 Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example CR Define radius for an arc of circle f CR CA E IMM E PGM MIP
377. r carefully and in conjunction with Kd NOTE Ks 0 to 1 controls the saturation level of Ki integral factor of the PID position closed loop A excessive value of Ks implies the delayed effect on the controller reaction towards processus to command Conversely a too little value eliminates the integrator action The optimal value varies between 0 5 and 0 9 Start if possible with a value for Ki that is at least two orders of magnitude smaller than Kp Increase its value by 50 at a time and monitor the over shoot and the final position at stop GD Newport 7 5 EDH0162En1040 06 99 MM4005 Servo Tuning 7 2 3 If intolerable overshoot develops increase the Kd factor Continue increas ing Ki and Kd alternatively until an acceptable loop response is obtained If oscillation develops immediately reduce the Ki Remember that any finite value for Ki will eventually reduce the error at stop It is simply a matter of how much time is acceptable for your applica tion In most cases it is preferable to wait a few extra milliseconds to stop in position rather than have overshoot or run the risk of oscillations Following Error During Motion This is caused by a Ki value that is too low Follow the steps in the previous paragraph keeping in mind that it is desirable to increase the integral gain factor as little as possible Points to Remember e The MM4005 controller uses a servo loop based on the PID with velocity feed
378. r a valid axis number If 0 is entered the controller will assume that you want to perform a simul taneous motion on all axis Pressing VALID will cause the screen to display the usual position infor mation for all four axes The symbol appears for the first axis and the user can enter the desired destination for it Press VALID to accept the entry and advance the gt symbol to the next axis If a single axis was select ed or the entry is made on the last axis the command is stored and the dis play returns to the Line Entry menu Command generated PA Moveto absolute position NOTE A simultaneous motion is not a synchronous a linear interpolated motion The motion is not truly synchronized because there are one or more servo cycles delay between axes For most applications this causes an imperceptible error Start a relative point to point motion When this key is pressed the controller asks for the axis number the motion is to be performed on Use the keypad to enter a valid axis number If 0 is entered the controller will assume that you want to perform a simul taneous motion on all axis Pressing VALID will cause the screen to display the usual position infor mation for all four axes The symbol appears for the first axis and the user can enter the desired relative travel for it Press VALID to accept the entry If a single axis was selected or the entry is made on the last axis the command is stored and the dis
379. r by asserting the GPIB SRQ line When the Controller acknowledge the SRQ it serial polls each open device on the bus to determine which device requested service Any device requesting service returns a status byte with bit 6 set and then unasserts the SRQ line Devices not requesting service return a status byte with bit 6 cleared Manufacturers of IEEE 488 devices use lower order bits to communicate the reason for the service request or to summarize the state of the device GD Newport 8 7 EDH0162En1040 06 99 MM4005 Appendix B IEEE 488 Link Characteristics Service Requests from IEEE 488 2 Devices The IEEE 488 2 standard redefined the bit assignments in the status byte In addition to setting bit 6 when requesting service IEEE 488 2 devices also use two other bits to specify their status Bit 4 the Message Availiable Bit MAV is set when the device is ready to send previously queried data Bit 5 the Event Status Bit ESB is set if one or more of the enabled IEEE 488 2 events occurs These events include power on user request command error execution error device dependant error querry error request con trol and operation complete The device can assert SRQ when ESB or MAV is set or when a manufacturer defined condition occurs Also on page 7 7 National instruments give an example on how to conduct a serial poll SRQ and Serial Polling with NI 488 Device Functions The following example illustrates the us
380. rase programs stored in the non volatile memory If xx is missing or set to 0 all programs in RAM will be erased NOTE On power up the controller automatically loads all programs stored in non volatile memory into RAM If a program is erased using the XX com mand to run the same program number a new one must be created or the old one downloaded from non volatile memory using the MP com Unknown message code Program number incorrect Unauthorized command in programming mode List program Download EEPROM to RAM Clear program 3 from memory Activate program mode and enter following commands as program 3 End entering program 3 and quit programming mode Compile program 3 Controller confirms compilation of program 8 without any errors aD EDH0162En1040 06 99 3 182 Newport MM4005 YA Add to variable Usage UIMM E PGM E MIP Syntax xxYAnn Parameters Description xx int Variable number nn int Value to add Range XX 1 to 100 integers and 101 to 120 floats nn 32767 to 32767 Units XX None nn None Defaults XX Missing Error O Out of range Error O Floating point Error A nn Missing 0 Out of range Error C Floating point Decimal part truncated Description This command adds a value to a variable It is useful for creating loops ina program The value may be positive or negative NOTE If at any time the operation will cause the variable value to go out of ra
381. rate 8 bit digital ports one for input and one for output A variety of commands are available for control and interface using these ports from within a motion program A Newport 1 13 EDH0162En1040 06 99 MM4005 Introduction Power Inhibition Connector This 9 pin D Sub connector provides remote motor power interlock capa bility One or more external switches can be wired to remotely inhibit the motor power in a way similar to the MOTOR button on the front panel The controller is shipped with a mating 9 pin connector installed that provides the necessary wiring to enable proper operation without an external switch Auxiliary Connector This 25 pin D Sub connector has two active lines One is for motor power status indication and the other for frequency generator output The fre quency generator is controlled by the motion program and has a frequency range of 0 01 to 5000 Hz Remote Control Connector This 15 pin D Sub connector provides two functions The first is similar to the Power Inhibition connector The two active pins must be short circuited for the motor power to be enabled The connector s second function is to provide inputs for the two analog ports These ports are two independent 8 bit analog to digital converters Programming commands allow the user to read and manipulate the informa tion provided by these ports The controller is shipped with a mating 15 pin connector installed that pro vides the neces
382. ration XV Tell the vector velocity on trajectory trajectory velocity Example XV1 Read MTV XV20 Controller tells MTV VV5 Define 5 units sec as trajectory velocity XV Read trajectory velocity XV5 0 Controller tells trajectory velocity A Newport 3 153 EDHO0162En1040 06 99 MM4005 WA Wait Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP WAnn nn int Waittime delay nn Oto 1073741824 nn Milliseconds XX Missing 0 Out of range 0 Floating point Decimal part truncated This command causes the controller to pause for a specified amount of time This means that the controller will wait nn milliseconds before exe cuting the next command NOTE Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs NOTE This command is identical to WT Both exist only for program compati bility reasons with other controllers None None WT Wait 6UL WA400 2PA2 3 Wait for I O input bit 6 to go low wait an additional 400 ms and then move axis 2 to position 2 3 units QD EDH0162En1040 06 99 3 154 Newport MM4005 WE End While loop Usage Syntax Parameters Description Returns Errors Rel Commands Example O IMM E PGM E MIP WE None This command terminates a WHILE loo
383. rd in the following circum stances If the power cord or any other attached cables are frayed or damaged in any way If the power plug or receptacle is damaged in any way If the unit is exposed to rain excessive moisture or liquids are spilled on it If the unit has been dropped or the case is damaged If you suspect service or repair is required Whenever you clean the case To protect the equipment from damage and avoid hazardous situations fol low these recommendations GD Do not open the equipment There are no user serviceable or adjustable parts inside Do not make any modifications or parts substitutions to the equipment Return the equipment to Newport for any service and repair needs Do not touch directly or with other objects live circuits inside the unit Do not operate the unit in an explosive atmosphere Keep all air vents free of dirt and dust Do not block air vents with paper or other objects Keep all liquids away from unit Do not expose equipment to excessive moisture gt 85 humidity Newport 1 3 EDH0162En1040 06 99 MM4005 Introduction WARNING All attachment plug receptacles in the vicinity of this unit are to be of the grounding type and properly polarized Contact your electrician to check your receptacles CAUTION This product is equipped with a 3 wire grounding type plug Any inter ruption of the grounding connection can create an electric shock hazard If you are unable
384. rection e Key HEME Infinite displacement of axis 3 in negative direction Key HEME Stop the infinite displacement of axis 3 Key EEE Infinite displacement of axis 3 in positive direction Key EEE Infinite displacement of axis 4 in negative direction e Key HE Stop the infinite displacement of axis 4 e Key HE Infinite displacement of axis 4 in positive direction QD EDH0162En1040 06 99 2 36 Newport MM4005 Local Mode MOTOR ON gt MOVE gt NEXT gt INFINI gt one QUIT gt QUIT 2 3 8 Stop Axis Infinite Movement The infinite movement can be stopped at any time thanks to the menu Press the MOVE key on MOTORON menu Press the NEXT key to activate the second Move menu Press the stop key and then use the numeric keypad to start motion Press x r to exit the STOP menu Now if one key of numeric keypad is pressed one infinite displacement will be activated or stopped e Key HEE Stop the infinite displacement of axis 1 e Key HEHE Stop the infinite displacement of axis 2 Key HEME Stop the infinite displacement of axis 3 Key W Stop the infinite displacement of axis 4 e Key all Stop all infinite displacement and quit the menu QUIT gt QUIT Ea Programming in Local Mode The MM4005 controller allows the user to create and edit programs from the front panel This makes it a true stand alone unit capable of executing most motion
385. regardless of the zero position the positive and negative software limits are recalculated to stay in the same place in space None A Unknown message code B Incorrect axis number D Unauthorized execution DH Define home OR Search for home SH Sethome preset position 3PA1 23 Move axis to position 1 23 units 3TR Read positive software travel limit of axis 3 3TR50 000 Controller returns positive travel limit 50 units for axis 3 3ZP Setcurrent position of axis 3 to 0 3TP Read real position of axis 8 3TP0 000 Controller returns real position 0 for axis 3 3TR Read positive software travel limit of axis 8 3TR48 770 Controller returns positive travel limit 48 77 units for axis 3 aD EDH0162En1040 06 99 3 202 Newport MM4005 ZT Read Axis General parameters configuration Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example GD gm IMM PGM E MIP xxZTnn xx int Axis number nn Type of report 0 Axis configuration 1 General configuration XX Oto4 nn Oorl XX None XX Missing 0 Out of range Error B nn Missing 0 Out of range Error C This command reports the MM4005 axis general parameters configuration that is found in the menu SETUP MENU AXES or SETUP MENU GEN UTM100CC0 1 URM80PP UTM50CCO0 1 UZM160PP0 1 SET
386. relative position E E E SE Start synchronized motion E a xx ST Stop motion E m E xx ZP Zero position E E Trajectory definition parameters xx AC nn Set acceleration E E E xx DA pp Read desired acceleration E w E xx DF Read following error E E E xx DP Read desired position E E E xx DV pp Read desired velocity E E E xx MV or Infinite movement B E E SD nn Speed scaling E m xx TH Read theoretical position B xx TP Read actual position a E E xx VA nn Set velocity E E E xx VB nn Set base velocity Stepper motor only E E E EDH0162En1040 06 99 3 8 Newport MM4005 Remote Mode GD Newport Command Description IMM PGM MIP Special motion parameters xx DM Read manual velocity E E E xx DO Read home search velocity E E E xx MH nn Set manual velocity E E m xx OA nn Set home search acceleration E a xx OH nn Set home search high velocity E E xx OL nn Set home search low velocity E E xx PA nn Moveto absolute position E E xx PB nn Setstart position of generation of pulses of synchronisation W E E xx PE nn Set end position of generation of pulses of synchronisation W E E xx PI nn Setstep of generation of pulses of synchronisation E E E xx PS pp Allow generation of pulses on motion E E xx PT nn Calculate necessary time for axis displacement E a xx SH nn Sethome preset position E E xx SY nn Axis synchroniz
387. ription This command affects a string in a string variable If xx is missing this command erases all string variable from 1 to 8 Returns If the sign takes place of aa and xx is different of zero this command reportes actual xx string buffer content Errors A Unknown message code C _ Parameter out of limits D Unauthorized execution Rel Commands CS Concatenates two strings DS Display strings on screen Example 1AS This Affects This in variable S1 S1 This 2AS is Affects is in variable S2 S2 is 3AS Affects in variable S3 S3 1CS S2 Concatenate S2 to S1 S1 This is 1CS S3 Concatenate 3 to S1 S1 This is 1CS a string Concatenate a string to S1 DS S1 Contents of variable S1 This is a string Displayed on the controller s screen GD EDH0162En1040 06 99 Newport MM4005 AT Tell the element number under execution Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP AT None This command retrieves from the controller the element number of the tra jectory that is currently being executed ATnn nn Element number S Communication time out XT Tell number of elements in the trajectory LT Extended list of the trajectory ET Execute trajectory AT Read current element number Controller returns 1 AX Assign a physical axis as X geometric axis
388. rom front panel or joy stick This is the high speed manual jog mode when the center key is pressed simultaneously with a direction key The manual jog low speed is 1 10 of the high speed The manual jog high speed is assigned in the axis setup or redefined with the MH command xxDMnn xx Axis number nn Manual jog high velocity value in pre defined units sec A Unknown message code B Incorrect axis number S Communication time out MH Set manual velocity 2DM Read manual jog high velocity on axis 2 2DM2 5 Controller returns for axis 2 a manual jog GD Newport 3 39 EDHO162En1040 06 99 MM4005 DO Read home search velocity Usage BM IMM M PGM WMIP Syntax xxDO Parameters Description xx int Axis number Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command reads the velocity to be used in the home search cycle This is the high velocity of the algorithm the other ones being scaled down from it The home search high velocity is set by the OH command or from the front panel SETUP menu Returns xxDOnn xx Axis number nn Home velocity value in pre defined units sec Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands OH _ Set home search high velocity Example 2DO Read home search high velocity on axis 2
389. ronous motion wait for motion to complete Set destination of axis 1 to 10 5 mm start synchro nized axis wait for motion to complete Set destination of axis 2 to 2 979 mm start synchro nized axis wait for motion to complete set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start motion wait for motion to complete QD EDH0162En1040 06 99 Newport MM4005 Appendix D Motion Program Examples GD Newport 2PA0 SE WS 1PA11 5 SE WS 2PA1 788 SE WS 1PR0 5 2PR 0 596 SE WS 2PA0 SE WS 1PA12 5 SE WS 2PA0 596 SE WS 1PA13 2PA0 SE WS 1SY0 2SY0 a 8CB 1PA17 WS 8SB 2PA2 5 WS 1Y S0 1SY1 2SY1 IWL8 1PR 0 5 2PR0 596 SE WS 2PR 3 SE WS 1PR 0 5 2PR0 596 SE WS Set destination of axis 2 to 0 mm start synchronized axis wait for motion to complete Set destination of axis 1 to 11 5 mm start synchro nized axis wait for motion to complete set destination of axis 2 to 1 788 mm start synchro nized axis wait for motion to complete set relative destination of axis 1 at 0 5 mm and of axis 2 at 0 596 mm away from current position start synchronous motion wait for motion end set destination of axis 2 to 0 mm start synchro nized axis wait for motion to complete Set destination of
390. ror code ED1 Activate program execution error display utility 3EX Start executing program Disable program execution error display utility Newport 3 45 EDH0162En1040 06 99 MM4005 EL Erase the last element of trajectory Usage HIMM Syntax EL Parameters None Description Returns None Errors D S b Rel Commands LT NT XE Example NT LX10 EL XT XTO E PGM MIP This command erases the last entered from actual elements of a trajectory Unauthorized execution Communication time out Trajectory is empty Extended list of the trajectory Start definition of a new trajectory Tell the last element Start a new trajectory Insert an element Erase this element Read number of trajectory elements Controller returns 0 QAD EDH0162En1040 06 99 3 46 Newport MM4005 EO Automatical execution on power on Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands E IMM E PGM MIP xxEOnn or EO xx int Program number to execute on power on nn int Number of times on execution Read program number to execute and number of times of execution XX 1t0127 nn 1to 2147385345 XX None nn None XX Missing 0 no program execution on power on Out of range Error F Floating point Error A nn Missing 1 one
391. rror C Out of range Error C Floating point Decimal part truncated Description This command sets the trace mode for an axis If the trace mode is activated by setting nn between 1 and 4000 the controller will start recording in mem ory the theoretical and the actual position of the specified axis starting with the execution of every PA or PR motion command The number of samples stored is the one specified by nn and the sample interval is the one set by the SP command To read the recorded trace data use the TT command To disable the trace mode issue the TM command with nn set to 0 NOTE Once the trace mode is enabled the controller will record data every time a PA or PR command is sent for the specified axis When TT is issued only the last set of data is returned To avoid unnecessary CPU overhead after the desired measurement is completed disable the trace mode by issuing the command with a 0 for the nn parameter Returns Ifthe sign takes place of nn this command turns the possible max num ber of points in trace mode TM Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands SP _ Set trace sample rate TT Read trace data XN Read number of acquisitions Example SP0 002 Settrace sample period to 2 ms 2TM500 Settrace mode for axis 2 and 500 data points 2PRO0 1 WS Performa motion of 0 1 units on axis 2 and wait for stop TT Read trace da
392. rt to element 2 NE2 Set pulses end to element 2 NN21 21 pulses will be generated within element 2 VV5 Settrajectory velocity to 5 units sec NS Allow generation of pulses on interpolation ET Execute trajectory with generation of pulses TQ Read stocked data GD EDH0162En1040 06 99 3 86 Newport MM4005 NT Start definition of a new trajectory Usage WIMM E PGM MIP Syntax NT Parameters None Description This command tells to the controller to reset the trajectory buffer and to get ready to load a new trajectory for execution NT sets the initial position X Y and first tangent angle to 0 0 Returns None Errors D Unauthorized execution S Communication time out Rel Commands EL Erasethe last element of trajectory LT Extended list of the trajectory XE Tellthe last element Example NT Reset current trajectory OA Set home search acceleration Usage WIMM E PGM MIP Syntax xxOAnn Parameters Description xx int Axis number nn int Acceleration value Range XX 1to4 nn 1 to the programmed value in SETUP mode Units XX None nn Preset units in SETUP mode sec Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the acceleration and deceleration portion of the veloci ty profile generator for home search All subsequent home
393. s Rel Commands Example 0RO209 oRO49 QAD TG224 E IMM E PGM E MIP xxTGnn I O bit number 1 0 bit mask Oto 8 0 to 255 None None xx int nn int XX nn XX XX XX Missing 0 Out of range Error E Floating point Error A nn Missing 255 Out of range Error C Floating point Decimal part truncated This command toggles one to all output bits of the I O port If xx is speci fied between 1 and 8 the nn mask must be missing and then the selected bit will be inverted If xx is missing or set to 0 and nn is between 1 and 255 the controller will toggle all bits corresponding to the mask For example if nn is 140 the equivalent binary mask is 10001100 which means that I O output bits num ber 3 4 and 8 will be inverted remember that I O bits are numbered from 1 to 8 If xx is missing or set to 0 and nn is not specified the controller toggles all 8 bits This is equivalent to setting xx to 0 and nn to 255 None A E Unknown message code Incorrect I O channel number CB RO SB SO ORO Clear I O outputs bits Read I O output Set I O output bits Set I O output byte Read all 8 bits of the I O output port Controller returns 209 which converted to binary means bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 1 1 0 1 0 0 0 1 Toggle bits number 6 7 and 8 of the I O output port Read all 8 bits of the I O output port Controller returns 49
394. s Incorrect I O channel number Unauthorized command Set analog input mode Read a value from an user analog port and affect variable Initialize the variable 2 to zero While the variable 2 is smaller than 10 Displacement of 2 units wait for stop Send the value of variable 2 to analog port number 1 Variable 2 is incremented End of loop aD EDH0162En1040 06 99 3 194 Newport MM4005 YP Set theoretical position in variable Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxYPnn xx int Axis number nn int Float variable XX 1to4 nn 101to 120 XX None nn None XX Missing Error B Out of range Error B nn Missing Error C Out of range Error C This command sets the current theoretical position in the desired Y float variable None B Incorrect axis number C Parameter out of limits YQ Set current position in Y variable 1YP101 Setthe theoretical position of the axis 1 in the float variable 101 gD Newport 3 195 EDHO162En1040 06 99 MM4005 YQ Set current position in variable E PGM E MIP Axis number Float variable 1to4 101to 120 None None Missing Error B Out of range Error B Missing Error C Out of range Error C This command sets the current position in
395. s a group of motion devices with the same prefix Usethe up or pown keys to scroll the family list When the desired product family is displayed press the VALID key to accept the entry and advance to the next menu the model selection NOTE Notice that the first product family displayed is DEFAULT This is to allows the user to define the parameters of a custom device or one that is not manufactured by Newport Once a family is selected the controller prompts you to pick a product model from the selected family Use the up or pown keys to scroll the model list When the desired product model is displayed press the VALID key to accept the entry and advance to the next menu Pressing the quit function key will return the display to the top level Axes Setup menu NOTE Part of the component selection procedure is setting the PID parameters It is strongly recommended that these parameters should not be changed from this menu They are displayed here only for factory setup purposes After a component model has been selected the next menu displays the Kp parameter Do not make any changes to the value press VALID Do the same for the following Ki and Kd parameters This will return the display to the top level Axes Setup menu A Newport 2 17 EDH0162En1040 06 99 MM4005 Local Mode AxisSetup gt SELECT gt uP gt VALID gt up gt VALID gt VALID gt VALID TA Read motion device
396. s been found Indicates that the negative direction left limit switch has been activat ed tripped M Appears when the mechanical origin switch is in high state As a stage moves from one end to the other you will see this indicator appear and disappear This means that the stage has moved from one side of the switch to the other The state of this indicator does not affect the nor mal operation of the motion device For a complete description of the home search algorithm see Section 4 Motion Control Tutorial Indicates that the positive direction right limit switch has been acti vated tripped Newport 2 31 EDH0162En1040 06 99 MM4005 Local Mode 2 3 3 2 3 4 NOTE If both and appear the motion device is ether disconnected or a hardware failure exists On power up sequence the controller checks every axis for this case If found it assumes that no motion device is pre sent The axis is marked with Unconnected on the display and all com mands for it will be ignored At the end of each axis information line an OK is displayed if no error has been detected If a problem is detected on one of the axes the message ERROR will appear Zero Display During operation in Local Mode the need may arise to force the current position to become zero This means that without moving the current position is displayed and reported as zero Any subsequent motion will be referenced to th
397. s that guide the contouring implementation Multiple trajectories can be defined in a program but only one is active at a time This means that the controller can have only one trajectory ready to be executed Once one trajectory is started it executes in background allowing the other axes and peripherals to work independently and simultaneously Each trajectory must have a beginning and an end Endless infinite trajectories are not allowed The size of a trajectory is limited to 100 trajectory elements This value is arbitrary and should satisfy most complex applications The trajectory definition process must ensure a continuous motion path to avoid any excessive accelerations and shocks that could damage the stages The line segments are true linear interpolations y Ax B The arc segments must be true arc of circles X Xo y yo R A trajectory is always defined relative to the pre defined stage units To avoid confusion it is recommended to use same units of displacement on both axes Each trajectory is defined relative to its starting point Thus every start ing point has the coordinates 0 0 All trajectories start executing from the current X and Y positions To execute a trajectory from a desired location the two axes correspond ing to X and Y must be moved using the standard point to point com mands PA PR Before executing a trajectory the controller verifies if its definition does infringe on any
398. s the values of one variable to another The value of variable nn is copied to variable xx After execution both variables will have the same value Returns None Errors A O Rel Commands YC YD YM YS Example 5YS5 2Y S9 1Y R3 3YY1 3YA 32 3YM5 3Y D2 QAD Unknown message code Variable number out of range Add variables Divide variables Multiply variables Initialize variable Initialize variable to 5 Initialize variable 2 to 9 Load analog port 3 value into variable 1 Copy variable 1 in variable 3 Ssubtract 32 from variable 3 Multiply variable 3 with variable Divide variable 3 by variable 2 if variable 1 represents a tem perature measured in degrees Fahrenheit variable 3 will be the equivalent temperature in degrees Celsius Newport 3 201 EDHO162En1040 06 99 MM4005 ZP Zero position Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example IMM E PGM MIP xxZP xx int Variable number XX Oto4 XX None XX Missing 0 Out of range Error B Floating point Error A This command forces current position to zero This means that the coordi nate system of the specified xx axis will be moved so that the current posi tion becomes zero If xx is not specified the zeroing operation will be per formed on all axes NOTE Because the mechanical system must be protected
399. s turned off MO command which turns motor power on is executed before PR commmand except if the controller has detect ed a fault condition NOTE Even though the command is accepted while a motion is in progress care should be taken not to reverse direction of motion When this com mand is received the controller verifies if it will produce a change of direction If so it will refuse the execution and set error code D NOTE If the axis was previously defined as a synchronized axis PR command will only set the destination but not generate a motion For synchronized axes use SE command to execute a motion None A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution AC Setacceleration PA Moveto absolute position ST Stop motion VA Set velocity Example 3VA8 Setvelocity of axis 3 to 8 units sec 3PR2 34 Move axis 8 2 34 units away from the current position QD EDH0162En1040 06 99 3 96 Newport MM4005 PS Allow generation of pulses on motion Usage HIMM E PGM E MIP Syntax xxPSpp Parameters Description xx int Axis number pp int Auxiliary parameter Range XX Oto4 pp Oto3 Units XX None pp None Defaults XX Missing Error B Out of range Error B Floating point Error A pp Missing 0 Description This command verifies the correctness of data enterred by PB PE and PI befor
400. sary wiring to enable the activation of motor power RS 232 C Connector This 9 pin D Sub connector provides an RS 232 C interface to a host com puter or terminal The port has a three line configuration using a software XON XOFF handshake The pinout enables the use of an off the shelf pin to pin cable The port provides internally the necessary jumpers to bypass the hardware handshake if needed IEEE 488 Connector This is astandard 24 pin IEEE 488 connector Power Switch Entry Module The power entry module include a standard IEC 320 inlet combined with a line filter fuse box and main power switch The main power switch turns power on and off to the entire unit including the stand by circuit NOTE The MM4005 senses the line voltage and automatically switches between 110 V and 220 V operation The acceptable voltage ranges are 95 to 32 V or 195 to 263 V at 48 to 63 Hz While familiarizing yourself with the rear panel and its components leave the main power switch in the OFF position Always make certain the power switch is in the OFF position before plugging in the power cord Ground Post The ground post provides an additional chassis ground connection when needed The MM4005 controller chassis can be externally grounded in addition to or instead of the grounding supplied through the AC cord QD EDH0162En1040 06 99 1 14 Newport MM4005 Introduction 1 3 5 Motor Off Switch Motor On AD SOE
401. seesaneas 2 12 IEEE 488 SRQ Used sassssssssssssrsissrssssstsininntinrintntnsinrnnnnnnrsrninnne 2 12 Baud Raten na a a e E N a et 2 12 XON XOFEFE MOd h hae ana a eink 2 13 PARVE de Oni a A a T a E it 2 13 Word Length iesiri aai 2 14 StOP BitSin insane sea deeteleaui a adits Sinan 2 14 Axis HOME SQQuencCe cecscssseseseeseteeecseeetseeetseeesetataetasseneeaeaes 2 14 Master Slave Mode Definition serrer 2 15 Program Automatical Execution on Power ON ccseeeeee 2 16 Profile TyP ch cis cheaeia dee ttagiidinscieduiviaidaiaces 2 16 2 2 2 AXIS SQCUP ranila cei d E a a aaa ia anai Tiia 2 16 Axis Number Selection sssssssseesssessseresersiersrrrsrrrrerersrererresrierernns 2 17 Motion Device Selection ssesssssrssrssrerersrssrsererersrersrresriernrens 2 17 Modifying Axis Parameters sesrereerrirrerrnrnnrnnnn 2 18 UNIS an a A E A E terse ere AE 2 18 Motion Typera pua anta i AEE i 2 19 HOME TYDE upiga ii iii 2 19 MOOT TYPE aiiiar A TA IT 2 19 Control Eoo p scared cnt trihineauiinnntiomudriny 2 20 Periodicity awit festa ea Gna ata een awe 2 20 Motor Increment eects eeeeceeeteeeeeeesneeeeeseeensieeseenneeeneetad 2 21 Encoder INCrEMENL cccccccsccsssscssssrssecesecsescessessesarseesaesesesateas 2 21 Scaling Speed saniser iiia i A i aii 2 22 Maximum Speed iinei iain 2 22 Mantal Speeds a 06 ict Ae lane ite et 2 23 HOME Speed inaianei leat talen aati 2 23 Acceleratio M sur a aA AA 2 24 Minimum Position ccccceccceesccsesscsess
402. seierisirreirieiernreinersene 2 37 2 4 1 General CONCEDES 0 ecce cesses eeeeseseeeeseeetsenetsenetseeetaeeensees 2 38 2 4 2 Creating a Program oo eect cee eeteeeeteeetetetieneteteteteneees 2 38 Command Line Creation cccceceseceeseeeeeeeeeeeseeeseeeseeeseees 2 39 WHILE Loop Creation ceccccecceeceeeeeeeeeeneeeenesieeceeceenees 2 42 2 4 3 Modifying a PrOGrAIN nec eeceeceeeeee ee eeeetetettetetteetaeeeteetetettetetaees 2 43 GD EDH0162En1040 06 99 2 2 Newport MM4005 4 Axis Motion Controller Driver Section 2 Local Mode 2a Quick Start AD After reading the Introduction Section you are now prepared to turn the motors on and command the stages to execute motions The following paragraphs will guide you through a quick tour of the LOCAL mode motion commands CAUTION You should at least read the System Setup Section of the Introduction before attempting to turn on the controller or the motors Serious dam age could occur if the system is not properly configured Motor On After first turning the controller on as described in the previous section you are ready to turn the motors on Be sure that the motion devices are placed on a flat surface and that their full travel will not be obstructed CAUTION Be prepared to quickly turn the motor power off if you observe any abnormal operation Press the MOTOR EE button on the front panel You may hear a small relay click inside the controller as the green LED
403. sin a a ai 1 15 Motor On OPP ari rinan rianan kO TANA 1 15 Numeric Keypad i a cicccinl dessin Medidn itd cnnetinnedes 1 16 Function Keys Display cccccccceseeseteeeesetettenetneteeteceneteneeees 1 16 1 3 6 Display Configuration oo cccccceeee este eeeeeeetieneteteceeeneees 1 16 Display Organization 0 cece ceseeeteeeeseteesetetietettecteeeeneeees 1 16 Menu StFUCCULC eiecsecssessecsessesseessesseeseessasseesesaesarseatsatseateaes 1 17 COMMON FUNCTION KEYS weet ceeteeeeteteteteeteetsetetateeteees 1 17 Status DiSPlAY orisii a ae 1 17 1 3 7 Display StrUCtUf eiai ionisoi aa i 1 18 MOTOR Menis S eani aired are 1 18 MOTOR WOM Menu cccccccccscccsssscsssscssssesssssescseserseseesaveesesesees 1 19 SYSTEM SCCUP nee ranr adamantane ahi 1 20 1 4 1 Connecting Motion Devices cece tieetietetieteeeeeteees 1 21 1 4 2 JFIrst Power ON sveteteriscsieien aarttelaliniwnieite en cuttin 1 21 1 4 3 Verifying Default Devices oo ceeee eee etete tite tetetieteteeteteees 1 22 QD EDH0162En1040 06 99 1 2 Newport MM4005 4 Axis Motion Controller Driver Section 1 Introduction m Safety Considerations The following general safety precautions must be observed during all phas es of operation of this equipment Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety stan dards of design manufacture and intended use of this equipment Disconnect or do not plug in the power co
404. sing or not correct Program error line Communication time out Read error message Read error code Program 1 An error generating line End of program Execute program 1 an error will occur Read program error line Controller returns error line Read error message buffer Error message GD EDH0162En1040 06 99 3 128 Newport MM4005 TE Read error code Usage Syntax Parameters Description Returns Errors Rel Commands Example IMM E PGM E MIP TE None This command reads the error code of the controller The error code is one ASCII character stored in the error register NOTE When an error is read using TB or TE the error buffer is reset This means that an error can be read only once with either command NOTE The error reported is the last one that has occurred If more than one error has occurred since the last reading only the last one is reported and the rest are lost NOTE For a complete listing and description of all error codes see Appendix A Error Messages TEaa aa Error code character S Communication time out TB Read error message TE Read error message TE Controller returns no error 5PA12 3 Move axis to position 12 3 A TE Read error message TEB Controller returns error code B meaning incorrect axis number Newport 3 129 EDHO162En1040 06 99 MM4005 TF Read filter parameters Usage HIMM E PGM E MIP Syntax xx
405. sp Ne Na waste a aS 5 3 Read MAX MUM wc 3 171 Pae PE EE tanec ee daha tens 3 152 Elements Definition Commands Format Command 37 the vector velocity on trajectory Thal OClOry ci bcetanat awed 5 10 Front Panel Description 1 15 e bahstianveced dese a anys 3 153 Emergency Language Reset c06 2 9 A X position and build aline segment g y guag Bunton a A i 1 9 f LX tangent ossis 3 69 Enable display refresh 3 105 Function Key 1 6 X position for aline segment f MX ENCOJ E iian annaa 1 6 COMMON aroia a 1 17 Mnsan eni 3 78 Increment inas 2 21 Display oniirenaiiiireiiii 1 16 3 55 X position to reach with anarc of cir resolution Read 3 141 line Clear onanii 3 54 cle f CX CY a e O 3 33 Encoders AAEE E EEEE E AE 4 21 Label aisles AATE AS EAN EAEE 3 53 Y position and build aline segment Ed mmnnnmnnnninnnnnnnnnn a a oe autite ape f LY tangent as sianta rendbestagtestnes 3 70 position of generation of pulsesof Functions aeaa tay env iatas eana E Aaaa es Y position and build aline segment synchronisation Set sccccsesssseeee 3 94 Display scat ctl nccthadeicctasccectaa steers 3 11 FCT XY eccst cietts cate racteativenteds 3 79 While 100p vcnn 3 155 Statu S inne nA hia TRAR 3 11 Y position to reach and build anarc F Ai rase nsanra e the een AA USES nia A A iian Aaii 1 10 of circle f CX CY eses 3 34 aif the last element of trajectory 3 46 Defining sic centric mean aaa its PIOGQTAIM asasinii 3 182 G Ar
406. splay line 6 is dedicated to the four function keys An option description field will appear above each key if it has an active function in the current menu Pressing a key will perform the select ed command or will change the display to a new menu level This capability to navigate between a number of menu levels to get to the desired com mand is the basis of the LOCAL mode operation Common Function Keys Some of the function keys have the same definition in different menus The following descriptions list the most common keys and their functions QUIT Terminates the current operation and returns to the menu one level up In most cases any unsaved entries are ignored VALID Appears when an entry is required It accepts the selected value and advances the display to the next menu MODIFY Activates a lower level menu that enables the user to make changes to the currently displayed parameter UP Scrolls the display up through a list of parameters DOWN Scrolls the display down through a list of parameters DELETE Is used when a numeric entry is required It deletes the last character entered Note that for a value to be modified it must first be activated and the gt sym bol must precede it NEXT Scrolls the display through a number of choices in the same menu level Status Display Pressing the STATUS function key activates the display to provide addition al axis information It does not change the menu level Fig 1 9
407. sponds to an instantaneous velocity change on both axes which repre sents an infinite acceleration The result is a shock jerk felt by the stages and the load and a temporary following error pulse The larger the angle of discontinuity the larger the jerk and the following error will be Special consideration must be given to both of these effects when increasing the maximum discontinuity angle from its 0 001 default value 5 5 EDH0162En1040 06 99 MM4005 Trajectory Functions Tutorial To eliminate the burden of calculating the angle matching use as much as possible the commands that define a straight line by one coordinate X or Y and by the entry angle also referred to as the tangent This simplifies the user s programming task and lets the controller find the best fit for the trajectory elements 5 4 1 Defining Lines There are two ways to define a line of a trajectory The first one is to speci fy the X Y end coordinates the starting point is always the end point of the previous element This is the most common procedure found in the indus try Fig 5 3 X Y eo ee Fig 5 3 Line to X Y As described previously when using this method the user must make an extra effort in making sure the maximum discontinuity angle is not exceeded A second mode of defining a straight line in a trajectory is illustrated in Figure 5 4 5 4 a 5 4 b Fig 5 4 Line to X or Y Using the previous element s exi
408. ssage and turns the motor s power off However with this command reaching the travel limit is the desired function so other motions will not be stopped and an error message will not be generated NOTE It is recommanded to set the velocity of the stage to not more than 10 of its maximum velocity when using this command to avoid mechanical damage Returns None Errors A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution Rel Commands MV Infinite movement Example 1MT Move axis 1 to positive limit 3MT Move axis to negative limit AD EDH0162En1040 06 99 3 76 Newport MM4005 MV Infinite movement Usage HIMM E PGM E MIP Syntax xxMV or xxMV Parameters Description xx int Axis number Displacement in positive direction Displacement in negative direction Range XX 1to4 Units XX None Defaults XX Missing Error B Out of range Error B Floating point Error A Description This command starts an infinite movement with the velocity predefined by VA command To stop movement use ST command NOTE While a motion is in progress care should be taken not to reverse direc tion of motion When this command is received the controller verifies if it will produce a change of direction If so it will refuse the execution and set error code D NOTE If the axis was previously defined as a synchronized axis MV command do
409. sssessieseieiisrsieisisrrsrsrsrsrsrsntnrirnrsrnnriniennrnn 7 3 7 1 1 Hardware Requirements ssessssssesisisisiirissisrsieisrsstsrnrsrsrnrenrnens 7 3 7 1 2 Software Requirements sssseseseiisrsisiirinisisieisreststntsrsrnresrnens 7 3 TUNING ProcedUT eS acns annan a aara a a aa 7 4 E21 Axis Oscillation sin nenna aa aat 7 4 7 2 2 Increasing PerformanCe sesssessisisirieirirsrsrsieisiesrnrsrsrnnnsnnrns 7 5 7 2 3 Points to Remember sssssssssssrsrsesessrsisinnrnrnentntniritnentntnnensnsnnnnnnna 7 6 Section 8 Appendices Table of Contents nnii Aa A a aat 8 1 Error Message Snine Seanecatyeitvnessacunciatasgenesuncanctaiduttackaytancia tia geal 8 3 IEEE 488 Link Characteristics ccccccsccsssssssssssssecsssescsssrssrssrssrsessases 8 6 Connector PIN OUTS seistsecrnnicinte nen a T n T a aaa 8 9 Motion Program EXamMpleS sssssssissesesesrsrsststsesrsrnrenninnintntnnersinntntnrrnt 8 19 Troubleshooting Guide cccccccceecseteesteesteceeteesieecieeeseseeneens 8 27 Decimal ASCII Binary Conversion Table 8 30 Factory SERVICE eaaa eaa Ana dite aliases NA AEA DAEA AERA ATAA ANANA pian 8 33 Section 9 Index Command List by Category Command List Alphabetical AD EDH0162En1040 06 99 vi Newport MM4005 4 Axis Motion Controller Driver E E E E a E E E E E a A DA i i if H u a oS We declare that the accompanying product identified with the C mark
410. stator is exactly between the rotor teeth the torque becomes zero again Fig 4 41 Fig 4 41 Point Unstable Point This is an unstable point and any misalignment or external force will cause the motor to move one way or another J umping from one stable point to another is called missing steps one of the most critiqued characteristics of stepper motors The torque diagram versus teeth misalignment is shown in Fig 4 42 The maximum torque is obtained at one quarter of the tooth spacing which is equivalent to one full step Torque Fig 4 42 Torque and Tooth Alignment Newport 4 27 EDH0162En1040 06 99 MM4005 Motion Control Tutorial This torque diagram is accurate even when the motor is driven with half mini or micro steps The maximum torque is still one full step away from the stable desired position When mini and micro stepping motors are used in open loop applications there is inherent error but advanced con trollers like the MM4005 can control the stepper motors with closed loop operation to eliminate this problem Advantages Stepper motors are primarily intended to be used for low cost micro processor controlled positioning applications Due to some of their inher ent characteristics they are preferred in many industrial and laboratory applications Some of their main advantages are e Low cost full step open loop implementation No servo tuning required e Good position l
411. t angle tangent the controller can execute a line to the specified X coordinate Fig 5 4 a or Y coordinate Fig 5 4 b This method simplifies the programming job and guaranties the best trajec tory elements fit 5 4 2 Defining Arcs Arcs can also be defined in two different ways The first one is more conven tional where a radius and the sweep angle will define the arc Fig 5 5 Fig 5 5 Arc defined with radius and angle QD EDH0162En1040 06 99 5 6 Newport MM4005 Trajectory Functions Tutorial Both radius and sweep angle are expressed in double precision floating point numbers It is particularly interesting to mention that the sweep angle has a range of 1E 12 to 1 7E304 allowing execution of arcs from a fraction of a degree to a practically infinite number of overlapping circles The second method of defining an arc is to specify the X Y coordinates of the end point Using the exit angle of the previous element the controller will determine the unique arc that fits the parameters Fig 5 6 Fig 5 6 Arc defined with end point This automatic mode of describing an arc can simplify the process of geo metrically defining a trajectory significantly reducing the programming time A particular application is in approximating an irregular path Fig 5 7 Fig 5 7 Contouring with arcs By specifying an entry angle and a number of X Y coordinates the con troller will automatically perform a
412. t element QD EDH0162En1040 06 99 3 68 Newport MM4005 Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example LX Define X position and build a line segment f LX tangent E IMM E PGM MIP LXnn nn double X coordinate to reach with a line segment nn 1 0 E to 1 0 EP nn Preset units in SETUP mode nn Missing Error C This command defines to the controller to build an element of trajectory of Out of range Error C the type line segment f LX tangent None oT7 xe WTA LY XE NT FA45 0 LX10 XE XE Line x 6 10 10 45 GD Newport 3 69 EDHO162En1040 06 99 Parameter out of limits Calculation overflow Communication time out Too long trajectory Trajectory Line x y Line expected Trajectory Line x 6 or Line y 6 impossible Trajectory Units not translationnal or not identical Define Y position and build a line segment f LY tangent Tell the last element Clear trajectory Define input tangent 45 Define and build line segment f 10 0 45 0 Tell last element Controller tells the built element MM4005 Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example LY Define Y position and build a line segment f LY tangent E IMM E PGM
413. t excessive ringing characteristics more than 3 cycles after stop To reduce the ringing add some damping by increasing the Kd parameter Start with a Kd value one order of magnitude smaller than Kp Increase it by a factor of 2 while monitoring the following error As Kd is increased the overshoot and the ringing decrease almost to zero NOTE Remember that if the acceleration is set too high the overshoot cannot be completely eliminated with Kd If Kd is further increased at some point the oscillation will reappear usual ly at a higher frequency Avoid this by keeping Kd at a high enough value but not so high as to reintroduce oscillations Next add more gain Increase the Kp value by 50 at a time until signs of excessive ringing appear again Alternatively increase Kd and Kp until Kd cannot eliminate the overshoot and ringing at stop This indicates Kp is larger than its optimal value and should be reduced Ultimately optimal values for Kp and Kd depend on the stiffness of the loop and how much ringing the application can tolerate Errors At Stop Not In Position If you are satisfied with the dynamic response of the PID loop but the motion device does not always stop accurately modify the integral gain factor Ki As described in the Motion Control Tutorial Section this term of the PID reduces the following error to near zero Unfortunately it can also contribute to oscillation and overshoot Always change this paramete
414. ta aD EDH0162En1040 06 99 3 134 Newport MM4005 TN Read displacement units Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example E IMM E PGM E MIP xxTN xx int Axis number XX Ito4 XX None XX Missing Error B Out of range Error B Floating point Error A This command reads the type of displacement units used on a specified axis The units are defined in the SETUP menu of the front panel XxTNaa xx Axis number aa Displacement units two or three ASCII characters A Unknown message code B Incorrect axis number S Communication time out None 1TN Read the type of displacement units used on axis 1 1TNmm Controller reports mm for axis 1 GD Newport 3 135 EDHO162En1040 06 99 MM4005 TP Read actual position Usage WIMM E PGM E MIP Syntax xxTP Parameters Description xx int Axis number Range XX lto4 Units XX None Defaults XX Missing 0 Out of range Error B Floating point Error A Description This command reads the actual position the instantaneous real position of one or all motion devices If the axis specifier xx is missing or set to 0 the controller returns the actual position of all axes If xx is a number between 1 and 4 the controller returns the actual position of that axis Returns xxTPnn or xxiTPnnj xx2TPnnz2 xx3TPnn3 x
415. teeas 6 9 6 5 Automatic Displacement Units Change SN Command or from the Front Panel 3 overs Sits ati Midis aos tte Ged aaa 6 10 6 6 Stage Type Selection SF Command or from the Front Panel 6 11 6 7 Reading parameters With 2 oo cccceecseeeeeteteetetesetetesteteeeneseeees 6 11 6 8 Error Reporting TD Command oe ete etetettetettetteteeeneeeeees 6 13 6 9 Integral Gain Saturation Limit KS Command l enn 6 13 6 10 Program Editing EP Command c cece cnet ttetettetteteteneeeees 6 13 6 11 Firmware Update occ eset cece ceetecestenesnenetetesaesneceeecesiees 6 13 6 12 OVStICK iain atari niente 6 14 6 13 Changing the Display Precision NP Command or from the Front Panel ee ee TE NT eT ME ee ee 6 15 6 14 Periodic Display Mode CD Command or from the Front Panel 6 15 6 15 H Paramete sinun a nna a a a T Ea i 6 16 6 16 Asynchronous Acquisition AQ Command ssssessessseserrerrrerreeees 6 17 6 17 Executing Sub Routines in a Program EX Command sses 6 18 6 18 Load Communications Mode CM Command esseere 6 19 6 19 Analog Input Output AM RA YO YR CommandS see 6 19 AD Newport v EDH0162En1040 06 99 MM4005 Table of Contents 6 20 Default Mode S CURVE Profile esseere 6 20 6 21 Integrator Factor Saturation Level in Position PID Loop Corrector 7 1 7 2 Onm oOVWV DD KS COMMANG ira taaani i E a a a A i ea 6 21 Section 7 Servo Tuning Tableof Contents yoni nunan a E E 7 1 Servo Tuning Principles s sssss
416. teeesnsen 3 51 Di QWeiviccsteulcts nini a WARA Ea 3 6 EX CUtION iets adda beeen 2 35 Minimum Incremental 4 7 P IS TOO 1ONGs sir dacsdaceedcani 8 3 Profiles inina anann 4 17 p OD a 4 14 Lisia aaa 3 67 PrO iopo iaia 3 6 p t of limit 83 MEMOPY iaaa ieai 1 10 Program Examples sssssssssesseen 8 19 OU IPCC SE Di Net EE tetesesiaih Decangena i mode Quit 3 100 SOV Oo hoeroa arina ae ena 3 6 PAFAMALETS woeesssssessecsssseeesecsseseessessseeen Modifying disney x aeniAtein ote 2 43 Stop IE E PE ATETEA T TT T 3 123 Combined PETT 4 12 number incorrect a E A 8 3 stop gt Wait fOr sssri 3 164 Digital filter 3 9 SAVE sts tadranattec tan liauatataeadl 3 116 SUING anhaa nardit 3 5 Motion dEV Ce essercene 3 9 PrOgraMM ING iann 1 10 3 10 ISTENIE ERN 4 3 SAVE sessies peneste 3 99 a Trajectory 58 Ter Maataa a a ai 3 5 Special motion sia teeneeeeneeennecenaneenaeetans 3 9 in Local Mode ee eT TYPER Mtn AE rote 2 19 Trajectory definition sssr 3 8 mode Command authorized only in MOTOT terora aoan aae With Reading 6 11 8 3 INCreMOeN E vecccccccccccccccccccceccessesereeeeees 221 A Parity ianen n nn tii Nee 2 13 proportional Qaith ceosusacsssscsascsnssnesesnee Interface Connector ssssssssssssesresess 8 17 Pass Through Board Connector 8 18 factor Read neee 3 177 T Menus A N a Periodic Display Mode 6 15 SQl hai N A hs 3 65 Ghose kchi tree here g Perjodicity sses 2 20 pulses on interpolation Allow genera Nie tsctenateetee an knee ca 373 o PI
417. tegers and 101 to 120 floats 32767 to 32767 None None Error O Error O Error A Missing 0 ofrange Error C Missing of range This command starts a WHILE loop based on a variable s value While the selected variable xx is greater than the nn value all following commands up to the corresponding WE are executed The loop is repeated until the test becomes false At that point program execution continues with the line immediately following the WE command None A C i J L i O WE WH WL WY Example 5YS30 5WG18 3PR1 2 WS GD 5YA 1 WE Unknown message code Parameter out of limits Command authorized only in programming mode Command not at the beginning of a line Variable number out of range End While loop While I O input is equal While variable is less While variable is different Initialize variable 5 to 30 While variable is greater than 18 repeat next commands Move axis 8 incremental 1 2 units and wait for stop Subtract 1 from variable End while loop Newport 3 157 EDH0162En1040 06 99 MM4005 WH While I O input is equal Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands IMM E PGM E MIP xxWHnn xx int 1 O input bit number nn int 1 O input bit or byte state XX Oto8s nn Otolor Oto 255 XX None nn
418. term usually used for both linear and rotary models Function key One of the four keys associated with the display its function is determined by the current menu Home position The unique point in space that can be accurately found by an axis some times called origin Home search A specific motion routine used to determine the home position Index pulse A precision encoder generated pulse used in the home search algorithm Jog Undetermined length motion initiated manually MM4005 controller Refers to the MM 4005 integrated controller driver Motion device An electro mechanical motion device Move Motion to a destination initiated manually or remotely Origin Used sometimes instead of home Origin switch A switch that determines an approximate point in space used in the home search routine PID Type of closed loop control algorithm Remote In this manual refers to the mode of operation where communication is performed over a computer interface link Stage The most common type of motion device for the MM4005 used inter changeably in this manual for rotary and linear positioners QD EDH0162En1040 06 99 1 6 Newport MM4005 Introduction Fl General Description my erPerrrrrr A Newport The MM4005 is an advanced stand alone integrated motion controller dri ver It can control and drive up to 4 axes of motion in any stepper and DC motor combination The MM4005 controller
419. that has been selected to operate in closed loop including those driven by stepper motors The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning section on how to adjust the PID filter parameters Returns None Errors A Unknown message code B Incorrect axis number C _ Parameter out of limits Rel Commands KD Set derivative gain KP _ Set proportional gain UF Update servo filter XI Read integral gain factor Example 3K10 01 setintegral gain factor for axis 3 to 0 01 ve vier vie 3UF Update PID filter only now the KI command takes effect aD EDH0162En1040 06 99 Newport MM4005 KP Set proportional gain Usage WIMM E PGM E MIP Syntax xxKPnn Parameters Description xx int Axis number nn float Proportional gain factor Kp Range XX 1to4 nn Otol Units XX None nn None Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the proportional gain factor Kp of the PID closed loop It is active for any motion device that has been selected to operate in closed loop including those driven by stepper motors The command can be sent at any time but it has no effect until the UF update filter is received See the Servo Tuning section on how to adjust the PID filter parameters
420. the Velocity Regulation Usually only higher end motion control systems use this technology and the MM4005 is one of them Since having a real tachometer is very expensive and in some cases close to impossible to implement the MM4005 can both use or simulate a tachometer through special circuitry and obtains the same result 4 2 15 Maximum Acceleration The Maximum Acceleration is a complex parameter that depends as much on the motion control system as it does on application requirements For stepper motors the main concern is not to loose steps or synchronization during the acceleration Besides the motor and driver performance the load inertia plays a significant role For DC motor systems the situation is different If the size of the following error is of no concern during the acceleration high Maximum Acceleration values can be entered The motion device will move with the highest natural acceleration it can determined by the motor driver load inertia etc and the errors will be just a temporary larger following error and a velocity over shoot In any case special consideration should be given when setting the acceler ation Though in most cases no harm will be done in setting a high accelera tion value avoid doing so if the application does not require it The driver motor motion device and load undergo maximum stress during high accel eration 4 2 16 Combined Parameters Very often a user looks at an application and c
421. the axis that will JOG Each key row controls one axis as indicated by the label on the left To summarize if you want to jog fast axis number 2 in the positive direc tion press simultaneously the keys numbered and WJ To exit the manual jog mode press the QUIT key 2 1 4 First Move From the top level MOTOR EW menu press the MOVE function key The display will offer you the following menu MANUAL RELAT ABSOL NEXT You can start by pressing the ABSOL key to command an absolute motion The next screen will look similar on the top four lines with the exception of the gt symbol in front of the first active axis position As you recall this means that a numerical input is required for the marked value Use the keypad to enter a desired destination absolute position To cor rect the entry use the DELETE key When finished press the vALID key to accept the value A Newport 2 5 EDH0162En1040 06 99 MM4005 Local Mode If there is more than one axis connected to the system the symbol now jumps to the next axis position displayed Repeat the desired destination entry procedure or press VALID until all connected axes have been confirmed and the following menu appears EXEC QUIT Press the EXEC key and observe the motion devices They will rapidly move to the requested destinations and when motion is complete the dis play will return to the motion selection menu MANUAL RELAT ABSOL QUIT To execute
422. the functions in a number of screens UP DOWN NEXT FIRST LAST NEXT INSERT DELETE QUIT NEXT This menu level is the Program Editing menu The NEXT key advances to the next line of the menu When at the last menu line pressing it will display again the first line of the menu The six editing specific commands have the following meanings UP Scroll the program listing up When the key is pressed the program listing is scrolled up by one display line DOWN Scroll the program listing down When the key is pressed the program listing is scrolled down by one dis play line FIRST Display first line of the program listing When the key is pressed the program listing on the display will start with the first line of the program and the display changes to the first Program Editing menu line UP DOWN NEXT LAST Display the last line of the program listing When the key is pressed the display shows the first blank line after the last program line and then the display changes to the top of the Program Editing menu UP DOWN NEXT To see the last program line you must press the pown key INSERT Insert a new program line Pressing this function key allows you to add a command line to an existing program The new line is inserted before the first line currently displayed When the INSERT key is selected the controller activates the Line Entry menu Following the descriptions in the Command
423. the trajectory element number where the signal should stop The pulses will stop immediately when this element finishes executing NI nn Defining and reading the distance the step on the trajectory between synchronizing pulses NN nn Defining and reading the number of pulses number of steps 1 that are generated in a symetric geometric fashion NS Start generating the signal The NB NE NI and NN commands provide the necessary data to define the signal generation while the NS command enables it The correct location for the NS command is right before the ET command The pulses are termi nated at the location specified by the NE command or at the end of the tra jectory where the NS command s effect ends automatically The necessary conditions verified by ET to generate the signal are e Values defined by NB and NE must be less than or equal to the total number of trajectory elements The value of NB must be less than that of NE e The number of pulses to generate must be greater than 2 and less than or equal to the Maximum Pulse Number If not ET will replace the desired number of pulses with the Maximum Pulse Number and return the appropriate error code In this case the Maximum Pulse Number value can be read by the NI command If the desired number of pulses is smaller than the Maximum Pulse Number NI returns the specified value The Maximum Pulse Number MPN is defined as follows MPN CPTL max 2 max Encoder res
424. the variable is 5 Negate variable 7 the new value for the variable is 5 QAD EDH0162En1040 06 99 3 184 Newport MM4005 YC Add variables Usage HIMM E PGM E MIP Syntax xxYCnn Parameters Description xx int Variable number nn int Variable number Range XX 1 to 100 integers and 101 to 120 floats nn 1to 100 integers and 101 to 120 floats Units XX None nn None Defaults XX Missing Error O Out of range Error O Floating point Error A nn Missing Error O Out of range Error O Floating point Decimal part truncated Description This command adds the values of two variables Variable xx is added to variable nn and the result placed in variable xx If the result is outside the 32767 to 32767 variable range the operation is not performed and error H is generated Returns None Errors A Unknown message code C _ Parameter out of limits H _ Calculation overflow O Variable number out of range Rel Commands YA Add to variable YS Initialize variable Example 5YS0 Initialize variable to 0 2YS6 Initialize variable 2 to 6 5WY18 While variable is different than 18 repeat next commands 5YE10 5YC2 If variable 5 is equal to 10 add variable 2 to variable 5 the value of variable becomes 16 3PR1 2 WS Move axis incremental 1 2 units and wait for stop 5YA1 Add 1 to variable WE End while loop A Newport 3 185 EDHO162En1040
425. time of execution Out of range Error C This command sets the program number that is automatically executed on power on If xx is zero or missing no program is executed If nn is missing the xx numbered program is executed one time If the sign takes place of the nn value and xx missing this command reportes the number of the program that is executed on power on and number of times of execution A Unknown message code C _ Parameter out of limits F Program number incorrect EX Execute a program Example 2EO Set program 2 to be executed one time on power on EO Read executed on power on program number EO 2 1 Controller tells the program 2 to be executed one time on power GD on EO _ Reset automatical execution no program is executed on power on Newport 3 47 EDH0162En1040 06 99 MM4005 EP Edition of program Usage HIMM O PGM MIP Syntax xxEPnn Parameters Description xx int Program number nn int Program line number Range XX 1to 127 nn 1 to 32767 Units XX None nn None Defaults XX Missing Error F Out of range Error F Floating point Error A nn Missing Append to the end of program xx Out of range Error C Floating point Error A Description This command sets the controller in programming mode All the com mands following this one will not be executed immediately but stored in memory as part of program number x
426. times smaller than the programmed maximum acceleration values Home Search Home search is a specific motion routine that is useful for most types of applications Its goal is to find a specific point in travel relative to the mounting base of the motion device very accurately and repeatably The need for this absolute reference point is twofold First in many applica tions it is important to know the exact position in space even after a power off cycle Secondly to protect the motion device from hitting a trav el obstruction set by the application or its own travel limits the con troller uses programmable software limits To be efficient though the software limits must be placed accurately in space before running the application To achieve this precise position referencing the MM4005 motion control system executes a unique sequence of moves First lets look at the hardware required to determine the position of a motion device The most common and the one supported by the MM 4005 are incremental encoders By definition these are encoders that can tell only relative moves not absolute position The controller keeps track of position by incrementing or decrementing a dedicated counter according to the information received from the encoder Since there is no absolute position information position zero is where the controller was powered on and the position counter reset QD EDH0162En1040 06 99 4 18 Newport MM40
427. ting If the bit specifier xx is missing or set to 0 the program will wait for all bits to be low NOTE The command can be placed on a line by itself or with other commands If placed on a line with other commands the advantage is that they will be executed with a minimal delay after the I O bit goes low None A Unknown message code E _ Incorrect I O channel number J Command authorized only in programming mode L Command not at the beginning of a line UH Wait for I O high JUL 3PA12 3 Wait while bit 7 of the I O input port becomes low and then move axis 3 to position 12 3 units and continue the rest of the program QD EDH0162En1040 06 99 3 148 Newport MM4005 VA Set velocity Usage HIMM E PGM E MIP Syntax xxVAnn Parameters Description xx int Axis number nn float Velocity value Range XX 1to4 nn 1 to the programmed value in SETUP mode Units XX None nn Preset units in SETUP mode second Defaults XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C Description This command sets the velocity value for an axis Its execution is immedi ate meaning that the velocity is changed when the command is processed even while a motion is in progress NOTE Avoid changing the velocity during the acceleration or deceleration peri ods For better predictable results change velocity only when t
428. tion device to deviate from ideal motion when executing small motions The effect of these two factors has a random nature Sometimes for a small motion step of the motor the load may not move at all Other times the accumulated energy in the spring will cause the load to jump a larger dis tance The error plot will be similar to Fig 4 5 Error Motion Steps Motion Increments Position 1 Fig 4 5 Error Plot Once the Minimum Incremental Motion is defined the next task is to quan tify it This is more difficult for two reasons one is its random nature and the other is in defining what a completed motion represents Assume that we have a motion device with a 1 um resolution If every time we command a 1 um motion the measured error is never greater than 2 we will probably be very satisfied and declare that the Minimum Incremental Motion is better than 1 um If on the other hand the measured motion is sometimes as small as 0 1 um a 90 error we could not say that 1 um is a reliable motion step The difficulty is in drawing the line between acceptable and unacceptable errors when performing a small motion step The most common value for the maximum acceptable error for small motions is 20 but each application ultimately has its own stan dards One way to solve the problem is to take a large number of measurements a few hundred at minimum for each motion step size and present them in a format that an op
429. tion feedback and the internal clock e To measure the absolute position we need a reference a measuring device that is significantly more accurate than the device tested In our case dealing with fractions of microns 0 1 um and less even a stan dard laser interferometer becomes unsatisfactory For this reason all factory measurements are made using a number of high precision inter ferometers most of them connected to a computerizes test station e To avoid unnecessary confusion and to more easily understand and troubleshoot a problem special attention must be paid to avoid bundling discrete errors in one general term Depending on the applica tion some discrete errors are not significant Grouping them in one gen eral parameter will only complicate the understanding of the system performance in certain applications Following Error The Following Error is not a specifications parameter but because it is at the heart of the servo algorithm calculations and of other parameter defini tions it deserves our attention As will be described later in the Control Loops paragraph a major part of the servo controller s task is to make sure that the actual motion device fol lows as close as possible an ideal trajectory in time You can imagine hav ing an imaginary ideal motion device that executes exactly the motion profile you are requesting In reality the real motion device will find itself deviating from this ideal trajectory
430. tly two master axes cannot have the same Slave By default standard MM4005 configuration all axes are declared mas ters However each time a master slave system is defined its character istics are saved in the non volatile memory On each consequent power on the controller will remember the latest configuration The motion of a master axis is limited by its own travel limits A slave axis is limited both by its own and its master s limits If in the course of the motion a slave axis encounters its own travel limits the emergency stop procedure is initiated and all motion will stop The following three commands are needed to define and operate a master slave motion system xx SS nn Defining and reading the master slave status of an axis xx GR nn Defining and reading the electronic gear ratio between the master and the slave by default 1 0 using the following formula Displacement of the slave axis GR Displacement of the master axis GR can be a positive or negative number but not zero xx FF nn Defining and reading the maximum master slave tracking error If this tracking error is exceeded the emergency stop procedure is initiated and all motors are turned Mail The tracking error Tk_Err is calculated as follows Tk_Err Absolute value Pos Err_Master Pos Err_Slave GR Where Pos Err_Master Position error of the master axis Pos Err Slave Position error of the master axis GR El
431. to insert the plug into your wall plug receptacle con tact your electrician to perform the necessary alterations to assure that the green green yellow wire is attached to earth ground CAUTION This product operates with voltages that can be lethal Pushing objects of any kind into cabinet slots or holes or spilling any liquid on the product may touch hazardous voltage points or short circuit parts CAUTION Opening or removing covers will expose you to hazardous voltages Refer all servicing internal to this instrument enclosure to qualified ser vice personnel who should observe the following precautions before pro ceeding e Turn power OFF and unplug the unit from its power source e Disconnect all cables e Remove any jewelry from hands and wrists e Use only insulated hand tools e Maintain grounding by wearing a wrist strap attached to the instru ment chassis QD EDH0162En1040 06 99 1 4 Newport MM4005 Introduction 12 Conventions and Definitions AD Newport 1 2 1 9 WARNING CAUTION NOTE Motor OFF STATUS UP Symbols and Definitions The following are definitions of safety and general symbols used on equip ment or in this manual Chassis Ground Indicates a connection to the equipment chassis which includes all exposed metal structure Warning Calls attention to a procedure practice or condition which if not correctly performed or ad
432. to the CP command If an error is encountered the compilation stops and the controller reports the type of error found If no error is found the con troller executes the program line by line or according to the flow control instructions During program execution only commands that ask for information or that stop the motion are allowed Any of the following commands will terminate a program AB AP MF RS and ST The easiest way to stop program execu tion is by using the AP command the other ones have wider effects EX command is capable to execute subroutines program without EX com mand inside integrated in the main program None A Unknown message code C _ Parameter out of limits F Program number incorrect G Program does not exist Unauthorized command in programming mode See Appendix A for additional list of programming errors Rel Commands AP Abort program CP Compile program Example 1EP Program 1 edition main program 1PA10 2PA10 Displacement of two axis 2EX Execute the program 2 3EX Execute the program 3 4EX Execute the program 4 OR Origine search for all of axis QP Quit main program 2EP Program 2 SB Set bits 1AS This Define string 1 2AS is Define string 2 1CS S2 Concatenate string 1 and string 2 DS S1 a string QAD Display on screen Newport EDH0162En1040 06 99 MM4005 EX Execute a program cont WT
433. to the loop This term integrates adds the error every servo cycle and the value multiplied by the Kj gain factor is added to the control signal Fig 4 15 Servo Controller Motor Trajectory Generator Encoder Motion Controller Fig 4 15 PI Loop aD EDH0162En1040 06 99 4 14 Newport MM4005 Motion Control Tutorial A Newport 4 3 2 The result is that the integral term will increase until it drives the motor by itself reducing the following error to zero At stop this has the very desir able effect of driving the positioning error to zero During a long constant velocity motion it also brings the following error to zero an important feature for some applications Unfortunately the integral term also has a negative side a severe de stabi lizing effect on the servo loop In the real world a simple PI loop is usually undesirable PID Loop The third term of the PID loop is the derivative term It is defined as the dif ference between the following error of the current servo cycle and of the pre vious one If the following error does not change the derivative term is zero Servo Controller E a ae Encoder Trajectory Generator Motion Controller Fig 4 16 PID Loop Fig 4 16 shows the PID servo loop diagram The derivative term is added to the proportional and integral one All three process the following error in their own way and added together form the control
434. trajectory trajectory velocity GD EDH0162En1040 06 99 5 10 Newport Section 6 Feature Descriptions Tutorial ate ee ket ESS ae peerage Het raal MM4005 4 Axis Motion Controller Driver GD Newport MM4005 4 Axis Motion Controller Driver Table of Contents Section 6 Feature Descriptions Tutorial GD 6 1 Synchronizing Events to Motion wo cesses eeeeettetetteteeteseeteteeeeas 6 3 6 1 1 Pulses Synchronized to One AX S 6 3 6 1 2 Pulses Synchronized to a Trajectory esseere 6 5 6 1 3 Synchronizing Events to Trajectory Elements seee 6 6 6 1 4 Synchronizing Events to Trajectory Position cece 6 7 6 2 Synchronized Axes Electronic Gearing cccseescssessessereeeesens 6 8 6 3 Automatic Program Execution on Power On EO Command or from the Front Panel siccc c0dcceacieotenainedticeadnasied E a 6 9 6 4 Continuous Motion MV COMMANA eee eee eteeeteteteeetteteeeteteeteeas 6 9 6 5 Automatic Displacement Units Change SN Command or from the Front PaNnel Gena Sits ti Midis aos tite Gee ai 6 10 6 6 Stage Type Selection SF Command or from the Front Panel 6 11 6 7 Reading parameters With 2 oo cecscseteceteteetetettetetetteteeeteeeeees 6 11 6 8 Error Reporting TD Command ue cette etetettetettettteteeeteeeeees 6 13 6 9 Integral Gain Saturation Limit KS Command eet eters 6 13 6 10 Program Editing EP Command cece cetee cnet ttete tte tteteseteeeeees 6 13
435. troller s configura tion and do all programming using that unit aD EDH0162En1040 06 99 6 10 Newport MM4005 Feature Descriptions Tutorial 6 6 Stage Type Selection SF Command or from the Front Panel To select the configuration of a stage from the MM4005 database the user has two options through the front panel Axis Setup gt SELECT or through the SF command This command has the format xx SF name Where xx Axis number name Stage name model in ASCII format To read the selected stage model for an axis use the xxSF or xxTA com mands To allow the MM4005 to operate with non standard stages or motors not included in the MM4005 firmware database the following stage categories are available e Translation DEFAULT PP T for stepper motors DEFAULT CC T for DC motors e Rotation DEFAULT PP R for stepper motors DEFAULT CC R for DC motors In the DEFAULT category to allow the use of a larger selection of motors and encoders the encoder motor resolution is extended to 10E 6 7 Reading parameters with The MM4005 controller is using a complex set of command that some users will try to partially memorize One way to reduce this effort is to com bine setting and reading parameter commands by using the sign Every command that is setting a parameter can return the previously set value by replacing the parameter with a question mark This eliminates the need for a
436. ts StO painea 2 14 Blank Spaces essers 3 7 Buffer CoMMuN CAtION sses 3 6 c Cable RS 232C Interface e 8 15 Calculate necessary time for axis dis placement sisssreerrsresisssr 3 98 Calculation overflow sesser 8 3 Capacity Load woes 4 10 Change communication mode 3 29 Changing the Display Precision 6 15 S E EE E E E E EN function key line essees 3 54 1 0 outputs DitS eee 3 27 Combined Parameters sesse 4 12 COMMANG tiie iieiie cede naaa authorized only in programming MOOS isdn eG suis Auch ees 8 3 cannot be at the beginning of a line 8 3 FOMA a iirc aa 3 7 in programming mode Unauthorized P auld Nica da hueeeniett 8 3 Language Set uu eeeeeeeeteeeteeteeeees 2 9 Einen aeaa 3 7 Line Creation 2 39 line AbOrt snnss 3 62 line Repeat 3 107 LIMOS euses inia a 3 6 List Alphabetical 3 13 List Dy Category 3 8 not at the beginning of aline 8 3 SUIMIMALY a a a Aintree 3 8 SYNTAX oika aa aa a a a 3 7 Unauthorized essee 8 3 Command Sirens a a to define a trajectory oe 3 11 to execute a trajectory 3 12 to help geometric definition of a tra JECO Yn inniinn 3 12 Reporting eee eeeeeeteeeeees 5 10 Common Function KeyS cee 1 17 COMMUNICATION oo eee eee 2 11 Bufletitac air aiaia 3 6 mode Change sssssssssrerss 3 29 PrincIpleS sess 3 6 Protocolscaiiceniia A 3 4 TIMO 0Ut im 2 10 TIMCGOUl was claieuuethidia aa 8 3 Communications Mode Load 6 19
437. ttons labeled MOTOR and MOTOR WOM For easier identification the MOTOR button has a red bezel A green LED on top of the MOTOR MMMM provides a quick visual indication of the motor Power ON condition NOTE The MOTOR button is a normally closed switch wired in series with the two Motor Interlock switch connections on the rear panel For the motors to turn on the entire circuit must be closed Newport 1 15 EDH0162En1040 06 99 MM4005 Introduction 1 3 6 Numeric Keypad On the right hand side of the front panel there is a 12 button numeric key pad Depending on the mode the controller is in this keypad can be used for numerical data entry or controlling the manual JOG mode For details on using the keypad for jog control see Section 2 Local Mode Function Keys Display The central part of the front panel is occupied by a large display and four function keys The display is a six line backlit LCD which shows both menu and status information Below the display are four function keys Their context sensitive functions are always given on the bottom line of the display window The contents of the display window are described in detail in Section 2 Display Configuration Display Organization The display has six lines with a maximum of 30 characters each For better visibility the characters are bright on a dark background Information is highlighted using dark characters on a bright background On the right of
438. uce the allowed travel by chang ing the software travel limit Since a motion device must be allowed to find its home position the home switch and or sensor must be inside the travel limits This means that both positive and negative travel limits cannot be set on the same side of the home position A more obvious restriction is that the negative limit cannot be greater than the positive limit If any of these restrictions is not met the controller will return error C NOTE If the command is issued for an axis in motion the new limit should not be set inside the current travel If the motion in progress could reach the new desired software limit the command is not accepted and the controller returns error D NOTE Be careful when using this command The controller does not know the real hardware limits of the motion device or application Always set the software lim its inside the hardware limits limit switches In normal operation a motion device should never hit a limit switch If you want to change the software limits note that the values selected in remote mode can t exceed the values selected in local mode already available as a stan dard parameter of the stage If you want to increase these limits Do care about the hardware limits Use the local mode from the front panel Returns If the sign takes place of the nn value the controller returns the value of the positive right software travel limit for xx axis
439. uest SRQ E E E xx UH Wait for I O high rea xx UL Wait for I O low WA nn Wait WE End While loop a E xx WF Wait for function key E E xx WG nn While variable is greater E xx WH nn While 1l O input is equal WK aa Wait for key a xx WLI nn While variable is less E E xx WP nn Waitfor position E E E xx WS nn Wait for motion stop WT nn Wait E H a xx WY nn While variable is different a E xx YE nn Ifvariable is equal xx YG nn If variable is greater E E E xx YL nn Ifvariable is less E E E xx YN nn Ifvariable is different E m E xx YW Wait and read key E E 3 10 QAD Newport MM4005 Remote Mode GD Newport Command Description IMM PGM MIP Variable Manipulation xx AS nn Affect string E E E xx CS nn Concatenate two strings E E E xx TY Read a variable m E m xx YA nn Add to variable E E xx YB Negate variable B E xx YC nn Add variables E E E xx YD nn Divide variables E kei E xx YF nn Scale variable E E E xx YK Read key to variable E E E xx YM nn Multiply variables E E E xx YP nn Set theoretical position in variable E E i xx YQ nn Setcurrent position in variable E E E xx YS nn Initialize variable E E E xx YV Read value from keyboard in a variable E E E xx YY nn Copy variable E E E Display functions xx DS nn Display strings
440. um axis travel XX None nn Preset units in SETUP mode XX Missing Error B Out of range Error B Floating point Error A nn Missing Error C Out of range Error C This command sets the maximum allowed master slave following error for a slave axis This error is defined as the difference between the position error of master axis and is divided by master slave reduction ratio position error of the slave axis The position error of an axis is defined as the differ ence between the theoretical position and the real position of this axis If for any axes and any servo cycle the master slave following error exceeds the preset maximum allowed master slave following error the controller stops motion on all axes and turns power off to all motors If the sign takes place of the nn value this command reportes the actu al value of the maximum allowed master slave following error A Unknown message code B Incorrect axis number C _ Parameter out of limits FE Set maximum following error Set maximum allowed master slave following error for axis 3 to 0 1 units Read maximum master slave following error of axis 3 Controller tells the value of this parameter Newport EDH0162En1040 06 99 MM4005 FT Set output frequency Usage HIMM E PGM E MIP Syntax FTnn Parameters Description nn float Desired frequency Range nn O0and 0 01 to 5000 Units nn Hz Defaults nn Missing 0
441. ured in degrees Fahrenheit variable 8 will be the equivalent temperature in degrees Celsius QD EDH0162En1040 06 99 3 188 Newport MM4005 YG If variable is greater Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 3PR1 2 WS 5YA1 AD 5WY 18 5YG10 2PR2 6 WS E IMM xxYGnn xx int nn int XX nn XX nn XX Out of range Floating point Out of range E PGM E MIP Variable number Comparison value 1to 100 integers and 101 to 120 floats 32767 to 32767 None None Error O Error O Error A Error C Error C Missing Missing This command allows execution of a command line based on a variable s value If the selected variable xx is greater than the nn value all following commands on that line are executed The command must be at the begin ning of a line and it applies only to that command line NOTE Even though this command can be executed in immediate mode its real value is as a flow control instruction inside programs None A C L O YA YE YL YS 5YSO WE Unknown message code Parameter out of limits Command not at the beginning of a line Variable number out of range Add to variable If variable is equal If variable is less Initialize variable Initialize variable 5 to 0 While variable
442. urns dark blue and the controller makes a slight ticking sound This is nor mal After a short delay a welcome screen with the Newport logo flashes for a few seconds showing you the firmware version in use NOTE Any time you call for technical support the firmware version is one piece of information you need to supply It is displayed every time the controller power is turned on QAD Newport 1 21 EDH0162En1040 06 99 MM4005 Introduction Now the display shows the main power off menu similar to Fig 1 12 Fig 1 12 Display after initial power up NOTE If instead of a screen similar to Fig 1 12 you see a different message this means that the controller has detected an error See Appendix A Error Messages and Appendix E Troubleshooting Guide NOTE If the display looks like Fig 1 16 but in a wrong language follow these steps 1 Assume the following labeling convention for the function keys 1 2 3 4 2 From the top level MOTOR menu press the function keys in this sequence 7 Ew O i Press function key 2 until the desired language appears Press function key 4 three times to return to the top level menu 1 4 3 Verifying Default Devices Before powering the motors verify that the controller is configured for the actual motion devices it is supposed to drive From the main motor off menu press the SETUP function key The top level setup menu will indicate on the first four lines
443. urrent fast in inductive loads becomes a problem When voltage is applied to a winding the current and thus the torque approaches its nominal value exponentially Fig 4 45 Current Fig 4 45 Current Build up in Phase When the pulse rate is fast the current does not have time to reach the desired value before it is turned off and the total torque generated is only a fraction of the nominal one Fig 4 46 Phase ON Nominal Current Fig 4 46 Effect of a Short ON Time on Current How fast the current reaches its nominal value depends on three factors the winding s inductance resistance and the voltage applied to it The inductance cannot be reduced But the voltage can be temporarily increased to bring the current to its desired level faster The most widely used technique is a high voltage chopper If for instance a stepper motor requiring only 3V to reach the nominal cur rent is connected momentarily to 30 V it will reach the same current in only 1 10 of the time Fig 4 47 QD EDH0162En1040 06 99 4 30 Newport MM4005 Motion Control Tutorial Nominal Current Phase ON Fig 4 47 Motor Pulse with High Voltage Chopper Once the desired current value is reached a chopper circuit activates to keep the current close to the nominal value The MM 4005 uses two implementations of this circuit for two different dri ver card families One of them called MM16PP
444. urrent maximum allowed angle of discontinuity E E xx XB Read backlash compensation E E E xx XD Read derivative gain factor E E E XE Tell the last element i E xx XF Read maximum following error E E E xx XH Read home preset position E E E xx XI Read integral gain factor E E E xx XL nn Delete one line of program XM Read available memory E E E XN Read number of acquisitions E E E xx XP Read proportional gain factor E E E XQ Read global sample rate E E E XS Read trace sample rate E E E XT Tell number of elements in the trajectory E E XU nn Tell the vector acceleration on trajectory trajectory acceleration XV nn Tell the vector velocity on trajectory a trajectory velocity xx XX Erase program xx YA nn Add to variable E xx YB Negate variable B a xx YC nn Add variables E a E xx YD nn Divide variables a a m xx YE nn Ifvariable is equal E E xx YF nn Scale variable z E EDH0162En1040 06 99 MM4005 Remote Mode Command Description IMM PGM MIP xx YG nn If variable is greater E E E xx YK Read key to variable E E E xx YL nn Ifvariable is less E xx YM nn Multiply variables E E E xx YN nn Ifvariable is different E E E xx YO nn Send a value to an user analog port E a xx YP nn_ Set theoretical position in variable E E E xx YQ nn Setcurrent position in variable E i xx YR nn Read a value from an user analog port and affect variable W E E xx YS nn Initialize vari
445. ut of limits Set end position of generation of pulses of synchronisation Set step of generation of pulses of synchronisation Set start position for axis 2 to 10 units Actual value of PB Controller tells the actual value Update PB PE PI and allow pulses Actual value of PB Controller tells the actual value Newport 3 93 EDH0162En1040 06 99 MM4005 PE Set end position of generation of pulses Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 2PE10 of synchronisation E IMM E PGM E MIP xxPEnn or xxPE xx int Axis number nn float New value of end position of generation of pulses Read the actual end position of generation of pulses of synchronisation for the axis xx XX lto4 nn Min logical allowed position to Max logical allowed position XX None nn Preset units in SETUP mode XX Missing Error B Out of range Error B Floating point Error A nn Missing 0 Out of range Error C This command sets end position of generation of pulses of synchronisation for an axis The command can be sent at any time but it has no effect until the PS com mand is received If the sign takes place of the nn value this command reportes the end position of generation of pulses of synchronisation for xx numbered axis A B C PB PI 2PE 2PE20 2PS 2PE 2PE10
446. ve left software travel limit for xx axis Errors A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution Rel Commands OR Search for home SR Setright travel limit Example 1SL 41 4 Set negative software travel limit of axis 1 to 41 4 units 1SL Reading of the negative software travel limit of axis 1 1SL 41 4 The controller returns the value of the negative software travel limit NOTE Always the stage position must be inside the interval set by the software limits AD Newport 3 115 EDHO0162En1040 06 99 MM4005 SM Save program O PGM MIP This command saves all programs from RAM in non volatile memory It should be used after creating or editing a program to assure that the pro gram will not be lost when the controller is powered off Usage HIMM Syntax SM Parameters None Description Returns None Errors Rel Commands CP EP MP QP Example 3XX 3EP kal zil PE QP 3CP 3CP SM Unauthorized command in programming mode Compile program Edition of program Download EEPROM to RAM Quit program mode Clear program 3 from memory Activate program mode and enter following commands as program 3 End entering program and quit programming modee Compile program 3 Controller confirms compilation of program 8 with no errors Save all program from RAM in non volatile me
447. vel of the motion device that corre sponds to one encoder count It represent the resolution of the system and must reflect the real physical value theoretical value excluding all errors NOTE This parameter can be used to correct for a linear error in the motion device s absolute position accuracy See the Motion Control Tutorial sec tion for more details For the PP families the Motor and the Encoder Increment can be changed separatly on condition that e If coder resolution gt motor resolution OK If coder resolution lt motor resolution OK but Motor Resolution new coder resolution If you need to correct the encoder increment setting press the MODIFY key to modify the current value Use the numeric keypad to enter the correct value Press VALID to accept the new setting and return to the previous menu Pressthe up key to advance to the next parameter lt o gt VALID gt Axis Setup gt MODIFY gt UP _ gt MODIFY gt QUIT gt QUIT gt YES gt QUIT TU Read encoder resolution 2 21 EDH0162En1040 06 99 MM4005 Local Mode Scaling Speed Scaling Speed is a hardware calibration parameter and is not intended to be used by the operator It represents the approximate velocity the motion device will move if the maximum control voltage is sent to the driver DC motor case In other words it is the velocity for a saturated DAC It is a hardware calibrat
448. which converted to binary means bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 0 0 1 1 0 0 0 1 ORO Newport 3 131 EDH0162En1040 06 99 MM4005 TH Read theoretical position Usage WIMM E PGM E MIP Syntax xxTH Parameters Description xx int Axis number Range XX O0to4 Units XX None Defaults XX Missing 0 Out of range Error B Floating point Error A Description This command reads the theoretical position and the instantaneous real position If the axis specifier xx is missing or set to 0 the controller returns the desired position for all axes The command could be sent at any time but its primary use is while a motion is in progress The command is useful in determining the following error of a motion device by comparing the theoretical position to its real position Returns xxTHnn or xxiTHnnj xx2THnn2 xx3THnn3 xxqgTHnng XX XX1 XX2 XX3 XX4 Axis number nn NN nn2 NN3 nng Theoretical position in pre defined units Errors Unknown message code Incorrect axis number Communication time out nw gt l Rel Commands TP Read actual position Example 3TP 3TH Read real and theoretical position on axis 3TP 5 322 Controller returns real position 5 322 for axis 8 3TH 5 323 Controller returns theoretical position 5 323 for axis 3 aD EDH0162En1040 06 99 3 132 Newport MM4005 TL Read left travel limit Usage HIMM E PGM E MIP Syntax xxTL Param
449. x Programs can be entered in any order To exit program entry mode and return to immediate mode use the QP command If a program already exists the new commands entered will be inserted to the line nn of program if nn is valid or added to the end of program if nn is missing So to replace a program it must be first deleted using XX com mand Returns None Errors A Unknown message code C _ Parameter out of limits D Unauthorized execution F Program number incorrect l Unauthorized command in programming mode M Program is too long Rel Commands CP Compile program EX Execute a program QP Quit program mode XL Delete one line of program XX Erase program Example 3XX Clear program 3 from memory if existing 3EP Edition of program 3 1PA10 Entera line 1WS Entera line 3QP Quit Edition of program 3 3LP Liste program 3 1PA10 IWS The program is listed EDH0162En1040 06 99 3 48 QAD Newport MM4005 EP Edition of program cont 3EP3 DS WAIT 1SB WT5000 1CB 3QP 3LP 1PA10 IWS DS WAIT 1SB WT2000 1CB 2PA10 2WS 3EX A Edition of program 3 Enter a line Enter a line Quit edition of program 3 Liste program 3 The program is now listed Edition of program 3 insert at line 3 Enter a line Enter a line Enter a line Enter a line Quit Edition of program 3 Liste program 3 The pr
450. x4TPnn4 XX XX1 XX2 XX3 XX4 Axis number nn NN nn2 NN3 NN4 Actual position in pre defined Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands TH Read theoretical position Example 3TP 3TH Read real and theoretical position on axis 3TP 5 322 Controller returns real position 5 322 for axis 8 3TH 5 323 Controller returns theoretical position 5 323 for axis 3 AD EDH0162En1040 06 99 3 136 Newport MM4005 TQ Read global trace data Usage HIMM E PGM MIP Syntax xxTQnn Parameters Description xx int Number of samples to read nn int O or missing or 1 Range XX Oto number of samples set by GQ command nn Oorl Units XX None nn None Defaults XX Missing 0 Out of range Error C Floating point Error A nn Missing 0 Out of range Error C Description This command reads the global trace data stored in global trace mode The global trace mode is enabled by GQ command and defined by SQ and GQ commands If xx is a number different than 0 and in range the controller returns the values for that sample number If xx is 0 the controller returns all samples stored in the global trace buffer If nn 0 or missing the controller returns the values of theoretical and real positions stored in the global trace buffer If nn 1 the controller returns the values of theoretical and real positions an
451. xample 2DA Read acceleration of axis 2 2DA10 Controller returns an acceleration value of 10 2PA15 Move to absolute position 15 WT500 Wait for 500 ms 2AC4 Setaxis 2 acceleration to 4 2DA Read acceleration of axis 2 2DA4 Controller returns an acceleration value of 4 2DA1 Read maximum acceleration of axis 2 2DA80 Controller returns a value of 80 GD Newport EDH0162En1040 06 99 MM4005 DF Read following error Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands E IMM E PGM E MIP xxDF xx int Axis number XX 1to4 XX None XX Missing 0 Out of range Error B Floating point Error A This command reads the following error on an axis The following error is defined as the instantaneous difference between the real position reported by the encoder and the theoretical position calculated by the controller according to the desired trajectory Reading the following error for an axis is important in determining its performance and tuning the servo loop If the axis parameter xx is 0 or missing the controller reads the following error for all axes simultaneously and returns all four values If the command is used inside a program make sure a host computer is ready to receive and store the returned data xxDFnn or xx1DFnnj xx2DFnn2 xx3DFnn3 xx4DFnng XX XX1 XX2 XX3 XX4 Axis number nn NN nn2 N
452. xis back to 0 wait to stop repeat the entire cycle 20 times GD Newport 3 107 EDH0162En1040 06 99 MM4005 RQ Generate service request SRQ Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example 2PR200 WS 1PR100 WS RQ IMM E PGM E MIP RQnn nn int Interrupt number nn Oto31 nn None nn Missing Error C Out of range Error C This command generates an interrupt service request to the host comput er The parameter nn is used to identify the RQ command which generated the interrupt Upon receiving the interrupt the host computer interrupt service routine should perform an IEEE 488 serial poll or send the TS com mand and read the response If the interrupt was a result of the RQ com mand then bit 7 of the response is 1 and the lower five bits equal the para meter nn This command can be used to notify the host computer of the progress or flow of command execution in the MM 4005 None C Parameter out of limits TS Tell status Generate interrupt when RQ command is encountered RS Reset controller Usage Syntax Parameters Description Returns Errors Rel Commands Example E IMM E PGM E MIP RS None This command should be used in emergency cases only On reception of this command the controller stops motion on all axes turns motor power OFF and performs a controller reset similar to
453. xis 1 to 0 0012 units 2BA0 0008 Set backlash compensation of axis 2 to 0 0008 units GD Newport 3 25 EDHO162En1040 06 99 MM4005 CA Define sweep angle and build an Usage Syntax Parameters Description Range Units Defaults Description Returns Errors Rel Commands Example XE Arc r 8 10 10 90 arc of circle f CR CA gIMM E PGM MIP CAnn nn double Sweep angle for an arc of circle nn 1 7 E to 1 0 EP and 1 0 E to 1 7 E3 nn Defined motion units nn Missing Error C This command defines to the controller the sweep angle and tells to the controller to build an element of trajectory of the type Arc of circle f CR CA NOTE The convention for the sweep angle is the following e Sweep angle gt 0 then it is used as Counter Clock Wise e Sweep angle lt 0 then itis used as Clock Wise None C Parameter out of limits H Calculation overflow V Too long trajectory Typeerror arc expected Trajectory Arc r 6 radius is too small Trajectory Arc r 0 radius is too big _ Trajectory Arc r 6 sweep angle is too small CR Define radius for an arc of circle f CR CA XE _ Tell the last element NT Clear trajectory CR10 Define radius of an arc of circle f r 0 CA90 Build an arc of circle f r 10 units 6 90 CA480 Build an arc of circle f r 10 units 480 XE
454. y cycle and are out of phase by 90 Using both phases and an appropriate decoder a motion controller can identify four different areas within one encoder cycle This type of decoding is called X4 or quadrature decoding mean ing that the encoder resolution is multiplied by 4 For example an encoder with 10 um phase period can offer a 2 5 um resolution when used with a X4 type decoder Physically an encoder has two parts a scale and an read head The scale is an array of precision placed marks that are read by the head The most commonly used encoders optical encoders have a scale made out of a series of transparent and opaque lines placed on a glass substrate or etched in athin metal sheet Fig 4 27 Fig 4 27 Optical Encoder Scale The encoder read head has three major components a light source a mask and a detector Fig 4 28 The mask is a small scale like piece having iden tically spaced transparent and opaque lines GD Newport 4 21 EDH0162En1040 06 99 MM4005 Motion Control Tutorial Light Source Detector Fig 4 28 Optical Encoder Read Head Combining the scale with the read head when one moves relative to anoth er the light will pass through where the transparent areas line up or blocked when they do not line up Fig 4 29 Fig 4 29 Single Channel Optical Encoder Scale and Read Head Assembly The detector signal is similar to a sine wave Converting it to a digital wave for
455. ycle on multiple axes When a home search routine is invoked you may execute it on one or all axes If you choose to perform a home search on all axes you may specify the order in which axis home sequences are executed For example the controller may be configured to first perform a home search on axis num ber 3 then on axis number 2 4 and 1 To change the Axis Home sequence you must set the priority of each axis If for instance you want axis number 3 to execute first you must set its priority order to 1 To change the order of the home search from the General Setup menu press UP until the 1st Axis HOME appears on the display Press MODIFY and then enter the desired priority order number on the keypad Press the VALID key to accept the entry and return to the previous menu AD EDH0162En1040 06 99 2 14 Newport MM4005 Local Mode A Press UP again to display 2nd Axis HOME Press MODIFY and then enter the desired order priority number on the keypad Press the VALID key to accept the entry and return to the previous display Motor OFF_ gt SETUP gt GEN gt UP gt MODIFY gt lt lt gt gt VALID gt uP gt MODIFY gt gt VALID gt uP gt Misa a eet e lt lt gt lt lt gt MODIFY gt gt VALID gt UP gt MODIFY gt gt VALID gt fev rer QUIT gt QUIT If you foll
456. ype press the mopiFy key when the parameter is displayed Press the CHANGE key to select a new home switch type Press VALID to accept the new type and return to the previous menu Pressthe up key to advance to the next parameter gt MODIFY gt UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT gt YES gt QUIT Motor Type This parameter selects the type of motor to be used with the motion device The two choices are Stepper and DC CAUTION The motor type configured in the setup mode must match the actual motor and driver installed on the specific axis If the displayed motor type is incorrect for the selected axis press the MODIFY key to change the setting Press the CHANGE key to select a new motor type Press VALID to accept the new selection and return to the previous menu Pressthe up key to advance to the next parameter Axis Setup gt MODIFY UP gt MODIFY gt CHANGE gt VALID gt QUIT gt QUIT gt YES gt QUIT 2 19 EDH0162En1040 06 99 MM4005 Local Mode Control Loop The MM 4005 controller has the capability to operate both DC and stepper motors in closed loop or open loop configurations This is an important feature especially for the stepper motors As described in the tutorial sec tion when operating a stepper motor in a mini or micro stepping mode the actual position can vary a few steps when under load If the s
Download Pdf Manuals
Related Search
Related Contents
American Standard 2904.201.002 Installation Guide RCA CC432 Camcorder User Manual 6 - Sears PartsDirect méthode du metaplan USER MANUAL - TPR Lights Fortinet FortiDB-1000B User's Manual Kits de développement et mixité fonctionnelle Panasonic DMP-BD77 Copyright © All rights reserved.
Failed to retrieve file