background image

EDH0162En1040 – 06/99

4.4

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.

Specification Definitions

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.

• As mentioned earlier, most motion control performance specifications

should be considered system specifications.

• When not otherwise specified, all error-related specifications refer to

the position error.

• The servo loop feedback is position-based. All other velocity, accelera-

tion, error, etc. parameters are derived from the position feedback and
the internal clock.

• 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 µm 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.

• 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.

4.2.1

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. 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.

4.2

Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com

Summary of Contents for MM4005

Page 1: ...xcess underutilized and idle equipment along with credit for buybacks and trade ins Custom engineering so your equipment works exactly as you specify Critical and expedited services Leasing Rentals Demos In stock Ready to ship TAR certified secure asset solutions Expert team I Trust guarantee I 100 satisfaction All trademarks brand names and brands appearing herein are the property of their respec...

Page 2: ...USER S MANUAL 4 Axis Motion Controller Driver Version 1 09 Firmware MM4005 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 3: ...ent 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 expre...

Page 4: ...1 21 1 4 2 First Power On 1 21 1 4 3 Verifying Default Devices 1 22 Section 2 Local Mode Table of Contents 2 1 2 1 Quick Start 2 3 2 1 1 Motor On 2 3 2 1 2 Home Motion Devices 2 4 2 1 3 First Jog 2 4 2 1 4 First Move 2 5 2 2 Controller Configuration 2 7 2 2 1 General Setup 2 7 2 2 2 Axis Setup 2 16 2 3 Operating In Local Mode 2 29 2 3 1 HOME Search 2 30 2 3 2 Manual Jog 2 30 2 3 3 Zero Display 2 3...

Page 5: ...2 Error 4 5 4 2 3 Accuracy 4 5 4 2 4 Local Accuracy 4 6 4 2 5 Resolution 4 6 4 2 6 Minimum Incremental Motion 4 7 4 2 7 Repeatability 4 8 4 2 8 Backlash Hysteresis 4 8 4 2 9 Pitch Roll and Yaw 4 9 4 2 10 Wobble 4 10 4 2 11 Load Capacity 4 10 4 2 12 Maximum Velocity 4 11 4 2 13 Minimum Velocity 4 11 4 2 14 Velocity Regulation 4 12 4 2 15 Maximum Acceleration 4 12 4 2 16Combined Parameters 4 12 4 3 ...

Page 6: ...chronized to a Trajectory 6 5 6 1 3 Synchronizing Events to Trajectory Elements 6 6 6 1 4 Synchronizing Events to Trajectory Position 6 7 6 2 Synchronized Axes Electronic Gearing 6 8 6 3 Automatic Program Execution on Power On EO Command or from the Front Panel 6 9 6 4 Continuous Motion MV Command 6 9 6 5 Automatic Displacement Units Change SN Command or from the Front Panel 6 10 6 6 Stage Type Se...

Page 7: ...Tuning Procedures 7 4 7 2 1 Axis Oscillation 7 4 7 2 2 Increasing Performance 7 5 7 2 3 Points to Remember 7 6 Section 8 Appendices Table of Contents 8 1 A Error Messages 8 3 B IEEE 488 Link Characteristics 8 6 C Connector Pinouts 8 9 D Motion Program Examples 8 19 E Troubleshooting Guide 8 27 F Decimal ASCII Binary Conversion Table 8 30 G Factory Service 8 33 Section 9 Index Command List by Categ...

Page 8: ...n EN50081 1 Immunity EN50082 2 Residential Commercial and Light Industry and per IEC 1000 4 5 Surge Immunity Standard Newport Corporation shall not be liable for damages when using the product Modification of the product Using modified connector or modified or not supplied cables Connecting this product to non CE equipments Heavy industrial environment Artisan Technology Group Quality Instrumentat...

Page 9: ...EDH0162En1040 06 99 viii MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 10: ...Section 1 Introduction Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 11: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 12: ... 6 Origin switch 1 6 PID 1 6 Remote 1 6 Stage 1 6 1 3 General Description 1 7 1 3 1 Features 1 9 1 3 2 Specifications 1 9 Function 1 9 Number of motion axes 1 9 Trajectory type 1 9 Motion device compatibility 1 9 CPU type 1 9 DC motor control 1 9 Stepper motor control 1 9 Computer interfaces 1 10 Utility interface 1 10 Operating modes 1 10 Programming 1 10 Program memory 1 10 Display 1 10 Dimensio...

Page 13: ...4 Power Switch Entry Module 1 14 Ground Post 1 14 1 3 5 Front Panel Description 1 15 Power Stand by 1 15 Motor On Off 1 15 Numeric Keypad 1 16 Function Keys Display 1 16 1 3 6 Display Configuration 1 16 Display Organization 1 16 Menu Structure 1 17 Common Function Keys 1 17 Status Display 1 17 1 3 7 Display Structure 1 18 MOTOR Menus 1 18 MOTOR Menu 1 19 1 4 System Setup 1 20 1 4 1 Connecting Moti...

Page 14: ...s 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 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 Retu...

Page 15: ...und 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...

Page 16: ...tion 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 us...

Page 17: ...on 1 2 2 7 Index pulse A precision encoder generated pulse used in the home search algorithm 1 2 2 8 Jog Undetermined length motion initiated manually 1 2 2 9 MM4005 controller Refers to the MM4005 integrated controller driver 1 2 2 10 Motion device An electro mechanical motion device 1 2 2 11 Move Motion to a destination initiated manually or remotely 1 2 2 12 Origin Used sometimes instead of hom...

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

Page 19: ... remote safety motor off switches and be part of a larger multi axis sys tem controlled by a remote computer Fig 1 3 A more complex controller configuration To explore all capabilities 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 To other Motion Controlle...

Page 20: ...context sensitive function keys full motion selection and control capability and motion program creation and editing capability Multilingual display capability English or French 1 3 2 Specifications 1 3 2 1 Function Integrated motion controller and driver 1 3 2 2 Number of motion axes 1 to 4 in any combination or order of stepper and DC motors 1 3 2 3 Trajectory type Non synchronized motion Multi ...

Page 21: ...on Trajectory execution 1 3 2 11 Programming Remotely via the computer interface From the front panel 1 3 2 12 Program memory 30 KB 30 760 bytes non volatile 1 3 2 13 Display Fluorescent backlit LCD 40 mm x 130 mm 6 lines by 30 characters Displays position status utility menus program viewing and editing screens and setup screens 1 3 2 14 Dimensions 5 28 3U H x 19 W x 15 6 D in 134 x 483 x 395 mm ...

Page 22: ... 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 JOG or a point to point MOVE is execut ed HOME Search is discussed separately because it ...

Page 23: ...n axis is commanded to move The most complex motions result from program execution Other types of motion include manual JOG and a point to point MOVE HOME Search mode has the same meaning and functionality as in LOCAL mode A home search cycle should not be interrupted The controller will exit this mode automatically on task completion 1 3 3 3 Immediate Mode This is not an operating mode in which t...

Page 24: ...the wrong driver card 1 3 4 2 GPIO Connector This 37 pin D Sub connector is used for general purpose digital Input Output signals The MM4005 offers two separate 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 Axe 1 Axe 2 Axe 3 Axe 4 GPIO RS 232 C IEEE 488 Ground Post Power Switch Auxil...

Page 25: ...at pro vides the necessary wiring to enable the activation of motor power 1 3 4 6 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 hard...

Page 26: ...ndition 1 3 5 2 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 buttons labeled MOTOR and MOTOR For easier identification the MOTOR button has a red bezel A green LED on top of the MOTOR provides a quick visual indication of the motor Power ON condition NOTE The MOTOR button is a normally closed swi...

Page 27: ...on 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 m...

Page 28: ...s the display to the next menu Activates a lower level menu that enables the user to make changes to the currently displayed parameter Scrolls the display up through a list of parameters Scrolls the display down through a list of parameters 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 sym bol ...

Page 29: ...ost 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 1 3 7 1 MOTOR Menus 1 3 7 1 MOTOR OFF Menus When motor power is turned off the controller power on default mode the display...

Page 30: ...tup menu in which one or more axes can be selected to perform a sequential home search cycle Is a motion function which allows the user to manually jog each axis using the numeric keypad Is a motion function which activates a lower level menu that offers position zeroing manual jog and go to position functions Activates the motion program management and generation environment This mode can be acti...

Page 31: ...se 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 li...

Page 32: ...ecting 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 fro...

Page 33: ...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 function key The top level setup menu will indicate on the first four lines the type of motion device each axis is configured for The display should look similar to Fig 1 13 Depending on y...

Page 34: ...u find the one you need 6 Press the key to accept the product family currently on the dis play The next menu level consists of product models is the chosen product family 7 Use the or keys to scroll through the different product models of the chosen family 8 Press the key to accept the product model on the display and to advance to the next menu 9 The next two screens are for changing the default ...

Page 35: ... 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 to return to the main MOTOR menu Now with all axes configured for the proper motion devices we are ready to use the motion devices OFF QUIT YES N O o n e O r l s a r e a v e S e h a n g s O i o t E E R M n P S Y E e e b n d o m i f i e d v e a x e s e v a h R...

Page 36: ...Section 2 Local Mode Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 37: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 38: ...EE 488 SRQ Used 2 12 Baud Rate 2 12 XON XOFF Mode 2 13 Parity 2 13 Word Length 2 14 Stop Bits 2 14 Axis HOME Sequence 2 14 Master Slave Mode Definition 2 15 Program Automatical Execution on Power On 2 16 Profile Type 2 16 2 2 2 Axis Setup 2 16 Axis Number Selection 2 17 Motion Device Selection 2 17 Modifying Axis Parameters 2 18 Units 2 18 Motion Type 2 19 HOME Type 2 19 Motor Type 2 19 Control Lo...

Page 39: ...Axis Relative Move 2 33 Multiple Axes Relative Move 2 34 2 3 5 Absolute Moves 2 34 Single Axis Absolute Move 2 35 Multiple Axes Absolute Move 2 35 2 3 6 Program Execution 2 35 2 3 7 Axis Infinite Movement 2 36 2 3 8 Stop Axis Infinite Movement 2 37 2 4 Programming In Local Mode 2 37 2 4 1 General Concepts 2 38 2 4 2 Creating a Program 2 38 Command Line Creation 2 39 WHILE Loop Creation 2 42 2 4 3 ...

Page 40: ... 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 button on the front panel You may hear a small relay click insid...

Page 41: ...is for the execution of a home search rou tine Use the keypad to enter a number and then press If you want to perform a home search on all axes leave the default 0 and press The axis will start moving the function keys will be disabled and the display will indicate the progress of the routine When all selected axes complete the home search cycle the display returns to the top level motor on menu T...

Page 42: ...o jog fast axis number 2 in the positive direc tion press simultaneously the keys numbered and To exit the manual jog mode press the key 2 1 4 First Move From the top level MOTOR menu press the function key The display will offer you the following menu You can start by pressing the key to command an absolute motion The next screen will look similar on the top four lines with the exception of the s...

Page 43: ...ns to the same menu This means that you can repeat the relative motion again and again by pressing the key If you entered relative motion values on multiple axes but only need to move one use the same JOG 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 an...

Page 44: ...in detail 2 2 1 General Setup General Setup is entered by pressing the function key in the top level setup menu The display will change to the one illustrated in Fig 2 5 Fig 2 5 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 nu...

Page 45: ...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 2 2 1 1 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 ope...

Page 46: ...ubleshooting complex programs To change speed scaling from the General Setup menu press the key until the speed scaling parameter is selected in the display To change the value press the key The display will prompt you to change the existing value by preceding it with the sign Use the keypad to enter the desired value The maximum value is 100 meaning that the controller will run with the actual pr...

Page 47: ...troller 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 until the parameter...

Page 48: ...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 until the Communication parameter appears on the display Press and then the key to select a new communication port Press the key to acc...

Page 49: ...a new setting Press the key to accept the entry and return to the previous menu CMQxx Set IEEE communication SRQ mode 2 2 1 11 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 key and advan...

Page 50: ...e RS 232 C is not used ignore the selection by pressing the key and advancing to the next parameter To change the setting from the General Setup menu press until the Parity parameter appears on the display Press and then the key to select a new parity Press the key to accept the entry and return to the previous menu CMPxx Set serial communication parity QUIT QUIT VALID CHANGE MODIFY UP GEN SETUP M...

Page 51: ... HOME Sequence The Axis Home sequence performs a home search cycle 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...

Page 52: ...he key and then the 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 key The factory default is NO SS Set Master Slave mode QUIT QUIT VALID 1 4 7 2 5 8 3 6 9 0 Axis 1 Axis 2 Axis 3 Axis 4 JOG MASTER MODIFY UP GEN SETUP Motor OFF 1 4 7 2 5 8 3 6 9 0 Axis 1 Axis 2 Axis 3 Axis 4 JOG M A N U P R O G 1 2 3...

Page 53: ...similar to Fig 2 6 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 to the selected axis Your display will show the motion device connected to axis number 1 Axis Setup E L E U Q I T E D F A U L P P T r P a a m e f s t C S T A X I S O ...

Page 54: ...en the desired product family is displayed press the 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 fa...

Page 55: ...the controller will use for display and reporting The available units are mm µm In mIn µIn 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 displa...

Page 56: ...yed Press the key to select a new home switch type Press to accept the new type and return to the previous menu Press the key to advance to the next parameter 2 2 2 7 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 spec...

Page 57: ...he next parameter 2 2 2 9 Periodicity This mode enables to display periodically for example 0 to 360 for cer tains of rotary mechanical families default RTM URM Press the key to advance to the next parameter Press and then the key to select or To accept this entry press the key If periodicity is enter the displacement period with the numeric keypad and then press the key to accept this value Press...

Page 58: ...lue 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 If coder resolution motor resolution OK If coder resolution motor resolution OK but Moto...

Page 59: ...city 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 key to set the Maximum speed Use the numeric keypad to ...

Page 60: ...efault parameters press the key to set the HOME speed Use the numeric keypad to enter a value that is equal to 50 of the Maximum Speed Press to accept the setting and return to the previous menu Press the key to advance to the next parameter OH Set home search velocity DO Read home search velocity QUIT YES QUIT QUIT VALID 1 4 7 2 5 8 3 6 9 0 Axis 1 Axis 2 Axis 3 Axis 4 JOG MODIFY UP MODIFY Axis Se...

Page 61: ...n 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 key Use the numeric keypad to enter a new value and then press to accept the setting and return to the previous menu Press the key to advance to the next parameter SL Set left travel limit TL Read left travel...

Page 62: ...eter 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 key Use the numeric keypad to enter a new value and then press to accept the setting and return to the previous menu Press the key to advance to the next parameter SH Set home p...

Page 63: ... 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 key Use the numer ic keypad to enter a new value and then press to accept the setting and return to the previous menu Press the key to advance to the next parameter ...

Page 64: ...red 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 key Use the numeric keypad to enter a new value and then press to accept the setting and return to the previous menu Press the key to advance to the next...

Page 65: ... setting this parameter To change the backlash parameter press the key Use the numeric keypad to enter a new value and then press 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 key will bring you back to the first para meter that was discussed Exit the Axes Setup by pressing the key XB Read me...

Page 66: ...change to one similar to Fig 2 7 We will call this the top level motor on menu Fig 2 7 Top level MOTOR menu NOTE It is possible to press the MOTOR 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 menu NOTE It is possible to press the MOTOR button at any time To avoid con fusion use this...

Page 67: ...search routine sequentially on all installed axes in the order specified in the General Setup 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 2 3 2 Manual Jog Manual Jog is a commonly used Local Mode front panel function The selected axis will move at a pre defined velocity This type of motio...

Page 68: ...e 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 has 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 disapp...

Page 69: ... 2 3 4 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 Repe...

Page 70: ... 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 1 key to move it in the opposite direction NOTE When the relative motion is complete the display does not return to the top...

Page 71: ... the next active axis Repeat the operation for each installed axis When all destinations are defined pressing the key on the last active axis will change the menu on the display to Pressing the 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 if the key is pressed without executing the absol...

Page 72: ...at 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 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 key is pressed Once a valid progr...

Page 73: ...d only for rotary stages Now if one key of numeric keypad is pressed one infinite displacement will be activated or stopped Key Infinite displacement of axis 1 in negative direction Key Stop the infinite displacement of axis 1 Key Infinite displacement of axis 1 in positive direction Key Infinite displacement of axis 2 in negative direction Key Stop the infinite displacement of axis 2 Key Infinite...

Page 74: ...ed 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 or 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 p...

Page 75: ...E 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 ...

Page 76: ...he simple command line There are nine different types of commands available They are separated in four different screens 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 key or to abort the current line being worked on by pressing The last function key of each screen and advances the di...

Page 77: ...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 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 t...

Page 78: ...onally 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...

Page 79: ...op that 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 and then using the key select the bit state When done press the 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 key The next choice you have to make is the number of times you want to repeat th...

Page 80: ...d press the 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 VALID MODIFY MODIFY QUIT Program Management Menu QUIT Program Creation Menu INPUT VAR QUIT Loop Type WH...

Page 81: ...ting menu To see the last program line you must press the key 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 key is selected the controller activates the Line Entry menu Following the descriptions in the Command Line Creation para graph create a new command line...

Page 82: ...Section 3 Remote Mode Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 83: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 84: ...ommand Format 3 7 Blank Spaces 3 7 Command Line 3 7 Separator 3 7 Terminator 3 7 3 4 Command Summary 3 8 3 4 1 Command List by Category 3 8 General mode selection 3 8 Motion and position control 3 8 Trajectory definition parameters 3 8 Special motion parameters 3 9 Trace mode 3 9 Digital filter parameters 3 9 Motion device parameters 3 9 I O functions 3 10 Programming 3 10 Flow control and sequenc...

Page 85: ...EDH0162En1040 06 99 3 2 MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 86: ...etting 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 key and then the General Setup menu by pressing Now press the function key until the Communication selection appears To change the displayed and currently active communication interface press the and then function keys Exit the SET...

Page 87: ...ector on the back panel 3 1 2 2 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 MM4005 has its own language and command set the IEEE 488 is used only as a communication port The extended protocol is not supported...

Page 88: ... GPIB TNT 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...

Page 89: ...1 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 3 3 0 2 Command Lines The MM4005 responds only to command line instructions This means that no single or multiple character command is executed until...

Page 90: ...2P A1 43 6 2PA1 436 but the first example is very confusing and uses more than twice the memo ry 3 3 1 3 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 ...

Page 91: ...1 Command List by Category Command Description IMM PGM MIP 3 4 1 1 General mode selection xx CD nn Set cycle value and activate periodic display mode CM nn Change communication mode MC Set manual mode xx MF Motor OFF ML Set local mode MO Motor ON MR Set remote mode QW Save general parameters RS Reset controller 3 4 1 2 Motion and position control AB Abort motion xx DH Define home xx MT nn Move to ...

Page 92: ...XN Read number of acquisitions XQ Read global sample rate XS Read trace sample rate 3 4 1 6 Digital filter parameters xx FE nn Set maximum following error xx KD nn Set derivative gain xx KI nn Set integral gain xx KP nn Set proportional gain xx KS nn Set saturation level of integral factor in position loop PID corrector xx PW Save parameters xx TF Read filter parameters xx UF Update servo filter x...

Page 93: ...ne line of program XM Read available memory xx XX Erase program 3 4 1 10 Flow control and sequencing xx DL Define label xx IE nn If I O input is equal xx JL Jump to label KC Abort command line xx OE nn Test I O output RP nn Repeat command line RQ nn Generate service request SRQ xx UH Wait for I O high xx UL Wait for I O low WA nn Wait WE End While loop xx WF Wait for function key xx WG nn While va...

Page 94: ...sage TD Read error line of program TE Read error code TS Read controller status TX Read controller activity TX1 Read controller extended status VE Read controller version 3 4 1 14 Commands to define a trajectory 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 CA nn Define sweep angle and build...

Page 95: ...f elements in the trajectory XU nn Tell the vector acceleration on trajectory trajectory acceleration XV nn Tell the vector velocity on trajectory trajectory velocity 3 4 1 17 Master slave mode definition xx FF nn Set maximum master slave following error xx GR nn Set master slave reduction ratio xx SS np Set master slave mode 3 4 1 18 Trace mode on trajectory NB nn Set trajectory element where the...

Page 96: ...Read manual velocity xx DO Read home search velocity xx DP Read desired position xx DS nn Display strings on screen xx DV pp Read desired velocity xx DY nn Display a variable ED nn Display program error EL Erase the last element of trajectory xx EO nn Automatical execution on power on xx EP nn Edition of program ET Execution of trajectory xx EX nn Execute a program FA nn Define the tangent angle f...

Page 97: ...ronisation xx PE nn Set end position of generation of pulses of synchronisation xx PI nn Set step of generation of pulses of synchronisation xx PR nn Move to relative position xx PS pp Allow generation of pulses on motion xx PT nn Calculate necessary time for axis displacement xx PW Save parameters QP Quit program mode QW Save general parameters xx RA Read analog input xx RB Read I O input RD Disa...

Page 98: ... for a trajectory curvi linear length WK aa Wait for key xx WL nn While variable is less WN nn Wait for a element of trajectory xx WP nn Wait for position xx WS nn Wait for motion stop WT nn Wait xx WY nn While variable is different XA Tell the current maximum allowed angle of discontinuity xx XB Read backlash compensation xx XD Read derivative gain factor XE Tell the last element xx XF Read maxim...

Page 99: ... 16 MM4005 Remote Mode xx YG nn If variable is greater xx YK Read key to variable xx YL nn If variable is less xx YM nn Multiply variables xx YN nn If variable is different xx YO nn Send a value to an user analog port xx YP nn Set theoretical position in variable xx YQ nn Set current position in variable xx YR nn Read a value from an user analog port and affect variable xx YS nn Initialize variabl...

Page 100: ...volatile 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 ...

Page 101: ...t 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 trajecto...

Page 102: ...ge If nn 3 0 to 5 V tension input range Returns If the 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 Set 0 to 10 V analog range at the input port 1 1AM ...

Page 103: ...d 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 I O bit Returns None Errors None Rel Commands EX Execute a program Example 3EX Execute program 3 AP Stop program execution Artisan Technology Gr...

Page 104: ...ates 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 Inc...

Page 105: ...e 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...

Page 106: ...arameters Description xx int Physical axis number Range xx 1 to 4 Units xx None Defaults xx Missing Error B Out of range Error B Description 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 Returns If AX takes place of the xxAX this command reportes the act...

Page 107: ...for the next trajectory that will be loaded ET command will ver ify the correct assignation in execution Returns If AY takes place of the xxAY this command reportes the actual number of assigned as Y geometric axis Errors B Incorrect axis number S Communication time out Rel Commands AX Assign a physical axis as X geometric axis LT Extended list of the trajectory Example 2AY Assign physical axis 2 ...

Page 108: ...ller 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 X...

Page 109: ...en it is used as Counter Clock Wise Sweep angle 0 then it is used as Clock Wise Returns None Errors C Parameter out of limits H Calculation overflow V Too long trajectory Type error arc expected Trajectory Arc r θ radius is too small Trajectory Arc r θ radius is too big _ Trajectory Arc r θ sweep angle is too small Rel Commands CR Define radius for an arc of circle ƒ CR CA XE Tell the last element...

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

Page 111: ...tart nn end 0 if positive displacement Start 0 end nn 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 xxCD0 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 va...

Page 112: ...y 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 CMM0T0B9600P0L8S1O1R0 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 Return...

Page 113: ...e 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 Returns xxCPaa xx Program number aa ASCII code of the error type If no error is dete...

Page 114: ...rcs we have specified the radius by this command every time before the CA command Returns None Errors C Parameter out of limits V Too long trajectory Trajectory Arc r θ radius is too small Trajectory Arc r θ radius is too big e Trajectory Units not translationnal or not identical Rel Commands CA Define sweep angle and build an arc of circle ƒ CR CA XE Tell the last element Example NT Clear traject...

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

Page 116: ...ory of the type arc of circle ƒ CX CY Returns None Errors C Parameter out of limits V Too long trajectory e Trajectory Units not translationnal or not identical Rel Commands CY Define Y position to reach and build an arc of circle ƒ 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 ƒ x y CY10 Define Y posit...

Page 117: ...rrors C Parameter out of limits H Calculation overflow V Too long trajectory Type error arc expected Trajectory Arc r θ radius is too small Trajectory Arc r θ radius is too big Arc x y circle too small e Trajectory Units not translationnal or not identical Rel Commands CX Define X position to reach with an arc of circle ƒ CX CY XE Tell the last element EL Erase the last element of trajectory Examp...

Page 118: ...front panel SETUP menu If pp is 0 or missing the actual value of acceleration is reported If pp 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 Example 2DA Read acceleration of axis 2 2DA10 Controller return...

Page 119: ...s 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 Returns xxDFnn or xx1DFnn1 xx2DFnn2 xx3DFnn3 xx4DFnn4 xx xx1 xx2 xx3 xx4 Axis number nn nn1 nn2 nn3 nn4 Following error in pre defined units Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands FE Set maximum following error TF R...

Page 120: ... 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 3OR Perform a home search on axis 3 3DH Define current position on axis 3 HOME Artisan Tec...

Page 121: ... 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 it is only ignored Returns None Errors A Unknown message code L Command not at the beginning of a line N Incorrect label number Rel Commands JL Jump to l...

Page 122: ... 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 Returns xxDMnn xx Axis number nn Manual jog high velocity value in pre defined units sec Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands MH Set manual velocity Example 2DM...

Page 123: ...orithm 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 2DO2 5...

Page 124: ...ten invoked while a motion is in progress Returns xxDPnn or xx1DPnn1 xx2DPnn2 xx3DPnn3 xx4DPnn4 xx xx1 xx2 xx3 xx4 Axis number nn nn1 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 Move to absolute position PR Move to relative position Example 3TP Read position on axis 3 3TP5 ...

Page 125: ...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 The printable number of characters is always N but the quotation marks are not part of characters of these strings...

Page 126: ...ce 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 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 Exa...

Page 127: ...ses 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 Initiali...

Page 128: ...ts 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 Returns None Errors ...

Page 129: ...rs D Unauthorized execution S Communication time out b Trajectory is empty Rel Commands LT Extended list of the trajectory NT Start definition of a new trajectory XE Tell the last element Example NT Start a new trajectory LX10 Insert an element EL Erase this element XT Read number of trajectory elements XT0 Controller returns 0 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOU...

Page 130: ...y 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 Returns 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 Errors A Unknown message code C Parameter out of limits F Program number incorrect Rel Command...

Page 131: ... 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 I Unauthorized command in pr...

Page 132: ...0 2WS The program is now listed 3EP3 Edition of program 3 insert at line 3 DS WAIT Enter a line 1SB Enter a line WT5000 Enter a line 1CB Enter a line 3QP Quit Edition of program 3 3LP Liste program 3 1PA10 1WS DS WAIT 1SB WT2000 1CB 2PA10 2WS The program is now listed 3EX Execute the program 3 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 133: ...ption Returns None Errors 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 acceleration on trajectory trajectory acceleration VV Define the vector velocity on ...

Page 134: ...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 Returns None Errors A Unknown message code C Parameter out of limits F Program numb...

Page 135: ...turns None Errors D Unauthorized execution S Communication time out X Trajectory first angle definition error Rel Commands NT Start definition of a new trajectory Example NT Start a new trajectory FA45 0 Define first tangent angle is 45 MM4005 EX Execute a program cont WT3000 Wait for 3 seconds QP Quit the program 2 3EP Program 3 3AS a value Define string 3 101YS99 99 Define value 101 3CS Y101 Con...

Page 136: ...ered 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 progra...

Page 137: ...normal operation of the controller Returns None Errors A Unknown message code J Command authorized only in programming mode Rel Commands FB Label function key 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 3 4FBSTOP Define custom label for function key 4 as STOP 7WF Display the custo...

Page 138: ...ned function keys not the ones used by the normal operation of the controller Returns None Errors A Unknown message code J Command authorized only in programming mode Rel Commands FB Label function key FC Clear function key line WF Wait for function key Example 3XX Clear program 3 from memory if any 3EP Activate program mode and enter following commands as program 3 4FBSTOP Define custom label for...

Page 139: ...e 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...

Page 140: ...ion 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 Returns If the sign ta...

Page 141: ... 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 F 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 ...

Page 142: ...et 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 If the sign takes place of nn this command reports the number of possi ble max points in global trace mode Err...

Page 143: ...d 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 reducti...

Page 144: ...he 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...

Page 145: ...x xxJL Parameters Description xx int Label number Range xx 1 to 100 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...

Page 146: ...lected 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 Upd...

Page 147: ...cted 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 Upd...

Page 148: ...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 KI Set integral gain UF Upd...

Page 149: ... 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 If the 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 Parameter out of limits Rel Commands ...

Page 150: ...88 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 Returns Program listing Errors A Unknown message code F Program number incorrect G Program does not exist I Unauthorized command in programming mode Rel Commands MP Download EEPROM to RAM Example MP Copy programs from E...

Page 151: ...X xx Y yy A tt R rr B ss S ww ƒ CR CA xxLTee X xx Y yy A tt R rr B ss S ww where aa Line x θ bb Line y θ cc Line x y dd Arc x y ee Arc r θ 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 Errors C Parameter out of limits S Communication time out Rel Commands ...

Page 152: ...ngent Returns None Errors C Parameter out of limits H Calculation overflow S Communication time out V Too long trajectory Y Trajectory Line x y Line expected Trajectory Line x θ or Line y θ impossible e Trajectory Units not translationnal or not identical Rel Commands LY Define Y position and build a line segment ƒ LY tangent XE Tell the last element Example NT Clear trajectory FA45 0 Define input...

Page 153: ...ngent Returns None Errors C Parameter out of limits H Calculation overflow S Communication time out V Too long trajectory Y Trajectory Line x y Line expected e Trajectory Units not translationnal or not identical Trajectory Line x θ or Line y θ impossible Rel Commands LX Define X position and build a line segment ƒ LX tangent XE Tell the last element Example NT Clear trajectory FA45 0 Define input...

Page 154: ...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 Set local mode MR Set remote mode ST Stop motion Example MC Enter manual jog mode MF Motor OFF Usage IMM PGM MIP Syntax xxMF Parameters Description xx int Axis number Description This command should be used as an emergency stop On reception of this comma...

Page 155: ...f 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...

Page 156: ...ution Rel Commands MC Set manual mode MR Set remote mode Example ML Set local mode MO Motor ON Usage IMM 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 button CAUTION If the motor power is turned off by the controller detecting ...

Page 157: ...emote mode Returns None Errors D Unauthorized execution Rel Commands MC Set manual mode ML Set local mode Example MR Set controller in remote mode MM4005 MP Download EEPROM to RAM Usage IMM PGM 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...

Page 158: ...al zero signal Low High 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 will give us the status bits values NOTE For a complete ASCII to binary conversion table see Appendix F ASCII Table Returns xxMSaa or xx1MSaa1 xx2MSaa2 xx3MSaa3 xx4MSaa4 xx xx1 xx2 xx3 xx4 Axis number aa aa1 aa2 aa3 aa4 ASCII character representin...

Page 159: ...tops all motion and generates an error message 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 E...

Page 160: ...t will refuse the execution and set error code D NOTE If the axis was previously defined as a synchronized axis MV command do 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 U...

Page 161: ... ƒ MX MY Returns None Errors 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 Rel Commands MY Define Y position and build a line segment ƒ MX MY XE Tell the last element Example NT Clear trajectory MX10 Define X position of a line segment ƒ ...

Page 162: ...of the type Line segment ƒ MX MY Returns None Errors 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 Rel Commands MX Define X position for a line segment ƒ MX MY XE Tell the last element Example NT Clear trajectory MX10 Define X position of...

Page 163: ... 100 and the value of NB must be the value of NE the total element number this value of NB will be reexamined in NS and ET commands Returns If the sign takes place of the nn value this command reportes the num ber of trajectory element where the generation of pulses commences Errors A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution Rel Commands NE Se...

Page 164: ...and the value of NB must be the value of NE the total element number this value of NE will be reexamined in NS and ET commands Returns If the sign takes place of the nn value this command reportes the num ber of trajectory element where the generation of pulses ends Errors A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution Rel Commands NB Set trajecto...

Page 165: ...ecause NI and NN are complement commands the last entered NI com mand value replaces all of precedently entered NI or NN commands one Returns 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 erated Errors A Unknown message code B Incorrect axis number C Parameter out of limits D Unauthorized execution Rel...

Page 166: ...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 If the 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 Paramet...

Page 167: ...s described below Unit mm µm In mIn µIn Dg Gr Rad mRd µRd 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 If the 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 values Errors A Unknown message ...

Page 168: ... global sample rate TQ Read global trace data XQ Read global sample rate Example SQ0 005 Set global trace sample period to 5ms GQ1000 Enable trace mode for axis 2 and acquire 1000 samples 2PR0 2 3PR1 Start a 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 r...

Page 169: ...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 Set trajectory element where the generation of pulses starts NE Set trajectory element where the generation of pulses ends NI Set step curvi linear distance between sync...

Page 170: ...xis number nn int Acceleration value Range xx 1 to 4 nn 1 E 6 to the programmed value in SETUP mode Units xx None nn Preset units in SETUP mode sec2 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 h...

Page 171: ... 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 compare it with As described in the Command Syntax paragraph a line is defined as all commands between two line terminators Even though the co...

Page 172: ...Out of range Error C Description 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 Returns None Errors A Unknown message code B Incorrect axis number C Parameter out of limits Rel Commands DO Read home search velocity OR Search for home Exam...

Page 173: ... range Error C Description 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 Returns None Errors A Unknown message code B Incorrect axis number C Parameter out of limits Rel Commands OA Set home search acceleration OH Set home search high ve...

Page 174: ...oduction 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 NOT...

Page 175: ...ller 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 ...

Page 176: ... effect until the PS com mand is received Returns 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 Errors A Unknown message code B Incorrect axis number C Parameter out of limits Rel Commands PE Set end position of generation of pulses of synchronisation PI Set step of generation of pulses of synchronis...

Page 177: ...eration 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 Returns 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 Errors A Unknown message code B Incorrect axis number C Parameter out of limits Rel Commands PB Set start pos...

Page 178: ... 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 Tbase will be verified in PS command Returns If the 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 Errors A Unknown messa...

Page 179: ...e 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 wi...

Page 180: ...If pp 1 actual positions of all axis are stocked in the global trace buffer and can be reread by TQ command 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 µsec NOTE This command if successful erases...

Page 181: ...Rel Commands None Example 1PT20 Calculate the time for axis 1 displacement of 20 units 1PT1 25 Controller returns value in seconds MM4005 PS Allow generation of pulses on motion cont Rel Commands PB Set start position of generation of pulses of synchronisation PE Set end position of generation of pulses of synchronisation PI Set step of generation of pulses Example 1PB 20 Set start position for ax...

Page 182: ...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 Unknow...

Page 183: ...urns None Errors I 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 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 Artisan Technolog...

Page 184: ...t 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 Returns None Errors A Unknown mess...

Page 185: ...s missing or set to 0 the controller 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 Returns xxRAnn or xx1RAnn1 xx2RAnn2 xx xx1 xx2 Analog port number nn nn1 nn2 Analog port value in ASCII format NOTE The value sent for each not connected analog port is not si...

Page 186: ...e 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 0RBnn1 or RBnn2 xx I O bit number nn I O bit value 0 or 1 nn1 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 Comm...

Page 187: ...r 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 abled 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 Set lo...

Page 188: ... manual mode ML Set local mode MR Set remote mode RD Disable display refresh Example SP0 002 Set trace period to 2 ms 2TM2000 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 Arti...

Page 189: ...it 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 0ROnn1 or ROnn2 xx I O output bit number nn I O output bit value 0 or 1 nn1 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 I O...

Page 190: ...o 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 be at the beginning of a...

Page 191: ...1 Units nn None Defaults nn Missing Error C Out of range Error C Description 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 in...

Page 192: ...ch 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 configuration a set bit means a conducting transistor Using a pull up resistor a set output bit will mea sure a l...

Page 193: ...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 in normal operation It was intended to be used only for factory testing or very specialized applications Returns None Errors A Unknown message code ...

Page 194: ...g 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 Returns None Errors C Parameter out ...

Page 195: ...tions 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 Returns None Errors D Unauthorized execution Rel Commands SY Axis synchronization Example 2SY1 Define axis 2 as synchronized 4SY1 Define axis 4 as synchronized 2PA12 Set axis ...

Page 196: ...s 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 Returns If ...

Page 197: ...ated 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 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 Pa...

Page 198: ...is 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 sw...

Page 199: ...authorized command in programming mode Rel Commands CP Compile program EP Edition of program MP Download EEPROM to RAM QP Quit program mode Example 3XX Clear program 3 from memory 3EP Activate program mode and enter following commands as program 3 QP End entering program and quit programming modee 3CP Compile program 3 3CP Controller confirms compilation of program 3 with no errors SM Save all pro...

Page 200: ...e standard names of units are following Translation groupe mm µm In mIn µIn and Inc Rotation groupe Dg Gr Rad mRd µRd and Inc Returns If the sign takes place of name this command reportes the name of the actual unit used in the controller Errors A Unknown message code B Incorrect axis number c Unit not translational or incorrect d Unit not rotationnal or incorrect Rel Commands TN Read displacement...

Page 201: ... 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 R...

Page 202: ...TE 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 Returns None Errors C Parameter out of limits Rel Commands TM Set trace mode XS Read trace sample rate Example SP0 002 Set trace period to 2 ms XS Read actual trace period XS0 002001374478 Controller returns actual trace peri...

Page 203: ...use the global 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 XQ command to read the actual global trace sample interval used Returns None Errors C Parameter out of limits Rel Commands GQ Set global trace mode XQ Read global sample rate Example SQ0 002 Set global trace period to 2 ms XQ Read actual global trace per...

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

Page 205: ...retical 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 Returns If the si...

Page 206: ...that 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 Returns None Errors A Unknown message code B Incorrect axis numbe...

Page 207: ...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 motion commands using PA and PR will not be executed until the SE command is received Returns None Errors A Unknown message code B Incorrect axis number C Parameter out of limits Re...

Page 208: ...is 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 Returns Name of installed motion device Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands None Example 1TA ad the name of motion device installed on axis 1 1TAUTM50PP0 1 Controller re...

Page 209: ...or 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...

Page 210: ...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 Set control loop type Example 1TC Read the ...

Page 211: ... Returns TDaaa aaa Program error line Errors S Communication time out Rel Commands TB Read error message TE Read error code Example 1EP Program 1 5OR An error generating line QP End of program 1EX Execute program 1 an error will occur TD Read program error line TD5OR Controller returns error line TB Read error message buffer TBB Axis number missing or not correct Error message Artisan Technology G...

Page 212: ...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 Returns TEaa aa Error code character Errors S Communication time out Rel Commands TB Read error message Example TE Read error message TE Controller returns no error 5PA12 3 Move ...

Page 213: ...er has not been updated by sending an UF the command will still read the old values Returns xxTF xxXPnn1 xxXInn2 xxXDnn3 xxXFnn4 xx Axis number nn1 Proportional gain factor nn2 Integral gain factor nn3 Derivative gain factor nn4 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 deri...

Page 214: ...ans 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 Returns None Errors A Unknown message code E Incorrect I O channel number Rel Commands CB Clear I O outputs bits RO Read I O output SB Set I O output bit...

Page 215: ...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 xx1THnn1 xx2THnn2 xx3THnn3 xx4THnn4 xx xx1 xx2 xx3 xx4 Axis number nn nn1 nn2 nn3 nn4 Theoretical position in pre defined units Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands TP Re...

Page 216: ...hen 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 ax...

Page 217: ...he 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 issuin...

Page 218: ...f displacement units used on a specified axis The units are defined in the SETUP menu of the front panel Returns xxTNaa xx Axis number aa Displacement units two or three ASCII characters Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands None Example 1TN Read the type of displacement units used on axis 1 1TNmm Controller reports mm for axis 1 Artisan Techno...

Page 219: ...ll axes If xx is a number between 1 and 4 the controller returns the actual position of that axis Returns xxTPnn or xx1TPnn1 xx2TPnn2 xx3TPnn3 xx4TPnn4 xx xx1 xx2 xx3 xx4 Axis number nn nn1 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 posi...

Page 220: ...ffer If nn 1 the controller returns the values of theoretical and real positions and 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 1THnn1 1TPnn2 2THnn3 2TPnn4 3THnn5 3TPnn6 4THnn7 4TPnn8 xxTQ1 xxTQ 1THnn1 1TPnn2 2THnn3 2TPnn4 3THnn5 3TPnn6 4THnn7 4TPnn8 1RAnn9 2RAnn10 3RAnn11 4RAnn12 xx Sample...

Page 221: ... 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 Set right travel limit Example 3TR Read left travel limit on axis 3 3TR14 5 Controller returns right software travel limit 14 5 units MM4005 TQ Read global trace data cont Example SQ0 002 Set global trace sample period to 2 ms GQ500 Se...

Page 222: ...f 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 Comman...

Page 223: ...xxTT THnn1 TPnn2 xx Sample number nn1 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 Errors A Unknown message code C Parameter out of limits D Unauthorized execution S Communication time out Rel Commands SP Set trace sample rate TM Set trace mode XN Read number of acquisitions Example SP...

Page 224: ...verall 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 Returns xxTUnn xx Axis number nn Encoder resolution in predefined displacement units Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands None Example 3TU Read encoder resolution for axi...

Page 225: ...ed 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 Returns TXaa aa ASCII character representing the status byte Errors A Unknown message code S Communication time out Rel Commands MS Read motor status TS Read controller status Example TX Rea...

Page 226: ...Axis 3 2 characters d1d2 Axis 4 2 characters Meaning for Bit Function for w1 Bit LOW Bit HIGH 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 5 Reduced communication NO YES 6 Not used Default 7 Not used Default Meaning for Bit Function for w2 Bit LOW Bit HIGH 0 Manual jog NO YES 1 Manual jog with joysti...

Page 227: ...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 Not used Default 6 Not used Default 7 Not used Default Errors A Unknown message code S Communication time out Rel Commands TS Read controller status TX Read controller activity Example TX1 Read controller extended status TX1 Controller returns v...

Page 228: ... 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 Returns xxTYnn xx Variable number nn Variable value Errors A Unknown message code O Variable number out of range S Communication time out Rel Commands YS Initialize variable All variable manipulation commands Example 17...

Page 229: ... 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 Returns None Errors A Unknown message code B Incorrect axis number Rel Commands FE Set maximum following error KD Set derivative gain KI Set integral gain factor KP Set p...

Page 230: ...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 be...

Page 231: ...ng 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 Returns None Errors A Unknown message code E Incorrect I O channel number J Command authorized only in programming mode L Command not ...

Page 232: ... NOTE Avoid changing the velocity during the acceleration or deceleration peri ods For better predictable results change velocity only when the 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 Move to absolute position PR Move to relative position Example 2D...

Page 233: ...t of range Error C Description 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 NOTE This command is available only for stepper motors Returns None Errors A Unknown message code B Incorrect axis number C Parameter out of limits Rel Commands PA Move to absolute position PR Move to re...

Page 234: ...e 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 5...

Page 235: ...or 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 If the sign takes place of ...

Page 236: ...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 ma...

Page 237: ... 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 Returns None Errors None Rel Commands WT Wait Example 6UL WA400 2PA2 3 Wait for I O input bit 6 to go lo...

Page 238: ...line NOTE All While loop commands WG WH WL and WY must be terminated with a WE command Returns None Errors J Command authorized only in programming mode Rel Commands WG While variable greater than value WH While I O input is equal WL While variable is less WY While variable is different Example 2YS0 Initialize variable 2 to 0 2WY10 2YA1 Open first while loop while variable 2 is different than 10 a...

Page 239: ...knowl 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 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 FB Label function key FC Clear function key line FD Display functio...

Page 240: ... The loop is repeated until the test becomes false At that point program execution 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 WH While I O input is equal WL While v...

Page 241: ...mmand 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 Returns None Error...

Page 242: ...ed 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 Element 1 LX30 Element 2 LX40 Element 3 ...

Page 243: ...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 Returns None Errors J Command authorized only in programming mode Rel Commands WA Wait WP Wait for position WS Wait for motion stop WT Wait Example WKContinue top program and display on line 5 the string Continue...

Page 244: ...E 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 ...

Page 245: ...value defined by WN is superior than the total number of element of the trajectory or by error after trajectory stop the trajectory execution do not reach the desired element the command exe cution 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 FA90 Initialisation CR10 CA5 E...

Page 246: ...mands only after axis xx reaches position nn NOTE Make sure that position nn is inside the travel of axis xx The controller cannot 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 Wait f...

Page 247: ...n is specified different than 0 the controller waits an additional nn millisec onds after the motion is complete 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 ...

Page 248: ...ans 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 WA Wait Example 6UL WT400 2PA2 3...

Page 249: ...eated 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 ...

Page 250: ...m the controller the current maximum allowed discontinuity angle Returns XAnn nn Maximum discontinuity angle Errors S Communication time out Rel Commands AD Define the maximum allowed angle of discontinuity Example XA Tell maximum discontinuity angle XA0 001 Controller returns 0 001 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 251: ... compensation in use Errors A Unknown message code B Incorrect axis number Rel Commands BA Set backlash compensation Example OR Perform a home search on all installed axes 1BA0 0012 Set backlash compensation of axis 1 to 0 0012 units 2BA0 0008 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 ...

Page 252: ...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 Returns xxXDnn xx Axis number nn Derivative gain factor Errors A Unknown message code B Incorrect axis number S Communication time out Rel Commands KD Set derivative gain TF Read filter parameters UF Update servo filter Example 2XD Rad derivati...

Page 253: ...position of the element cc y end position of the element dd Angle of the tangent at the end position Errors S Communication time out Rel Commands XT Tell number of elements in the trajectory LT Extended list of the trajectory Example NT Clear trajectory FA45 0 Define initial tangent angle 45 LX10 Define and build line segment ƒ 10 0 45 0 XE Tell last element XE Line x θ 10 10 45 Controller tells t...

Page 254: ...and reads the value actually used in the servo loop If the PID parameters are modified using the FE command but the digital filter has not been updated by sending an UF the command will still read the old value Returns xxXFnn 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 T...

Page 255: ...ounter 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 C...

Page 256: ... 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 xxXInn 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 integra...

Page 257: ...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 I 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 ...

Page 258: ...m 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 Rel 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...

Page 259: ...e out Rel Commands None Example SP 0 005 Set trace sample period to 5 ms 2TM1000 Enable trace mode for axis 2 and acquire 1000 samples 2PR0 2 Start a 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 fo...

Page 260: ...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 proport...

Page 261: ... for the timer For that reason the sample period is reported with at least 10 decimal points Returns XQnn nn Real global trace sample period in seconds Errors S Communication time out Rel Commands GQ Set global trace mode SQ Set global sample rate Example SQ0 005 Set global trace sample period to 5 ms GQ1000 Enable global trace mode and acquire 1000 samples 2PR0 2 Start a relative motion on axis 2...

Page 262: ...de Example SP0 005 Set global trace sample period to 5 ms GQ1000 Enable global trace mode and acquire 1000 samples 2PR0 2 Start a relative motion on axis 2 and the acquisition process XS 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 IMM PGM MIP Syntax XT Parameters None Description This com...

Page 263: ...he current trajectory acceleration if nn missing or 0 aa MTA if nn greater or equal 1 Errors S Communication time out Rel Commands VS Define the vector acceleration on trajectory trajectory acceleration XV Tell the vector velocity on trajectory trajectory velocity Example VS10 Define 10 units sec2 as trajectory acceleration XU1 Read MTA XU20 0 Controller tells MTA XU Read trajectory acceleration X...

Page 264: ...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 Controlle...

Page 265: ...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 mand Returns None Errors A Unknown message code F Program number incorrect I Unauthorized command in programming mode Rel Commands LP List program MP Download EEPROM to RAM Example 3XX Clear program 3 ...

Page 266: ...e may be positive or negative NOTE If at any time the operation will cause the variable value to go out of range 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 Initi...

Page 267: ...om mand the value of variable xx takes the opposite sign Returns None Errors A Unknown message code O Variable number out of range Rel Commands TY Read a variable YS Initialize variable Example 3XX Clear program 3 from memory if any 3EP Activate program mode and enter following commands as program 3 7YS3 Initialize variable 7 to 3 7YA2 Add 2 to variable 7 the new value for the variable is 5 7YB Ne...

Page 268: ...iable 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 5 to 0 2YS6 Initialize variable 2 to 6 5WY18 While variable 5 is ...

Page 269: ...tion is not performed and error H is generated The decimal part of the division 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 YC Add variables YS Initialize variable Example 5YS5 Initialize variable 5 to 5 2YS9 Initialize variable 2 to 9 1YR3 Load analog port 3 value int...

Page 270: ... 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 Returns None Errors A Unknown message code C Parameter out of limits L Command not at the beginning of a line O Variable number out of range Rel Commands YA Add to variable YG If variable is greater YL If variable is less YS Initializ...

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

Page 272: ...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 Returns None Errors A Unknown message code C Parameter out of limits L Command not at the beginning of a line O Variable number out of range Rel Commands YA Add to variable YE If variable is equal YL If variable is less YS Initialize v...

Page 273: ...Variable pressed code value None None 0 0 48 1 49 2 50 3 51 4 52 5 53 6 54 7 55 8 56 9 57 45 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 5 to 0 5WL1 While variable 5 is less than 1 repeat next commands 4YK Read keys and place code variable 4 4YE49 1PR 0...

Page 274: ...t 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 Returns None Errors A Unknown message code C Parameter out of limits L Command not at the beginning of a line O Variable number out of range Rel Commands YA Add to variable YE If variable is equal YG If variable is greater YS Initialize...

Page 275: ...lt is out of the 32767 to 32767 range the operation is not performed and error H is generated Returns None Errors A Unknown message code H Calculation overflow O Variable number out of range Rel Commands YC Add variables YD Divide variables YF Scale variable YS Initialize variable Example 5YS5 Initialize variable 5 to 5 2YS9 Initialize variable 2 to 9 1YR3 Load analog port 3 value into variable 1 ...

Page 276: ...pplies 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 Returns None Errors A Unknown message code C Parameter out of limits L Command not at the beginning of a line O Variable number out of range Rel Commands YE If variable is equal YG If variable is greater YL If variable is less YS Initializ...

Page 277: ...ute value is bigger than 10 nn 10 or nn 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 Unknown message code C Parameter out of limits E Incorrect I O channel number Q Unauthorized command Rel Commands AM Set analog input mode YR Read a value from an user analog po...

Page 278: ...ut of range Error B nn Missing Error C Out of range Error C Description This command sets the current theoretical position in the desired Y float variable Returns None Errors B Incorrect axis number C Parameter out of limits Rel Commands YQ Set current position in Y variable Example 1YP101 Set the theoretical position of the axis 1 in the float variable 101 Artisan Technology Group Quality Instrum...

Page 279: ... B Out of range Error B nn Missing Error C Out of range Error C Description This command sets the current position in the desired Y float variable Returns None Errors B Incorrect axis number C Parameter out of limits Rel Commands YP Set theoretical position in Y variable Example 2YQ110 Set the current position of the axis 2 in the float variable 110 Artisan Technology Group Quality Instrumentation...

Page 280: ...e selected port xx is read and the value is loaded in variable nn NOTE For the hardware definition of the analog input port please see Appendix Connector Pinouts Remote Control Connector Returns None Errors A Unknown message code C Parameter out of limits O Variable number out of range Rel Commands RA Read analog input Example 5YS0 Initialize variable 5 to 0 5WL18 While variable 5 is less than 18 ...

Page 281: ...s 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 5 to 0 5WY18 While variable 5 is diffe...

Page 282: ...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 rang...

Page 283: ...57 45 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 5 to 0 5WL1 While variable 5 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 m...

Page 284: ...iable xx After execution both variables will have the same value Returns None Errors A Unknown message code O Variable number out of range Rel Commands YC Add variables YD Divide variables YM Multiply variables YS Initialize variable Example 5YS5 Initialize variable 5 to 5 2YS9 Initialize variable 2 to 9 1YR3 Load analog port 3 value into variable 1 3YY1 Copy variable 1 in variable 3 3YA 32 Ssubtr...

Page 285: ...itive and negative software limits are recalculated to stay in the same place in space Returns None Errors A Unknown message code B Incorrect axis number D Unauthorized execution Rel Commands DH Define home OR Search for home SH Set home preset position Example 3PA1 23 Move axis 3 to position 1 23 units 3TR Read positive software travel limit of axis 3 3TR50 000 Controller returns positive travel ...

Page 286: ...xx 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 Returns Controller axis general parameters configuration Errors A Unknown message code B Incorrect axis number C Parameter out of limits Re...

Page 287: ...EDH0162En1040 06 99 3 204 MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 288: ...Section 4 Motion Control Tutorial Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 289: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 290: ...m Velocity 4 11 4 2 13 Minimum Velocity 4 11 4 2 14 Velocity Regulation 4 12 4 2 15 Maximum Acceleration 4 12 4 2 16Combined Parameters 4 12 4 3 Control Loops 4 13 4 3 1 PID Servo Loops 4 13 P Loop 4 14 PI Loop 4 14 PID Loop 4 15 4 3 2 Feed Forward Loops 4 15 4 4 Motion Profiles 4 17 4 4 1 Move 4 17 4 4 2 Jog 4 18 4 4 3 Home Search 4 18 4 5 Encoders 4 21 4 6 Motors 4 23 4 6 1 Stepper Motors 4 24 A...

Page 291: ...EDH0162En1040 06 99 4 2 MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 292: ... 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 interconnect the other motion control components C...

Page 293: ...ith fractions of microns 0 1 µm 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 To avoid unnecessary confusion and to more easily understand and troubleshoot a problem special attention must be paid to avoid bundling discret...

Page 294: ...ed with an external precision measuring device The difference the Error represents the positioning Accuracy for that particular motion Because every application is different we need 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 eve...

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

Page 296: ...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 µm resolution If every time we command a 1 µm 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 µm If on the other hand...

Page 297: ... 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 direction If we try to measure the positioning error of a certain ta...

Page 298: ...w 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 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...

Page 299: ...g 4 11 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 motion control applica tions static and dynamic loads The static Load Capacity represents the amo...

Page 300: ...n 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 µm If we set the velocity to 0 5 µm sec the stage will move 5 encoder counts in one second But a properly tuned servo loop...

Page 301: ... 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 an...

Page 302: ...t 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 tw...

Page 303: ...at could be drawn from studying this circuit The motor control signal thus the motor voltage is proportional to the following error There must be a following error in order to drive the motor 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 Inc...

Page 304: ...rm is added to the proportional and integral one All three process the following error in their own way and added together form the control signal The derivative term adds a damping effect which prevents oscillations and position overshoot 4 3 2 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 d...

Page 305: ...icantly 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 Fig 4 18 PID Loop with Feed Forward 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 o...

Page 306: ...ned and clearly labeled and no adjustments are required or allowed Motion Profiles 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 4 4 1 Move A move is a point to point motion On exe...

Page 307: ...ic 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 h...

Page 308: ...sition 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 position reference This is done by first finding the origin switch transition and then the very first index pulse Fig 4 23 Fig 4 23 Slow S...

Page 309: ...in switch transition the routine will look like Fig 4 25 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 in...

Page 310: ...thin 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 µm phase period can offer a 2 5 µm 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 ...

Page 311: ...annel Optical Encoder Scale and Read Head Assembly The detector signal is similar to a sine wave Converting it to a digital wave form 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 Detector Light Sour...

Page 312: ...t 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 µm resolution with negligible backlash NOTE For rotary stages a rotary encoder measures the output angle directly In this case the encoder plac...

Page 313: ...iable 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 ...

Page 314: ...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 3...

Page 315: ...pping For each step command the motor will 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...

Page 316: ...then starts diminishing again such that when the 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 Jumping from one stable point to another is called missing steps one of the most critiqued characteristics of stepper motors Th...

Page 317: ...e steps synchronization in open loop operation Requires current dissipates energy even at stop Generates higher heat levels than other types of motors Moves from one step to another are made with sudden motions Large velocity ripples especially at low speeds causing noise and possi ble resonances Load torque must be significantly lower than the motor holding torque to prevent stalling and missing ...

Page 318: ...a motion control sys tem They represent an important part of the loop that in many cases could increase or reduce the overall performance 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 ...

Page 319: ...al torque generated is only a fraction of the nominal one Fig 4 46 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 t...

Page 320: ...urrent Voltage 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 Current Voltage A V 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 Driver...

Page 321: ...l 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 Fig 4 50 DC Motor Velocity Feedback Driver The tachometer connected to the motor s rotor outputs a ...

Page 322: ...ed 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...

Page 323: ...EDH0162En1040 06 99 4 34 MM4005 Motion Control Tutorial Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 324: ...Section 5 Trajectory Functions Tutorial Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 325: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 326: ...ns 5 4 5 3 Geometric Conventions 5 4 5 4 Defining Trajectory Elements 5 5 5 4 1 Defining Lines 5 6 5 4 2 Defining Arcs 5 6 5 5 Programming a Trajectory 5 8 5 6 Trajectory Element Parameters 5 9 5 7 Trajectory Specific Commands 5 10 5 7 1 Trajectory Setup Commands 5 10 5 7 2 Trajectory Elements Definition Commands 5 10 5 7 3 Reporting Commands 5 10 5 7 4 Trajectory Synchronization Commands 5 10 5 7...

Page 327: ...MM4005 4 Axis Motion Controller Driver EDH0162En1040 06 99 5 2 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 328: ...of the acceleration and deceleration periods 5 1 2 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 5 1 3 Trajectory Vector The tangent to the trajectory in any particular point 5 1 4 Vector Velocity The linear velocity the speed along the trajectory during its execution 5 1 5 Vector Acceleration The tangential line...

Page 329: ...ined 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...

Page 330: ...ngle 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 ge...

Page 331: ...3 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 Fig 5 4 Line to X or Y Using the previous element s exit angle tangent the controller can execute a line to the specified X coordinate Fig 5 4 a o...

Page 332: ... 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 specifyin...

Page 333: ...nds ET Execute trajectory 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 Start new trajectory definition Define trajectory ET Execute trajectory xxPAnn Move to new trajectory start location ET Execute trajectory During the trajectory execution the designated axes are unavailable for point to poi...

Page 334: ...ty to 20 units s Define trajectory ET Execute trajectory XV Read actual vector velocity in use XV12 736 Controller returns actual vector velocity used Only one trajectory can be defined and be active at a time NT command erases any old trajectory 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 nex...

Page 335: ...n for a line segment ƒ MX MY MY nn Define Y position and build a line segment ƒ 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 ...

Page 336: ...Section 6 Feature Descriptions Tutorial Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 337: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 338: ...n SF Command or from the Front Panel 6 11 6 7 Reading parameters with 6 11 6 8 Error Reporting TD Command 6 13 6 9 Integral Gain Saturation Limit KS Command 6 13 6 10 Program Editing EP Command 6 13 6 11 Firmware Updates 6 13 6 12 Joystick 6 14 6 13 Changing the Display Precision NP Command or from the Front Panel 6 15 6 14 Periodic Display Mode CD Command or from the Front Panel 6 15 6 15 Paramet...

Page 339: ...MM4005 4 Axis Motion Controller Driver EDH0162En1040 06 99 6 2 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 340: ... 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 The start position defined by PB must be reached before the stop posi tion defined by PE 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 se...

Page 341: ...nflicts 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 re initiated A pulse is generated when the selected axis reaches the specified position as follows Axis position PB n PI where Axis position PB PE The position accuracy of the generated pulse the difference between the theoretical posi...

Page 342: ... generate the signal are 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 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 th...

Page 343: ...or Y axis If MaxError encoder resolution of X axis then MaxError encoder resolution of X axis If MaxError encoder resolution of Y axis then MaxError encoder resolution of Y axis Example For a trajectory velocity of 20 mm sec and Tbase 300 µsec MaxError 0 707 3 10 4 20 4 24 µm This position uncertainty exists for every pulse generated but is not cumu lative 6 1 3 Synchronizing Events to Trajectory ...

Page 344: ...ler 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 Erase program 2 if exists 2EP Start program entry mode NT Start new trajectory definition LX10 Trajectory element 1 CR10 CA90 Trajectory element 2 LY20 Trajectory element 3 CX10 CY30 Trajectory element 4 LX0 Trajectory element 5 C...

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

Page 346: ...s 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 MV 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 slav...

Page 347: ...ts 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 ...

Page 348: ...e use of a larger selection of motors and encoders the encoder motor resolution is extended to 10E 6 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 se...

Page 349: ...o equivalence PE No equivalence PI No equivalence xxSF xxTA Total equivalence xxSH xxXH Total equivalence xxSL xxTL No equivalence xxSN xxTN Total equivalence SP XS Total equivalence SQ XQ Total equivalence xxSR xxTR No equivalence xxSS No equivalence TM No equivalence xxVA xxDV Partial equivalence VS XU Total equivalence VV XV Total equivalence xxYS xxTY Total equivalence ATTENTION The following ...

Page 350: ...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 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 capab...

Page 351: ...arch cycle MANU Button to select two axes that will be linked to the action of the joystick 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 L1 is on If the button is pressed again the joystick goes to state 2 State 2 Axes 3 and 4 are chosen LED L2 is on If the button is pressed the joystick returns to t...

Page 352: ...error code Periodic Display Mode CD Command or from the Front Panel The periodic display can be set up from the front panel 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...

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

Page 354: ...0 Without pulse nn 1 With pulse Example GQ0 Initialize of global trace buffer NT FA90 Initializing trajectory CR10 CA5 Element 1 CA350 Element 2 CA5 Element 3 VV5 Set trajectory 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 reco...

Page 355: ...ogram 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 Display on screen WT3000 Wait for 3 seconds QP Quit program 2 Program 3 3EP Enter program 3 3AS a value Define string 3 101YS99 99 Define value 101 3CS Y101 Concatenate string 3 and value 101 DS S1 S3 Display on screen WT3000 Wait for 3 seconds QP Quit program 3 Program 4 4EP...

Page 356: ...xx integer Analog port number 1 to 4 nn 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 1 to 4 The AM command lets you adjust...

Page 357: ...emporary acceleration amax Maximum acceleration aav Average acceleration value set from the front panel of the controller Acceleration menu aav amax 2 Advantage Gives smooth acceleration in the acceleration phase start and in deceler ation stop thereby avoiding severe jolts to the mechanisms during these events start end MODIFY Axis Setup V t Parabola 2 a aav amax t t da dt Parabola 1 6 20 Artisan...

Page 358: ...ctor 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 6 21 Artisan Technology ...

Page 359: ...EDH0162En1040 06 99 6 22 MM4005 Feature Descriptions Tutorial Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 360: ...Section 7 Servo Tuning Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 361: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 362: ...equirements 7 3 7 1 2 Software Requirements 7 3 7 2 Tuning Procedures 7 4 7 2 1 Axis Oscillation 7 4 7 2 2 Increasing Performance 7 5 Following Error Too Large 7 5 Errors At Stop Not In Position 7 5 Following Error During Motion 7 6 7 2 3 Points to Remember 7 6 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 363: ...EDH0162En1040 06 99 7 2 MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 364: ...ed 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 upda...

Page 365: ...lowing 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 and making Ki and Kd equal to...

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

Page 367: ... Follow the steps in the previous paragraph keeping in mind that it is desirable to increase the integral gain factor as little as possible 7 2 3 Points to Remember The MM4005 controller uses a servo loop based on the PID with velocity feed forward algorithm Special servo design makes the velocity feed forward only motor depen dent not load dependent It is factory set and not accessible to the use...

Page 368: ...Section 8 Appendices Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 369: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 370: ...onnector 15 pin D Sub 8 10 Auxiliary Connector 25 Pin D Sub 8 11 GPIO Connector 37 Pin D Sub 8 13 RS 232C Interface Connector 9 Pin D Sub 8 14 RS 232C Interface Cable 8 15 IEEE488 Interface Connector 24 Pin 8 16 Motor Interface Connector 25 Pin D Sub 8 17 Pass Through Board Connector 25 Pin D Sub 8 18 D Motion Program Examples 8 19 E Troubleshooting Guide 8 27 F Decimal ASCII Binary Conversion Tab...

Page 371: ...EDH0162En1040 06 99 8 2 MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 372: ... command to read only the error code Use the TB command to read an existing error or to translate an error code A 1 Error List The following is a list of all error message codes and their descriptions 01 A Unknown message code 02 B Incorrect axis number 03 C Parameter out of limits 04 D Unauthorized execution 05 E Incorrect I O channel number 06 F Program number incorrect 07 G Program does not exi...

Page 373: ...ber of error screens that appear only in special error conditions Fig A 1 Error screen English 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 volatile 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 ...

Page 374: ...ents the actual command line being edited 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 Fig A 6 Error screen program memory full ...

Page 375: ...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 Pol Configure No PPD Parallel Poll Disable No PPE Parallel Poll Enable No PPU Parallel Poll Unconf...

Page 376: ...ice Clear interface message DT0 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 B 3 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 Y...

Page 377: ...ons The following example illustrates the use 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 RQS printf Device asserted SRQ n Use ibrsp to retrieve the serial poll response ibrsp DeviceHandle SerialPollResponse r...

Page 378: ...or MOTOR 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 Ω Pin Description 1 N C 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 I Emergen...

Page 379: ...tion connector If no remote controller are used the pins must be shorted Pin Description 1 DGND 2 I 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 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...

Page 380: ...teristics of the analog inputs are in Fig C 1 The value of 1 LSB depends of the used range 1 LSB is 20 V 4096 5 mV for the 10 V range 1 LSB is 10 V 4096 2 5 mV for the 5 V range and 0 10 V range 1 LSB is 5 V 4096 1 25 mV for the 0 5 V range Fig C 1 Equivalent circuit of an analog input The analog outputs range is 10 V The maximum offset error is 200 mV and the maximum gain error is 10 LSB The outp...

Page 381: ...alog Output 2 21 O Analog Output 3 22 O Analog Output 4 23 DGND 24 O Output frequency defined by the FT command 25 DGND NOTE Remember that an I O output bit set means that the transistor is con ducting thus appearing to be low Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 382: ...8 I Digital port Input 5 9 I Digital port Input 6 10 I Digital port Input 7 11 I 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 2 21 DGND 2 22 DGND 2 23 DGND 2 24 DGND 2 25 DGND 2 26 DGND 2 27 DGND 2 28...

Page 383: ...t Current LOW Iil 40 mA Pulse Width 1 Servo Cycle Output low to high TPlh 1 µsec Output high to low TPhl 1 µsec To assure good use and performances of the MM4005 respect these maxi mum ratings Fig C 2 Equivalent circuits for the digital input and output ports C 6 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 ...

Page 384: ...e config ured as in Fig C 5 to get the same hardware handshake override 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 Fi...

Page 385: ...g C 8 Fig C 8 IEEE488 connector definition 13 14 15 16 17 18 19 20 21 22 23 24 DIO5 DIO6 DIO7 DIO8 REN GND GND GND GND GND GND SIG GND Pin DIO1 DIO2 DIO3 DIO4 EOI DAV NRFD NDAC IFC SRQ ATN SHIELD 1 2 3 4 5 6 7 8 9 10 11 12 8 3 2 20 7 6 4 5 25 Pin D Sub Femal Connector on Computer Side 1 2 3 4 5 6 7 8 9 9 Pin D Sub Femal Connector on Controller Side 8 3 2 20 7 6 4 5 25 Pin D Sub Femal Connector on ...

Page 386: ...ical Zero Zero Zero Zero 14 Shield Shield Shield Shield Ground Ground Ground Ground 15 Encoder Index Encoder Index Encoder Index Encoder Index Pulse I Pulse I Pulse I Pulse I 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 Travel 18 End of Travel End of Travel End of Travel End of Travel 19 Encoder Encoder Encod...

Page 387: ...dex Pulse I 10 Pulse Command 1 11 DirectionCommand 1 12 10 V Analog Input 2 13 N C 14 0 V Encoder Supply 15 Driver Inhibition Command 16 N C 17 N C 18 N C 19 Encoder Channel A 20 Encoder Channel B 21 Index Pulse I 22 0 V logic 23 0 V logic 24 N C 25 Reference for 10 V Analog Input 1 Stepper Motor Driver 2 DC Motor Driver Fig C 9 DiFF Output Type Fig C 10 Open Collector Output Type Fig C 11 TTL Inp...

Page 388: ...e 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 Erase program 1 if it exists 1EP Enter programming mode and store all entries as program 1 1VA4 Set velocity of axis 1 to 4 mm sec 1PA10 1WS Move axis...

Page 389: ...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 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 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 1PA0 2PA0 SE WS Set...

Page 390: ...Also when finished with an interpolated motion always return the axes to the non synchronized mode 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 Velocity...

Page 391: ... wait for all axes to complete motion 1VA4 2VA4 Set velocity of axes 1 and 2 to 4 mm sec 1AC8 2AC8 Set acceleration of axes 1 and 2 to 8 mm s2 1PA14 Move axis 1 to absolute position 14 mm 1WP2 3SB Wait for axis 1 to reach position 2 mm set bit 3 1WP12 2PA10 Wait for axis 1 to reach position 12 mm start axis 2 and move to position 10 mm 2WP8 1PA0 Wait for axis 2 to reach position 8 mm start axis 1 ...

Page 392: ... Fig D 6 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 numb...

Page 393: ...to complete 2PR3 SE WS Set relative destination of axis 2 3 mm away from current position start motion on the synchronized axis wait for motion to complete 1PR0 5 2PR 0 596 SE WS 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 2PR 3 SE WS Set relative destination of axis 2 3 mm away from current ...

Page 394: ...non synchronized 8CB Set I O bit 8 low this will lift the pen up 1PA17 WS Move axis 1 to 17 mm start synchronized axis wait for motion to complete 8SB 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 2PA2 5 WS Move ax...

Page 395: ...n to complete 1PA5 5 SE WS Set destination of axis 1 to 5 5 mm start synchro nized axis wait for motion to complete 2PA10 712 SE WS Set destination of axis 2 to 10 712 mm start syn chronized axis wait for motion to complete 1PR 0 5 2PR0 596 SE WS 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 2P...

Page 396: ...rective Action Rear power switch turned off Turn on the main power switch located on the power entry mod ule in the rear of the unit A physically pre sent axis is declared uncon nected Bad connection Turn power off and verify the motion device cable connection Bad component Turn power off and swap motor cable with another axis if cables are identical to locate the prob lem Contact Newport for cabl...

Page 397: ... labels 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 Verify that all relevant parame ters PID velocity etc are set properly The axis does not move Incorrect con nection Verify that the motion device is connected to the correct driver card as specified by the labels...

Page 398: ... Corrective Action No remote commu nication Wrong line Make sure that the computer and the controller use the same line terminator Wrong commu nication port Verify that the controller is set to communication on the left port RS 232 C or IEEE 488 Wrong commu nication para meters Verify that all communication parameters match between the computer and the controller Artisan Technology Group Quality I...

Page 399: ...001 42 00101010 43 00101011 44 00101100 45 00101101 46 00101110 47 00101111 48 0 00110000 49 1 00110001 50 2 00110010 51 3 00110011 52 4 00110100 53 5 00110101 54 6 00110110 55 7 00110111 56 8 00111000 57 9 00111001 58 00111010 59 00111011 60 00111100 61 00111101 62 00111110 63 00111111 64 01000000 65 A 01000001 66 B 01000010 67 C 01000011 68 D 01000100 69 E 01000101 70 F 01000110 71 G 01000111 F ...

Page 400: ...01110010 115 s 01110011 116 t 01110100 117 u 01110101 118 v 01110110 119 w 01110111 120 x 01111000 121 y 01111001 122 z 01111010 123 01111011 124 01111100 125 01111101 126 01111110 127 01111111 128 10000000 129 10000001 130 10000010 131 10000011 132 10000100 133 10000101 134 10000110 135 10000111 136 10001000 137 10001001 138 10001010 139 10001011 140 10001100 141 10001101 142 10001110 143 1000111...

Page 401: ...01111 208 11010000 209 11010001 210 11010010 211 11010011 212 11010100 213 11010101 214 11010110 215 11010111 216 11011000 217 11011001 218 11011010 219 11011011 220 11011100 221 11011101 222 11011110 223 11011111 224 11100000 225 11100001 226 11100010 227 11100011 228 11100100 229 11100101 230 11100110 231 11100111 232 11101000 233 11101001 234 11101010 235 11101011 236 11101100 237 11101101 238 ...

Page 402: ...our Newport representative for assistance G 2 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 MM4005 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 Ret...

Page 403: ...EDH0162En1040 06 99 8 34 MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 404: ...y P O Number Item s Being Returned Model Description Reasons of return of goods please list any specific problems Return Authorization Please obtain prior to return of item Date Phone Number Fax Number Serial Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 405: ...EDH0162En1040 06 99 8 36 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 406: ...Section 9 Index Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 407: ...MM4005 4 Axis Motion Controller Driver Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ...

Page 408: ...ositions acquisition 3 21 Setup 2 16 synchronization 3 124 B Backlash 2 28 compensation Read 3 168 compensation Set 3 25 Hysteresis 4 8 base velocity Set 3 150 Baud Rate 2 12 Bits Stop 2 14 Blank Spaces 3 7 Buffer Communication 3 6 C Cable RS 232C Interface 8 15 Calculate necessary time for axis dis placement 3 98 Calculation overflow 8 3 Capacity Load 4 10 Change communication mode 3 29 Changing ...

Page 409: ...tatus 1 17 Structure 1 18 Zero 2 32 Divide variables 3 186 Download EEPROM to RAM 3 74 Drivers 4 29 Stepper Motor 4 29 E Editing Program 6 13 Edition of program 3 48 EEPROM Failure while accessing the 8 3 to RAM Download 3 74 Element number under execution Tell the 3 2 3 Parameters Trajectory 5 9 Trajectory 5 3 Elements Definition Commands Trajectory 5 10 Emergency Language Reset 2 9 Enable displa...

Page 410: ...tegral gain factor Read 3 173 Saturation Limit 6 13 Set 3 64 Integrator Factor Saturation Level in Position PID Loop Corrector 6 21 Interface Connector IEEE 488 8 16 IEEE 488 3 4 RS 232 C 3 4 Selecting the 3 3 Utility 1 10 interfaces Computer 1 10 Remote 3 3 J Jog 1 6 4 18 First 2 4 Manual 2 30 Joystick 6 14 Jump to label 3 62 Kd 2 27 key to variable Read 3 190 Wait for 3 160 Keypad Numeric 1 16 K...

Page 411: ...er 7 6 Position and build aline segment ƒ LX tan gent Define X 3 69 and build aline segment ƒ LY tan gent Define Y 3 70 and build aline segment ƒ MX MY Define Y 3 79 for aline segment ƒ MX MY Define X 3 78 Maximum 2 25 Minimum 2 24 Read desired 3 41 to reach and build anarc of circle ƒ CX CY Define Y 3 34 to reach with anarc of circle ƒ CX CY Define X 3 33 Wait for 3 163 Zero 3 202 Power Inhibitio...

Page 412: ...ition of generation of puls esof synchronisation 3 94 global sample rate 3 120 global trace mode 3 59 home preset position 3 114 home search acceleration 3 87 home search high velocity 3 89 home search low velocity 3 90 I O output bits 3 109 I O output byte 3 118 integral gain 3 64 left travel limit 3 115 local mode 3 73 manual mode 3 71 manual velocity 3 72 master slave mode 3 122 master slave re...

Page 413: ...p Commands 5 10 Specific Commands 5 10 Start definition of a new 3 87 Synchronization Commands 5 10 Tell number of elements in the 3 179 to big discontinuity angle 8 3 Too long 8 3 Trace mode on 3 12 trajectory is empty 8 4 type 1 9 Units not translationnal or not iden tical 8 4 Vector 5 3 Wait for a element of 3 162 travel limit Read left 3 133 Read right 3 138 Set left 3 115 Set right 3 121 swit...

Page 414: ...m Flow control and sequencing xx DL Define label xx IE nn If I O input is equal xx JL Jump to label KC Abort command line xx OE nn Test I O output RP nn Repeat command line RQ nn Generate service request SRQ xx UH Wait for I O high xx UL Wait for I O low WA nn Wait WE End While loop xx WF Wait for function key xx WG nn While variable is greater xx WH nn While I O input is equal WK aa Wait for key ...

Page 415: ...lative position xx PS pp Allow generation of pulses on motion xx PT nn Calculate necessary time for axis displacement xx PW Save parameters QP Quit program mode QW Save general parameters xx RA Read analog input xx RB Read I O input RD Disable display refresh RE Enable display refresh xx RO Read I O output RP nn Repeat command line RQ nn Generate service request SRQ RS Reset controller xx SB nn Se...

Page 416: ...eS R X S YeW Y V X KO YeV KO Y N KO Y W Ye V X Y e N Y J YeW H f f J YeW H W L e W Y X eW Y W MI L W MI XeW Y I X W YeW U V T UeV KO Ye V T Y W XeV X V Y e V UeW R X V XeV Hf S KO Y N XeV X V Lf W R Y J X V XeV X e O Y N YeW MI Xe X V Xe 0YeJ Y W YeV KO XeV X W YeW Y e N X N1 O Y W Uf J H V Xe YeW X eW LeV 1e 0Y W R X W MI X V4 e W Y V Y V Xg O Ye V YfV K f 0Y fV Y f V4 V Y W X W X W X W X W X W X...

Page 417: ...quipment Have surplus equipment taking up shelf space We ll give it a new home Learn more Visit us at artisantg com for more info on price quotes drivers technical specifications manuals and documentation Artisan Scientific Corporation dba Artisan Technology Group is not an affiliate representative or authorized distributor for any manufacturer listed herein We re here to make your life easier How...

Reviews: