background image

DMC-1500 

Chapter 7  Application Programming  

  89 

Instruction Interpretation 

#TWOMOVE Label 

PR 2000 

Position Command 

BGX Begin 

Motion 

AMX 

Wait for Motion Complete 

PR 4000 

Next Position Move 

BGX 

Begin 2nd move 

EN End 

program 

Event Trigger - Set Output after Distance 

Set output bit 1 after a distance of 1000 counts from the start of the move.  The accuracy of the 
trippoint is the speed multiplied by the sample period. 

Instruction Interpretation 

#SETBIT Label 

SP 10000 

Speed is 10000 

PA 20000 

Specify Absolute position 

BGX Begin 

motion 

AD 1000 

Wait until 1000 counts 

SB1 

Set output bit 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 Label 

JG 50000 

Specify Jog Speed 

BGX;n=0 Begin 

Motion 

#REPEAT 

# Repeat Loop 

AR 10000 

Wait 10000 counts 

TPX Tell 

Position 

SB1 

Set output 1 

WT50 

Wait 50 msec 

CB1 

Clear output 1 

n=n+1 Increment 

counter 

JP #REPEAT,n<5 

Repeat 5 times 

STX Stop 

EN End 

Event Trigger - Start Motion on Input 

This example waits for input 1 to go low and then starts motion.  Note:  The AI command actually 
halts execution of the program until the input occurs.  If you do not want to halt the program 
sequences, you can use the Input Interrupt function (II) or use a conditional jump on an input, such as 
JP #GO,@IN[1] = -1. 

Содержание DMC-1510

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 6: ......

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 18: ...6 Chapter 1 Overview DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 88: ...76 Chapter 6 Programming Motion DMC 1500 Figure 6 7 Motion intervals in the Home sequence...

Страница 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...

Страница 90: ...78 Chapter 6 Programming Motion DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 137: ...DMC 1500 Chapter 7 Application Programming 125 THIS PAGE LEFT BLANK INTENTIONALLY...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 157: ...DMC 1500 Chapter 10 Theory of Operation 145 THIS PAGE LEFT BLANK INTENTIONALLY...

Страница 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...

Страница 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...

Страница 160: ...148 Appendices DMC 1500 Card Level Layout...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 180: ...168 Appendices DMC 1500...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 198: ...186 Appendices DMC 1500 THIS PAGE LEFT BLANK INTENTIONALLY...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Страница 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...

Отзывы: