background image

USER MANUAL 

DMC-1500 

 Manual Rev.  2.0xf 

 

By Galil Motion Control, Inc. 

 

 

 

 
 

Galil Motion Control, Inc. 

270 Technology Way 

Rocklin, California  95765 

Phone:  (916) 626-0101 

Fax:  (916) 626-0102 

Internet Address: [email protected] 

URL: www.galilmc.com 

 

Rev 05-06 

Summary of Contents for DMC-1510

Page 1: ...0 Manual Rev 2 0xf By Galil Motion Control Inc Galil Motion Control Inc 270 Technology Way Rocklin California 95765 Phone 916 626 0101 Fax 916 626 0102 Internet Address support galilmc com URL www gal...

Page 2: ...many examples are written for the DMC 1540 four axis controller or the DMC 1580 eight axes controller Users of the DMC 1530 3 axis controller DMC 1520 2 axis controller or DMC 1510 1 axis controller...

Page 3: ...t app program labels LL Allows for the user to interrogate RAM New feature for Rev 2 0e May 1997 Feature Description 1 ER now accepts argument 0 Disables error output LED and Error Output does not tur...

Page 4: ...ng point ET ECAM table entry EB Enable ECAM EG Engage ECAM cycle EQ Disengage ECAM New features added Jan 1995 Allow circular array recording New commands added July 1994 Rev 1 4 Command Description R...

Page 5: ...x y n Can specify vector speed with each vector segment Where n sets vector speed New commands added January 1993 Command Description HX Halt execution for multitasking AT At time trippoint for relati...

Page 6: ......

Page 7: ...Overall Motor Configuration 8 Step 2 Install Jumpers on the DMC 1500 8 Step 3 Configure DIP switches on the DMC 1500 9 Step 4 Connect AC Power to the Controller 9 Step 5 Install Communications Softwa...

Page 8: ...puts From Active Low to Active High 30 Amplifier Interface 30 TTL Inputs 31 Analog Inputs 31 TTL Outputs 32 Offset Adjustment 32 Chapter 4 Communication 33 Introduction 33 RS232 Ports 33 RS232 Main Po...

Page 9: ...ronic Gearing 55 Operand Summary Electronic Gearing 55 Electronic Cam 57 Command Summary ECAM Mode 61 Operand Summary ECAM Mode 61 Contour Mode 63 Specifying Contour Segments 63 Additional Commands 64...

Page 10: ...into Arrays 105 Command Summary Automatic Data Capture 105 Data Types for Recording 105 Operand Summary Automatic Data Capture 106 Deallocating Array Space 106 Input of Data Numeric and String 107 In...

Page 11: ...on of Closed Loop Systems 134 System Modeling 135 Motor Amplifier 136 Encoder 138 DAC 139 Digital Filter 139 ZOH 139 System Analysis 140 System Design and Compensation 142 The Analytical Method 142 Ap...

Page 12: ...ts for DMC 1500 160 Accessories and Options 161 ICM 1100 Interconnect Module 162 AMP ICM 1100 Connections 162 J2 Main 60 pin IDC 165 J3 Aux Encoder 20 pin IDC 165 J4 Driver 20 pin IDC 165 J5 General I...

Page 13: ...l controller provides many modes of motion including jogging point to point positioning linear and circular interpolation with infinite vector feed electronic gearing and user defined path following S...

Page 14: ...peration In this configuration the controller provides an analog signal 10Volt to connect to a servo amplifier This connection is described in Chapter 2 Stepper Motor with Step and Direction Signals T...

Page 15: ...n to the DMC 1500 is via two separately addressable RS232 ports The ports may also be configured by the factory for RS422 The serial ports may be daisy chained to other DMC 1500 controllers General I...

Page 16: ...known as a quadrature encoder Quadrature encoders may be either single ended CHA and CHB or differential CHA CHA CHB CHB The DMC 1500 decodes either type into quadrature states or four times the numb...

Page 17: ...iew 5 error light for each axis will also turn on at this stage A reset is required to restore the DMC 1500 to normal operation Consult the factory for a Return Materials Authorization RMA Number if y...

Page 18: ...6 Chapter 1 Overview DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...

Page 19: ...nnect module with screw type terminals that directly interfaces to the DMC 1500 controller Note An additional ICM 1100 is required for the DMC 1550 through DMC 1580 The motors may be servo brush type...

Page 20: ...ion providing an analog command signal of 10V No hardware or software configuration is required for standard servo motor operation Stepper Motor Operation To configure the DMC 1500 for stepper motor o...

Page 21: ...ndshake mode Please note that the Galil communication software requires that hardware handshake mode be enabled Step 4 Connect AC Power to the Controller Before applying power connect the 60 pin and 2...

Page 22: ...will appear Select Registry from the menu Note If you are using DMCREG for the first time no controllers will exist in the Galil Register This is normal The registry window is equipped with buttons to...

Page 23: ...nications between the software and the DMC 1500 you are ready to connect the rest of the motion control system The motion control system typically consists of an ICM 1100 Interface Module an amplifier...

Page 24: ...lifier Step C Connect the encoders For stepper motor operation an encoder is optional For servo motor operation if you have a preferred definition of the forward and reverse directions make sure that...

Page 25: ...ect polarity of the feedback The wrong polarity causes the motor to run away from the starting position Using a terminal program such as DMCTERM the following parameters can be given to avoid system d...

Page 26: ...his may be accomplished by several methods If you are driving a brush type DC motor the simplest way is to invert the two motor wires typically red and black For example switch the M1 and M2 connectio...

Page 27: ...Red Connector red wire black wire CPS Power Supply Encoder Ribbon Cable ICM 1100 J2 J3 J5 J4 Galil DC Servo Motor Typically Black Connector Encoder Figure 2 2 System Connections with the AMP 1100Ampli...

Page 28: ...has a 50 duty cycle Step motors operate open loop and do not require encoder feedback When a stepper is used the auxiliary encoder for the corresponding axis is unavailable for an external connection...

Page 29: ...roportional gain KP and the integrator KI The parameters should be selected in this order To start set the integrator to zero with the instruction KI 0 CR Integrator gain and set the proportional gain...

Page 30: ...setting A or X axis gain 1580 The X Y Z and W axes can also be referred to as the A B C and D axes Instruction Interpretation OE 1 1 1 1 1 1 1 1 Enable automatic Off on Error function for all axes ER...

Page 31: ...PR 300 600 Distances of Y and Z SP 2000 Slew speed of Y DC 80000 Deceleration of Y AC 100000 Acceleration of Y SP 40000 Slew speed of Z AC 100000 Acceleration of Z DC 150000 Deceleration of Z BG Z Sta...

Page 32: ...etation JG 10000 20000 Set Jog Speeds and Directions AC 100000 40000 Set accelerations DC 50000 50000 Set decelerations BG XY Start motion after a few seconds send the following command JG 40000 New X...

Page 33: ...Operation in the Buffer Mode The instructions may be buffered before execution as shown below Instruction Interpretation PR 600000 Distance SP 10000 Speed WT 10000 Wait 10000 milliseconds before read...

Page 34: ...rl Q To start the motion command XQ A Execute Program A Example 13 Motion Programs with Trippoints The motion programs may include trippoints as shown below Instruction Interpretation B Label DP 0 0 D...

Page 35: ...th an underscore _ Example 15 Linear Interpolation Objective Move X Y Z motors distance of 7000 3000 6000 respectively along linear trajectory Namely motors start and stop together Instruction Interpr...

Page 36: ...CR 2000 90 180 Circular segment VS 1000 Vector speed VA 50000 Vector acceleration VD 50000 Vector deceleration VE End vector sequence BGS Start motion X Y R 2000 0 0 local zero 4000 0 4000 4000 0 4000...

Page 37: ...troller will make a decelerated stop using the deceleration rate previously set with the DC command The motor will remain in a servo state after the limit switch has been activated and will hold motor...

Page 38: ...e of commands HMX return BGX return Standard Homing is a combination of Find Edge and Find Index homing Initiating the standard homing routine will cause the motor to slew until a transition is detect...

Page 39: ...common This can be accomplished by connecting a voltage in the range of 5V to 28V into INCOM of the input circuitry from a separate power supply Wiring the Optoisolated Inputs The default state of th...

Page 40: ...eparate power supply LSCOM FLSX RLSX HOMEX FLSY RLSY HOMEY INCOM IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 ABORT Figure 3 1 The Optoisolated Inputs Using an Isolated Power Supply To take full advantage of opto...

Page 41: ...seen on pg 2 14 The user must wire the system directly off the ribbon cable if the ICM 1100 or equivalent breakout board is not available Bypassing the Opto Isolation If no isolation is needed the in...

Page 42: ...rs should be configured for a current mode of operation with no additional compensation The gain should be set such that a 10 Volt input results in the maximum required current The DMC 1500 also provi...

Page 43: ...r pack RP1 Removing the resistor pack allows the user to connect their own resistor to the desired voltage level Up to24V Figure 3 4 Connecting AEN to the motor amplifier TTL Inputs 1580 As previously...

Page 44: ...00 Note When the error signal is active the LED on the controller will be on An error condition indicates one of the following conditions 1 At least one axis has a position error greater than the erro...

Page 45: ...ort is essentially the same as the main port except inputs and outputs are reversed The DMC 1500 may also be configured by the factory for RS422 These pin outs are also listed below Note If you are co...

Page 46: ...rt can be configured for handshake or non handshake mode Set the HSHK switch to ON to select the handshake mode In this mode the RTS and CTS lines are used The CTS line will go high whenever the DMC 1...

Page 47: ...s 2 1 bit and ADR4 represents 2 2 bit of the address The eight possible addresses 0 through 7 are set as follows ADR4 ADR2 ADR1 ADDRESS OFF OFF OFF 0 OFF OFF ON 1 OFF ON OFF 2 OFF ON ON 3 ON OFF OFF 4...

Page 48: ...aster rate because of the FIFO buffer After the instruction is decoded the DMC 1500 returns a colon if the instruction was valid or a question mark if the instruction was not valid For instructions th...

Page 49: ...arguments A semicolon or enter is used to terminate the instruction for processing by the DMC 1500 command interpreter Note If you are using a Galil terminal program commands will not be processed unt...

Page 50: ...to as A B C D E F G H The specifiers X Y Z W and A B C D may be used interchangeably BG ABCDEFGH Begin all axes BG D Begin D only Coordinated Motion with more than 1 axis When requesting action for co...

Page 51: ...hen the command is entered the requested data is returned in decimal format on the next line followed by a carriage return and line feed The format of the returned data can be changed using the Positi...

Page 52: ...nterrogation Operands must be used inside of valid DMC expressions For example to display the value of an operand the user could use the command MG operand where operand is a valid DMC operand All of...

Page 53: ...triangular velocity profile and position trajectory The controller determines a new command position along the trajectory every sample period until the specified profile is complete Motion is complete...

Page 54: ...present position values for each axis For controllers with more than 4 axes the position values would be represented as a b c d e f g h Operand Summary Independent Axis OPERAND DESCRIPTION _ACx Return...

Page 55: ...profiles for the X Y and Z axis A Begin Program PR 2000 500 100 Specify relative position movement of 1000 500 and 100 counts for X Y and Z axes SP 15000 10000 5000 Specify speed of 10000 15000 and 50...

Page 56: ...the motor position can be made with the use of the IP command Upon receiving this command the controller commands the motor to a position which is equal to the specified increment plus the current po...

Page 57: ...n path is described in terms of incremental distances for each axis An unlimited number of incremental segments may be given in a continuous move sequence making the linear interpolation mode ideal fo...

Page 58: ...0 computes the vector speed based on the axes specified in the LM mode For example LM XYZ designates linear interpolation for the X Y and Z axes The vector speed for this example would be computed usi...

Page 59: ...ent with a vector speed of 1000 LI 0 5000 4000 Specify third linear segment with a vector speed of 4000 LE End linear segments BGS Begin motion sequence EN Program end Changing Feedrate The command VR...

Page 60: ...gment of our example LMOVE where the X axis moves toward the point X 5000 Suppose that when X 3000 the controller is interrogated using the command MG _AV The returned value will be 3000 The value of...

Page 61: ...6000 30000 27000 3000 VELOCITY Z AXIS VELOCITY W AXIS POSITION W TIME sec TIME sec TIME sec Figure 6 2 Linear Interpolation Example Multiple Moves This example makes a coordinated linear move in the X...

Page 62: ...nterpolation freeing the host PC from this time intensive task The coordinated motion mode is similar to the linear interpolation mode Any pair of two axes may be selected for coordinated motion consi...

Page 63: ...ler will stop motion instantly at the last vector There will be no controlled deceleration LM or _LM returns the available spaces for motion segments that can be sent to the buffer 511 returned means...

Page 64: ...ated axes and the tangent axis VM m n p m n specifies coordinated axes p specifies tangent axis such as X Y Z W or A B C D E F G H p N turns off tangent axis Before the tangent mode can operate it is...

Page 65: ...r sequence AV n Trippoint for After Relative Vector distance n AMS Holds execution of next command until Motion Sequence is complete TN m n Tangent scale and offset ES m n Ellipse scale factor VT S cu...

Page 66: ...rogate the controller when the motion is halfway between the points A and B The value of _AV is 2000 The value of _CS is 0 _VPX and _VPY contain the absolute coordinate of the point A Suppose that the...

Page 67: ...t or coordinated move in addition to the gearing For example when a geared motor follows a master at a ratio of 1 1 it may be advanced an additional distance with PR or JG commands or VP or LI Command...

Page 68: ...follower are controlled by the DMC 1500 controller it may be desired to synchronize the follower with the commanded position of the master rather than the actual position This eliminates the coupling...

Page 69: ...c relationship is shown in Figure 6 8 Step 1 Selecting the master axis The first step in the electronic cam mode is to select the master axis This is done with the instruction EAp where p X Y Z W p is...

Page 70: ...g point For the given example we can specify the table by specifying the position at the master points of 0 2000 4000 and 6000 We can specify that by EP 2000 0 Step 4 Specify the slave positions Next...

Page 71: ...s engaged the slave position is redefined modulo one cycle Step 7 Disengage the slave motion To disengage the cam use the command EQ x y z w where x y z w are the corresponding slave axes are disengag...

Page 72: ...computes the values of Y according to the equation and assigns the values to the table with the instruction ET N Y Instruction Interpretation SETUP Label EAX Select X as master EM 2000 1000 Cam cycles...

Page 73: ...ates a cam program with a master axis Z and two slaves X and Y Instruction Interpretation A V1 0 Label Initialize variable PA 0 0 BGXY AMXY Go to position 0 0 on X and Y axes EA Z Z axis as the Master...

Page 74: ...End of the program The above example shows how the ECAM program is structured and how the commands can be given to the controller The next page provides the results captured by the WSDK program This s...

Page 75: ...rpolation between the specified increments where one point is generated for each millisecond Consider for example the trajectory shown in Fig 6 4 The position X may be described by the points Point 1...

Page 76: ...sponds with a Command Summary Contour Mode COMMAND DESCRIPTION CM XYZW Specifies which axes for contouring mode Any non contouring axes may be operated in other modes CM ABCDEFGH Contour axes for DMC...

Page 77: ...n displacement in terms of A counts in B milliseconds we can describe the motion in the following manner 1 2 cos AT B A B 2 2 sin Note is the angular velocity X is the position and T is the variable t...

Page 78: ...rray POS T T 8 C C 1 JP A C 16 B Program to find position differences C 0 C D C 1 DIF C POS D POS C Compute the difference and store C C 1 JP C C 15 EN End first program RUN Program to run motor CMX C...

Page 79: ...oints DM DX 500 Dimension a 500 element array to hold contour points I 0 Set loop counter LOOP2 Loop to calculate the difference DX I XPOS I 1 XPOS I Calculate difference I I 1 Update loop counter JP...

Page 80: ...jerk due to acceleration Monitoring Generated Pulses vs Commanded Pulses For proper controller operation it is necessary to make sure that the controller has completed generating all step pulses befo...

Page 81: ...oder can be interrogated by using the command TP The position value can be defined by using the command DE Note Closed loop operation with a stepper motor is not possible Command Summary Stepper Motor...

Page 82: ...y z w or a b c d e f g h for controllers with more than 4 axes where the parameters x y z w each equal the sum of two integers m and n m configures the main encoder and n configures the auxiliary enco...

Page 83: ...ivative term to the motor encoder This method results in a stable system The dual loop method is activated with the instruction DV Dual Velocity where DV 1 1 1 1 activates the dual loop for the four a...

Page 84: ...tion of the specified auxiliary encoder _DVx Contains a 1 or 0 if the specified axis is in continuous dual loop operation _GRx Contains the value of the gear ratio for the specified axis _TDx Contains...

Page 85: ...of filtering The maximum value of 1 implies no filtering resulting in trapezoidal velocity profiles Smaller values of the smoothing parameters imply heavier filtering and smoother moves The following...

Page 86: ...e command CN is used to define the polarity of the home input The Find Edge FE instruction is useful for initializing the motor to a home switch The home switch is connected to the Homing Input When t...

Page 87: ...fter Complete MG AT HOME Send Message EN End Example 2 Using Find Edge Command Instruction Interpretation EDGE Label AC 2000000 Acceleration rate DC 2000000 Deceleration rate SP 8000 Speed FE Y Find e...

Page 88: ...76 Chapter 6 Programming Motion DMC 1500 Figure 6 7 Motion intervals in the Home sequence...

Page 89: ...L and RL are used to arm the latch and report the latched position The steps to use the latch are as follows Give the AL XYZW command or ABCDEFGH for DMC 1580 to arm the latch for the specified axis o...

Page 90: ...78 Chapter 6 Programming Motion DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...

Page 91: ...change as necessary The following sections in this chapter discuss all aspects of creating applications programs Using the DMC 1500 Editor to Enter Programs Application programs for the DMC 1500 may b...

Page 92: ...revious line cntrl I The cntrl I command inserts a line above the current line For example if the editor is at line number 2 and cntrl I is applied a new line will be inserted between lines 1 and 2 Th...

Page 93: ...ith the pound sign followed by a maximum of seven characters The first character must be a letter after that numbers are permitted Spaces are not permitted The maximum number of labels allowed on the...

Page 94: ...racters on a single line after the NO command and can be used to include comments from the programmer as in the following example PATH NO 2 D CIRCULAR PATH VMXY NO VECTOR MOTION ON X AND Y VS 10000 NO...

Page 95: ...ecuting independent operations such as PLC functions that occur independently of motion The main thread differs from the others in the following ways 1 Only the main thread may use the input command I...

Page 96: ...space Operands also contain important status information which can help to debug a program Trace Commands The trace command causes the controller to send each line in a program to the host computer im...

Page 97: ...00 elements is defined the command DM will return the value 7900 and the command DA will return 29 To list the contents of the variable space use the interrogation command LV List Variables To list th...

Page 98: ...mber is then displayed The user can obtain information about the type of error condition that occurred by using the command TC1 This command reports back a number and a text message which describes th...

Page 99: ...rogram instructions sequentially The program flow can be altered with the use of event triggers trippoints and conditional jump statements Event Triggers Trippoints To function independently from the...

Page 100: ...ecution until after reverse motion reached absolute position Only one axis may be specified If position is already past the point then MR will trip immediately Will function on geared axis MC X or Y o...

Page 101: ...1 EN End program Event Trigger Repetitive Position Trigger To set the output bit every 10000 counts during a move the AR trippoint is used as shown in the next example Instruction Interpretation TRIP...

Page 102: ...motion ASX Wait for at slew speed 50000 SB1 Set output 1 EN End program Event Trigger Change Speed Along Vector Path The following program changes the feedrate or vector speed at the specified distanc...

Page 103: ...label AT0 Initialize time reference SB1 Set Output 1 LOOP Loop AT 10 After 10 msec from reference CB1 Clear Output 1 AT 40 Wait 40 msec from reference and reset reference SB1 Set Output 1 JP LOOP Jum...

Page 104: ...ing a subroutine the program can be kept from jumping back to the original program line by issuing the command ZS This will remove all entries in the program stack and continue executing at the curren...

Page 105: ...e of V1 times V7 is less than or equal to the value of V8 V2 JP A Jump to A Example Using JP command Move the X motor to absolute position 1000 counts and back to zero ten times Wait 100 msec between...

Page 106: ...utput Bit 1 put down pen JS Square CB1 Jump to square subroutine EN End main program Square Square subroutine V1 500 JS L Define length of side Jump to subroutine L V1 V1 JS L Switch direction Jump to...

Page 107: ...nication Interrupt Routine For example the POSERR subroutine will automatically be executed when any axis exceeds its position error limit The commands in the POSERR subroutine could decode which axis...

Page 108: ...ill continue to be executed until the position error is cleared is less than the ER limit Example Input Interrupt Instruction Interpretation A Label II1 Input Interrupt on 1 JG 30000 60000 Jog BGXW Be...

Page 109: ...range greater than 8 million the CMDERR routine will be executed prompting the operator to enter a new number Example Communication Interrupt A DMC 1510 is used to move the X axis back and forth from...

Page 110: ...ection Operator Data Entry Mode on page 108 Mathematical and Functional Expressions Mathematical Expressions For manipulation of data the DMC 1500 provides the use of the following mathematical operat...

Page 111: ...nstruction Interpretation TEST Begin main program IN ENTER LEN S6 Input character string up to 6 characters into variable LEN FLEN FRAC LEN Define variable FLEN as fractional part of variable LEN FLEN...

Page 112: ...matical expressions The order of execution of mathematical expressions is from left to right and can be over ridden by using parentheses Examples Using Functions V1 ABS V7 The variable V1 is equal to...

Page 113: ...For example V1 ABS V2 or V2 IN 1 Arithmetic operations are also permitted To assign a string value the string must be in quotations String variables can contain up to six characters which must be in...

Page 114: ...re designated by adding an underscore _ prior to the DMC 1500 command Commands which have an associated operand are listed in the Command Reference as Used as an Operand Yes Status commands such as Te...

Page 115: ...associated commands All keywords are listed in the Command Summary Chapter 11 Examples of Keywords Instruction Interpretation V1 _LFX Assign V1 the logical state of the Forward Limit Switch on the X a...

Page 116: ...irst element of the array SPEED the value 7650 2 SPEED 1 Returns array element value POSX 10 _TPX Assigns the 10th element of the array POSX the returned value from the tell position command CON 2 COS...

Page 117: ...ic Data Capture Command Description RA n m o p Selects up to eight arrays for data capture The arrays must be defined with the DM command RD type1 type2 type3 type4 Selects the type of data to be reco...

Page 118: ...y 2 msec Instruction Interpretation RECORD Begin program DM XPOS 300 YPOS 300 Define X Y position arrays DM XERR 300 YERR 300 Define X Y error arrays RA XPOS XERR YPOS YERR Select arrays for capture R...

Page 119: ...mple a length of material is to be advanced a specified distance When the motion is complete a cutting head is activated to cut the material The length is variable and the operator is prompted to inpu...

Page 120: ...t 2 P2 Port 1 Main Keyword Port 2 Aux Keyword Function P1CH P2CH Contains the last character received P1ST P2ST Contains the received string P1NM P2NM Contains the received number P1CD P2CD Contains t...

Page 121: ...in thread 0 at all times for it to be enabled Example Using the COMINT Routine A DMC 1520 is used to jog the X and Y axis This program automatically begins upon power up and allows the user to input v...

Page 122: ...esented as 4 bytes of integer and 2 bytes of fraction When a variable is specified as a string the variable can hold up to 6 characters each ASCII character is 1 byte When using the IN command for str...

Page 123: ...pleted MG statement n m formats data in HEX instead of decimal The actual numerical value will be formatted with n characters to the left of the decimal and m characters to the right of the decimal Le...

Page 124: ...RIABLE or ARRAY X For example V1 returns the value of V1 These values may also be displayed using the message command MG If a variable was not previously defined using the command VARIABLE will cause...

Page 125: ...input as signed 2 s complement where negative numbers have a negative sign The default format is PF 10 0 If the number of decimal places specified by PF is less than the actual value a nine appears in...

Page 126: ...is specified by VF m n where m is the number of digits to the left of the decimal point 0 through 10 and n is the number of digits to the right of the decimal point 0 through 4 A negative sign for m...

Page 127: ...DC VA and VD have units of counts sec2 The controller interprets time in milliseconds All input parameters must be converted into these units For example an operator can be prompted to input a number...

Page 128: ...n OP Output Port This instruction allows a single command to define the state of the entire 8 bit output port where 20 is output 1 21 is output 2 and so on A 1 designates that the output is on Example...

Page 129: ...specifies the beginning input and n specifies the final input in the range The parameter o is an interrupt mask If m and n are unused o contains a number with the mask A 1 designates that input to be...

Page 130: ...amples show programs which cause the motor to follow an analog signal The first example is a point to point move The second example shows a continuous move Example Position Follower Point to Point Obj...

Page 131: ...637 count inch This implies that a distance of 10 inches equals 6370 counts and a slew speed of 5 inches per second for example equals 3185 count sec The input signal may be applied to input 1 for ex...

Page 132: ...llowed by lowering the Z axis and performing a cut along the circle Once the circular motion is completed the Z axis is raised and the motion continues to point C etc Assume that all of the 3 axes are...

Page 133: ...Acceleration BGS Start Motion AMS When motion is complete PR 80000 Move Z down SP 80000 Z speed BGZ Start Z motion AMZ Wait for completion of Z motion CR 80000 270 360 Circle VE VS 40000 Feedrate BGS...

Page 134: ...produce a motor speed of 3000 rpm with an encoder resolution of 1000 lines or 4000 count rev This speed equals 3000 rpm 50 rev sec 200000 count sec The program reads the input voltage periodically and...

Page 135: ...tem In those cases it may be easier to use the sampled dual loop method described below This design example addresses the basic problems of backlash in motion control systems The objective is to contr...

Page 136: ...of the load If for example the load position is 980 counts it implies that a correction of 20 counts must be made However when the X axis is commanded to be at the position of 1000 suppose that the ac...

Page 137: ...DMC 1500 Chapter 7 Application Programming 125 THIS PAGE LEFT BLANK INTENTIONALLY...

Page 138: ...bled OE1 and the abort command is given Each axis amplifier has separate amplifier enable lines This signal also goes low when the watch dog timer is activated or upon reset Note The standard configur...

Page 139: ...s to warn the host system of the error condition These signals include Signal or Function Indication of Error POSERR Jumps to automatic excess position error subroutine Error Light Turns on when posit...

Page 140: ...utine on error MG error Send message SB 1 Fire relay STX Stop motor AMX After motor stops SHX Servo motor here to clear error RE Return to main program NOTE An applications program must be executing f...

Page 141: ...Jump to LR if reverse JP END Jump to end LF LF MG FORWARD LIMIT Send message STX AMX Stop motion PR 1000 BGX AMX Move in reverse JP END End LR LR MG REVERSE LIMIT Send message STX AMX Stop motion PR10...

Page 142: ...bles Installation Symptom Cause Remedy Motor runs away when connected to amplifier with no additional inputs Amplifier offset too large Adjust amplifier offset Same as above but offset adjustment does...

Page 143: ...k polarity Invert the polarity of the loop by inverting the motor leads brush type or the encoder Motor oscillates Too high gain or too little damping Decrease KI and KP Increase KD Operation Symptom...

Page 144: ...the position loop using a sensor The operation at the basic level of closing the loop involves the subjects of modeling analysis and design These subjects will be covered in the following discussions...

Page 145: ...000 20000 AC 200000 00000 BG X AD 2000 BG Y EN This program corresponds to the velocity profiles shown in Fig 10 3 Note that the profiled positions show where the motors must be at any instant of time...

Page 146: ...signal If the feedback temperature is too low the error is positive and it triggers an action which raises the water temperature until the temperature error is reduced sufficiently The closing of the...

Page 147: ...ecial filter which is designed to help the stability and accuracy Typically such a filter produces in addition to the proportional gain damping and integrator The combination of the three functions is...

Page 148: ...ifier is a voltage source with a gain of Kv V V The transfer function relating the input voltage V to the motor position P is P V K K S ST ST V t m e 1 1 where T RJ K m t 2 s and T L R e s and the mot...

Page 149: ...otor is a DC brushless motor it is driven by an amplifier that performs the commutation The combined transfer function of motor amplifier combination is the same as that of a similar brush motor as de...

Page 150: ...A and B which are in quadrature Due to the quadrature relationship between the encoder channels the position resolution is increased to 4N quadrature counts rev The model of the encoder can be repres...

Page 151: ...ilter includes a lead compensation and an integrator It is equivalent to a continuous PID filter with a transfer function G s G s P sD I s P K 1 A 4 KP D T K A 4 T KD I C T KI 2T For example if the fi...

Page 152: ...Ka 4 Amp Volt Current amplifier gain KP 12 5 Digital filter gain KD 245 Digital filter zero KI 0 No integrator N 500 Counts rev Encoder line density T 1 ms Sample period The transfer function of the s...

Page 153: ...uency c at which A j c equals one This can be done by the Bode plot of A j c as shown in Fig 10 8 Figure 10 8 Bode plot of the open loop transfer function For the given example the crossover frequency...

Page 154: ...Method The analytical design method is aimed at closing the loop at a crossover frequency c with a phase margin PM The system parameters are assumed known The design procedure is best illustrated by a...

Page 155: ...uency of 500 rad s and a phase margin of 45 degrees This requires that A j500 1 Arg A j500 135 However since A s L s G s then it follows that G s must have magnitude of G j500 A j500 L j500 160 and a...

Page 156: ...KP 20 6 KD 68 6 In a similar manner other filters can be programmed The procedure is simplified by the following table which summarizes the relationship between the various filters Equivalent Filter F...

Page 157: ...DMC 1500 Chapter 10 Theory of Operation 145 THIS PAGE LEFT BLANK INTENTIONALLY...

Page 158: ...L 0 5 Volts level at 50 duty cycle 2 000 000 pulses sec maximum frequency Direction TTL 0 5 Volts Input Output Uncommitted Inputs Limits Home Abort Inputs 2 2K ohm in series with optoisolator Requires...

Page 159: ...875 sec DMC 1580 875 sec Position Accuracy 1 quadrature count Velocity Accuracy Long Term Phase locked better than 005 Short Term System dependent Position Range 2147483647 counts per move Velocity R...

Page 160: ...148 Appendices DMC 1500 Card Level Layout...

Page 161: ...it W 16 Reverse Limit W 17 Home W 18 Output 1 19 Input Common INCOM 20 Latch X INPUT 1 21 Latch Y INPUT 2 22 Latch Z 23 Latch W INPUT 4 24 Abort input 25 Motor Command X 26 Amp enable X 27 Motor Comma...

Page 162: ...tput 6 16 Output 7 17 Output 8 18 Input 8 19 Input 7 20 Input 6 21 Input 5 22 Input 4 Latch W 23 Input 3 latch Z 24 Input 2 Latch Y 25 Input 1 latch X 26 Input Common INCOM J3 Aux Encoder 20 pin IDC 1...

Page 163: ...or Command Y 7 Amp enable Y 8 PWM Y STEP Y 9 Sign Y DIR Y 10 NC 11 Motor command Z 12 Amp enable Z 13 PWM Z STEP Z 14 Sign Z DIR Z 15 5 Volt 16 Motor command W 17 Amp enable W 18 PWM W STEP W 19 Sign...

Page 164: ...24 25 Motor Command E 26 Amp enable E 27 Motor Command F 28 Amp enable F 29 Motor Command G 30 Amp enable G 31 Motor Command H 32 Amp enable H 33 Channel A E 34 Channel A E 35 Channel B E 36 Channel B...

Page 165: ...5 Output 14 16 Output 15 17 Output 16 18 Input 16 19 Input 15 20 Input 14 21 Input 13 22 Input 12 Latch H 23 Input 11 Latch G 24 Input 10 Latch F 25 Input 9 Latch E 26 Input Common Isolated 5 Volts JD...

Page 166: ...MC 1500 The DMC 1500 requires the transmit receive and ground for slow communication rates ie 1200 baud For faster rates the handshake lines are required The connection tables below contain the handsh...

Page 167: ...found on most computers PIN NUMBER FUNCTION 1 Carrier Detect 2 Receive Data 3 Transmit Data 4 Data Terminal Ready 5 Signal Ground 6 Data Set Ready 7 Request to Send 8 Clear to Send 9 Ring Indicator D...

Page 168: ...ound 9 Computer 25 pin to DMC 1500 Auxiliary Port Cable 9 pin 25 PIN MALE TERMINAL 9 PIN MALE CONTROLLER 20 Data Terminal Ready 1 2 Transmit Data 2 3 Receive Data 3 8 Carrier Detect 4 7 Signal Ground...

Page 169: ...99 8 for full positive voltage In the Sign Magnitude Mode Jumper SM the PWM signal is 0 for 0 Voltage 99 6 for full voltage and the sign of the Motor Command is available at the sign output PWM STEP O...

Page 170: ...tion The previously saved state of the controller along with parameter values and saved sequences are restored Forward Limit Switch When active inhibits motion in forward direction Also causes executi...

Page 171: ...pered SMF SMG SMH OPT Reserved JP30 JP31 Used to configure RS422 main JP31 Used to configure RS422 auxiliary MRST Master Reset enable Returns controller to factory default settings and erases EEPROM D...

Page 172: ...axis Dip Switch Settings A2 A8 Seven Dip Switches for Address Selection Please follow silkscreen not switch labels Offset Adjustments for DMC 1500 X offset Used to null ACMD offset for X axis Y offset...

Page 173: ...plifier AMP 1120 Two axis amplifier AMP 1130 Three axis amplifier AMP 1140 Four axis amplifier N23 54 1000 Servo motor NEMA 23 54 oz in continuous N34 150 1000 Servo motor NEMA 34 150 oz in continuous...

Page 174: ...tifies all terminals Provides jumper for connecting limit and input supplies to 5 volt supply from PC Available with on board servo drives see AMP 1100 10 pin IDC connectors for encoders Specification...

Page 175: ...t 8 34 36 INP8 Uncommitted Input 8 35 35 INP7 Uncommitted Input 7 36 38 INP6 Uncommitted Input 6 37 37 INP5 Uncommitted Input 5 38 40 INP4 LW Uncommitted Input 4 39 39 INP3 LZ Uncommitted Input 3 40 4...

Page 176: ...EZ Z Home 72 74 FLSW W Forward limit 73 73 RLSW W Reverse limit 74 76 HOMEW W Home 75 75 GND Ground 76 78 ABORT Abort input 77 77 XA X Main encoder A 78 80 XA X Main encoder A 79 79 XB X Main encoder...

Page 177: ...x Encoder 20 pin IDC J4 Driver 20 pin IDC J5 General I O 26 pin IDC Connectors are the same as described in section entitled Connectors for DMC 1500 Main Board see pg 149 JX6 JY6 JZ6 JW6 Encoder Input...

Page 178: ...166 Appendices DMC 1500 ICM 1100 Drawing 1 3 4 0 0 4 4 0 2 4 0 7 0 0 4 5 3 7 0 5 7 0 2 8 5 1 0 0 1 0 1 0 7 0 1 0 0...

Page 179: ...ion to motors encoders and external switches Features 6 amps continuous 10 amps peak 20 to 80 volts Available with 1 2 3 or 4 amplifiers Connects directly to DMC 1500 series controllers via ribbon cab...

Page 180: ...168 Appendices DMC 1500...

Page 181: ...The TERM 1500 is a compact ASCII terminal for use with the DMC 1500 motion controller Its numeric keypad allows easy data entry from an operator The TERM 1500 is available with a male adapter for conn...

Page 182: ...1 CTRL SHIFT SPACE BKSPC ENTER Shift Key Output 6 A B C D E 5 F G H I J 4 K L M N O 3 P Q R S T 2 U V W X Y 1 CTRL SHIFT Z CTRL Key Output 6 18 16 9 4 17 5 19 2 4 3 2 1 CTRL SHIFT ESC Note Values in...

Page 183: ...Y 1 E CTRL SHIFT Z CTRL Key Output 5 18 19 2 4 16 3 9 2 4 1 17 CTRL SHIFT ESC Note Values in parentheses are ASCII decimal values Key locations are represented by m n where m is element column n is e...

Page 184: ...Cursor to End of Display ESC K Cursor to End of Line ESC M Line Containing Cursor Sounds ESC T Short Bell ESC L Long Bell ESC P Click ESC Q Alert Cursor Style ESC F Underscore Cursor On ESC G Undersc...

Page 185: ...Follow prompts on display to change configuration Default Configuration Baude Rate 9600 Data bits Parity Display Repeat Echo Handshake Disabled Self Test Key Click Disabled Ctrl Space Shift 2 2 Key Cl...

Page 186: ...Message to P2 B JP B EN End Program COMINT Interrupt Routine JS XMOVE P2CH F1 Jump to X move if F1 JS YMOVE P2CH F2 Jump to Y move if F2 EN1 1 End Re enable comm interrupt restore trippoint XMOVE PR10...

Page 187: ...ng the command CO The command has one field CO n where n is a 3 bit number represented in decimal A 3 bit number ranges in decimal between 0 and 7 Each bit in the 3 bit number represents one of the 8...

Page 188: ...he bits 1 8 values from 0 to 255 and n is the decimal representation of the bits 25 48 values from 0 to 65535 When accessing I O blocks configured as inputs use the TIn command The argument n refers t...

Page 189: ...1 34 30 Ground 31 4 0 33 32 Ground 33 3 7 32 34 Ground 35 3 6 31 36 Ground 37 3 5 30 38 Ground 39 3 4 29 40 Ground 41 3 3 28 42 Ground 43 3 2 27 44 Ground 45 3 1 26 46 Ground 47 3 0 25 48 Ground 49 5...

Page 190: ...cable Pin Block Bit No IN n Pin 1 11 7 96 2 Ground 3 11 6 95 4 Ground 5 11 5 94 6 Ground 7 11 4 93 8 Ground 9 11 3 92 10 Ground 11 11 2 91 12 Ground 13 11 1 90 14 Ground 15 11 0 89 16 Ground 17 10 7...

Page 191: ...of the path to allow continuous motion The path is specified as a collection of segments For the purpose of specifying the path define a special X Y coordinate system whose origin is the starting poi...

Page 192: ...ral the length of each linear segment is L Xk Yk k 2 2 Where Xk and Yk are the changes in X and Y positions along the linear segment The length of the circular arc is L R k k k 2 360 The total travel...

Page 193: ...vector speed and acceleration requirements For example the velocities along the X and Y axes for the path shown in Fig 12 2 are given in Fig 12 4 Fig 12 4a shows the vector velocity It also indicates...

Page 194: ...y control Yes Yes Linear interpolation Up to 4 axes Up to 8 axes Circular interpolation Any 2 axes plus 3rd tangent Any 2 axes plus 3rd tangent Maximum number of segments in motion path 255 Infinite c...

Page 195: ...8 chars 254 symbolic up to 8 chars Number of array elements 1600 up to 14 arrays 8000 up to 30 arrays Digital filter type GN ZR KI KP KI KD with velocity and acceleration feedforward and integrator l...

Page 196: ...rol Systems by Dr Jacob Tal Motion Control Applications by Dr Jacob Tal Motion Control by Microprocessors by Dr Jacob Tal Contacting Us Galil Motion Control 3750 Atherton Road Rocklin CA 95765 Phone 9...

Page 197: ...d to Galil Motion Control properly packaged and with transportation and insurance prepaid We will reship at our expense only to destinations in the United States Any defect in materials or workmanship...

Page 198: ...186 Appendices DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...

Page 199: ...71 70 71 127 Baud Rate 10 34 Bit Wise 95 101 Bypassing Optoisolation 29 C Capture Data Record 64 67 106 109 110 Circle 124 Circular Interpolation 1 24 50 53 55 108 124 Clear Bit 119 Clear Sequence 45...

Page 200: ...ogram 22 23 F Feedrate 47 52 53 93 123 24 FIFO 36 Filter Parameter Damping 134 140 Integrator 140 144 45 PID 14 140 144 149 Proportional Gain 140 Stability 71 127 133 34 Find Edge 26 75 Formatting 114...

Page 201: ...85 98 106 130 32 134 LIMSWI 25 84 97 98 130 32 Linear Interpolation 23 44 47 44 47 49 55 63 Clear Sequence 45 47 51 53 Logical Operator 97 Logical Operators 111 M Masking Bit Wise 95 101 Math Function...

Page 202: ...Record 64 67 106 109 110 Latch 30 78 Position Capture 78 Teach 67 Register 105 Reset 25 31 94 129 131 S SB Set Bit 119 Scaling Ellipse Scale 53 S Curve Motion Smoothing 1 74 SDK 81 Selecting Address...

Page 203: ...t 14 21 Trigger 81 89 91 94 Trippoint 91 97 Troubleshooting 133 TTL 5 25 27 31 32 129 Tuning 1 SDK 81 Stability 71 127 133 34 140 146 U Upload 81 User Unit 118 V Variable Internal 23 95 104 105 Vector...

Reviews: