background image

100  

  Chapter 7  Application Programming 

DMC-1000 

Example - Bad Command 

Instruction Interpretation 

#BEGIN 

Begin main program 

IN "ENTER SPEED", SPEED 

Prompt for speed 

JG SPEED;BGX; 

Begin motion 

JP #BEGIN 

Repeat 

EN 

End main program 

#CMDERR 

Command error utility 

JP#DONE,_ED<>2 

Check if error on line 2 

JP#DONE,_TC<>6 

Check if out of range 

MG "SPEED TOO HIGH" 

Send message 

MG "TRY AGAIN" 

Send message 

ZS1 Adjust 

stack 

JP #BEGIN 

Return to main program 

#DONE 

End program if other error 

ZS0 Zero 

stack 

EN End 

program 

The above program prompts the operator to enter a jog speed.  If the operator enters a number out of 
range (greater than 8 million), the #CMDERR routine will be executed prompting the operator to enter 
a new number. 

Mathematical and Functional Expressions 

Mathematical Expressions 

For manipulation of data, the DMC-1000 provides the use of the following mathematical operators: 

 

OPERATOR FUNCTION 

+ Addition 

- Subtraction 

* Multiplication 

/ Division 

Logical And (Bit-wise) 

Logical Or (On some computers, a solid vertical line appears as a broken line) 

() Parenthesis 

The numeric range for addition, subtraction and multiplication operations is +/-2,147,483,647.9999.  
The precision for division is 1/65,000. 

Mathematical operations are executed from left to right.  Calculations within a parentheses have 
precedence. 

Examples of MATHEMATICAL EXPRESSION 

SPEED=7.5*V1/2 

The variable, SPEED, is equal to 7.5 multiplied by V1 and divided by 2 

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

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

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

Страница 2: ...c 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 galilmc com Rev 6 06 Artisan Technology Group Qu...

Страница 3: ...ur axis controller or the DMC 1080 eight axes controller Users of the DMC 1030 3 axis controller DMC 1020 2 axis controller or DMC 1010 1 axis controller should note that the DMC 1030 uses the axes de...

Страница 4: ...o 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 turn on for that axis 2 During a PR decel can no...

Страница 5: ...erval and starting 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 Comma...

Страница 6: ...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 relative time from refe...

Страница 7: ...Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

Страница 8: ...8 Step 4 Install Communications Software 8 Step 5 Establish Communications with Galil Communication Software 9 Changing the I O Address of the Controller 10 Step 6 Connect Amplifiers and Encoders 11...

Страница 9: ...33 Introduction 33 Address Selection 33 Example Address Selection 34 Communication with the Controller 34 Communication Registers 34 Simplified Communication Procedure 34 Advanced Communication Techni...

Страница 10: ...Commands 67 Command Summary Contour Mode 68 Operand Summary Contour Mode 68 Stepper Motor Operation 71 Specifying Stepper Motor Operation 71 Using an Encoder with Stepper Motors 72 Command Summary St...

Страница 11: ...riables and Array Elements 113 Converting to User Units 114 Programmable Hardware I O 114 Digital Outputs 114 Digital Inputs 115 Input Interrupt Function 116 Analog Inputs 117 Example Applications 118...

Страница 12: ...n IDC 149 JD3 20 pin IDC Auxiliary Encoders 150 JD4 20 pin IDC Amplifiers 150 JD6 Daughterboard Connector 60 pin 150 Pin Out Description for DMC 1000 151 Jumper Description for DMC 1000 153 Dip Switch...

Страница 13: ...tch Dog Timer 4 Chapter 2 Getting Started 5 The DMC 1000 Motion Controller 5 Elements You Need 6 Installing the DMC 1000 7 Step 1 Determine Overall Motor Configuration 7 Step 2 Configure Jumpers on th...

Страница 14: ...fier Interface 30 TTL Inputs 31 Analog Inputs 31 TTL Outputs 32 Offset Adjustment 32 Chapter 4 Communication 33 Introduction 33 Address Selection 33 Example Address Selection 33 Communication with the...

Страница 15: ...nic Gearing 59 Electronic Cam 61 Contour Mode 66 Specifying Contour Segments 66 Additional Commands 67 Command Summary Contour Mode 68 Operand Summary Contour Mode 68 Stepper Motor Operation 71 Specif...

Страница 16: ...umeric and String 110 Sending Messages 110 Interrogation Commands 111 Formatting Variables and Array Elements 113 Converting to User Units 114 Programmable Hardware I O 114 Digital Outputs 114 Digital...

Страница 17: ...d Connector 60 pin 148 J7 10 pin 148 Connectors for Auxiliary Board Axes E F G H 148 JD2 Main 60 pin IDC 148 JD5 I O 26 pin IDC 149 JD3 20 pin IDC Auxiliary Encoders 150 JD4 20 pin IDC Amplifiers 150...

Страница 18: ...DB 10072 164 DB 10096 I O Expansion 167 Pinouts for DB 10096 Connectors 168 J1 Pinout 168 J2 Pinout 169 Coordinated Motion Mathematical Analysis 170 DMC 600 DMC 1000 Comparison 173 DMC 600 DMC 1000 C...

Страница 19: ...Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

Страница 20: ...terpolation electronic gearing and user defined path following Several motion parameters can be specified including acceleration and deceleration rates and slew speed The DMC 1000 also provides S curv...

Страница 21: ...scribed in Chapter 2 Stepper Motor with Step and Direction Signals The DMC 1000 can control stepper motors In this mode the controller provides two signals to connect to the stepper motor Step and Dir...

Страница 22: ...cation interface with the host PC over the ISA bus uses a bi directional FIFO AM470 and includes PC interrupt handling circuitry General I O The DMC 1000 provides interface circuitry for eight optoiso...

Страница 23: ...ture encoders may be either single ended CHA and CHB or differential CHA CHA CHB CHB The DMC 1000 decodes either type into quadrature states or four times the number of cycles Encoders may also have a...

Страница 24: ...0 pin header connector for the auxiliary encoder cable of the DMC 1000 3 GL 1800 Custom sub micron gate array J4 20 pin header connector for the stepper amplifier output cable of the DMC 1000 4 Calibr...

Страница 25: ...5 or NT Optional but strongly recommended for first time users 7 An Interface Module Optional but strongly recommended The Galil ICM 1100 is an interconnect module with screw type terminals that direc...

Страница 26: ...configuration information is necessary to determine the proper motor configuration Standard Servo Motor Operation The DMC 1000 has been setup by the factory for standard servo motor operation providin...

Страница 27: ...inserted DMC 1050 through DMC 1080 require two expansion bus slots Step D Insert DMC 1000 card in the expansion bus and secure with screw Step E Attach the ribbon cables to your controller card Insert...

Страница 28: ...f the controller and other information To do this run the program DMCREG16 for Windows 3 x or DMCREG32 for Windows 95 and NT The DMCREG window will appear Select Registry from the menu Note If you are...

Страница 29: ...ation changing this address may be necessary If the address 1000 is not available Galil recommends using the address 816 as it is likely to be available Changing the I O address at which the DMC 1000...

Страница 30: ...ign Kit for the DMC 1000 WSDK16 Windows 3 x 16 bit version of the Servo Design Kit and WSDK32 Windows 95 and NT 32 bit version of the Servo Design Kit Step 6 Connect Amplifiers and Encoders Once you h...

Страница 31: ...te the enable input as inhibit To change the voltage level of the AEN signal note the state of the resistor pack on the ICM 1100 When Pin 1 is on the 5V mark the output voltage is 0 5V To change to 12...

Страница 32: ...ve a hardware failure Consult the factory for help Step 7a Connect Standard Servo Motors The following discussion applies to connecting the DMC 1000 controller to standard servo motor amplifiers The m...

Страница 33: ...xample the following command will limit the output of the controller to 1 volt on the X axis TL 1 CR Note Once the correct polarity of the feedback loop has been determined the torque limit should in...

Страница 34: ...n loop has been closed with the correct polarity the next step is to adjust the PID filter parameters KP KD and KI It is necessary to accurately tune your servo system to ensure fidelity of position a...

Страница 35: ...back When a stepper is used the auxiliary encoder for the corresponding axis is unavailable for an external connection If an encoder is used for position feedback connect the encoder to the main encod...

Страница 36: ...his order To start set the integrator to zero with the instruction KI 0 CR Integrator gain and set the proportional gain to a low value such as KP 1 CR Proportional gain KD 100 CR Derivative gain For...

Страница 37: ...n also be referred to as the A B C D axes Instruction Interpretation OE 1 1 1 1 1 1 1 1 Enable automatic Off on Error function for all axes ER 1000 Set error limit for all axes to 1000 counts KP10 10...

Страница 38: ...G Z Start Z motion BG Y Start Y motion Example 5 Position Interrogation The position of the four axes may be interrogated with the instruction TP Instruction Interpretation TP Tell position all four a...

Страница 39: ...cluding direction reversal The motion can be stopped with the instruction ST Stop Example 8 Operation Under Torque Limit The magnitude of the motor command may be limited independently by the instruct...

Страница 40: ...ion ED Edit mode moves the operation to the editor mode where the program may be written and edited The editor provides the line number For example in response to the first ED command the first line i...

Страница 41: ...ved 4000 BGY Start Y motion AP 6000 Wait until position X 6000 SP 2000 50000 Change speeds AP 50000 Wait until position Y 50000 SP 10000 Change speed of Y EN End program To start the program command X...

Страница 42: ...on axes LI 7000 3000 6000 Relative distances for linear interpolation LE Linear End VS 6000 Vector speed VA 20000 Vector acceleration VD 20000 Vector deceleration BGS Start motion Example 16 Circular...

Страница 43: ...r 2 Getting Started DMC 1000 X Y R 2000 0 0 local zero 4000 0 4000 4000 0 4000 Figure 2 4 Motion Path for Example 16 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artis...

Страница 44: ...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 position When a forward or reverse limit swit...

Страница 45: ...oming 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 detected in the logic state of the Home input The mo...

Страница 46: ...age 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 the controller configures all inputs to be interpreted...

Страница 47: ...1 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 isolation an isolated power supply should be used to provide the vo...

Страница 48: ...the ribbon cable if the ICM 1100 or equivalent breakout board is not available Bypassing the Opto Isolation If no isolation is needed the internal 5 Volt supply may be used to power the switches as s...

Страница 49: ...operation with no additional compensation The gain should be set such that a 10 Volt input results in the maximum required current The DMC 1000 also provides an amplifier enable signal AEN This signal...

Страница 50: ...he user to connect their own resistor to the desired voltage level Up to24V Figure 3 4 Connecting AEN to the motor amplifier TTL Inputs 1080 As previously mentioned the DMC 1000 has 8 uncommitted TTL...

Страница 51: ...D 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 error limit The error limit is set by using the co...

Страница 52: ...it to zero and setting a switch to the OFF position sets that bit to 1 Please note that this discussion refers only to the computer address of the controller and is not related to specifying axes for...

Страница 53: ...NTROL for status control N 1 Read and Write The DMC 1000 provides three registers used for communication The READ register and WRITE register occupy address N and the CONTROL register occupies address...

Страница 54: ...e Changing Almost Full Flags on pg 35 Any high level computer language such as C Basic Pascal or Assembly may be used to communicate with the DMC 1000 as long as the READ WRITE procedure is followed a...

Страница 55: ...ate the interrupt line for the PC bus The available lines are IRQ2 IRQ3 IRQ4 IRQ5 IRQ7 IRQ9 IRQ10 IRQ11 IRQ12 IRQ14 IRQ15 Note that the jumper for IRQ2 and IRQ9 is at the same location IRQ9 is used fo...

Страница 56: ...program stopped 14 Command done 15 Inputs uses n for mask Bit number n Input 0 Input 1 1 Input 2 2 Input 3 3 Input 4 4 Input 5 5 Input 6 6 Input 7 7 Input 8 and M 2m N 2n For example to select an inte...

Страница 57: ...ugh FF User interrupt E1 through E8 Input interrupt C0 Limit switch occurred C8 Excess position error D8 All axis motion complete D7 E axis motion complete D6 F axis motion complete D5 G axis motion c...

Страница 58: ...nstructions that return data such as Tell Position TP the DMC 1000 will return the data followed by a carriage return line feed and It is good practice to check for after each command is sent to preve...

Страница 59: ...40 Chapter 4 Communication DMC 1000 THIS PAGE LEFT BLANK INTENTIONALLY Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

Страница 60: ...erminate the instruction for processing by the DMC 1000 command interpreter Note If you are using a Galil terminal program commands will not be processed until an enter command is given This allows th...

Страница 61: ...nd 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 coordinated motion the letter S is used to speci...

Страница 62: ...d line feed The format of the returned data can be changed using the Position Format PF Variable Format VF and Leading Zeros LZ command See Chapter 7 and the Command Reference Summary of Interrogation...

Страница 63: ...alid DMC expressions For example to display the value of an operand the user could use the command MG operand All of the command operands begin with the underscore character _ For example the value of...

Страница 64: ...ctory The controller determines a new command position along the trajectory every sample period until the specified profile is complete Motion is complete when the last position command is sent by the...

Страница 65: ...SPH 10000 Operand Summary Independent Axis OPERAND DESCRIPTION _ACx Return acceleration rate for the axis specified by x _DCx Return deceleration rate for the axis specified by x _SPx Returns the spee...

Страница 66: ...40 60 80 TIME ms 100 X axis velocity profile Y axis velocity profile Z axis velocity profile 0 Figure 6 1 Velocity Profiles of XYZ Notes on fig 6 1 The X and Y axis have a trapezoidal velocity profil...

Страница 67: ...COMMAND DESCRIPTION AC x y z w Specifies acceleration rate BG X Y Z W Begins motion DC x y z w Specifies deceleration rate IP x y z w Increments position instantly IT x y z w Time constant for indepen...

Страница 68: ...o 511 incremental move segments may be given prior to the Begin Sequence BGS command Once motion has begun additional LI segments may be sent to the controller The clear sequence CS command can be use...

Страница 69: ...he After Vector trippoint which halts program execution until the vector distance of n has been reached In this example the XY system is required to perform a 90 turn In order to slow the speed around...

Страница 70: ...te override VR does not ratio the accelerations For example VR 5 results in the specification VS 2000 to be divided in half Command Summary Linear Interpolation COMMAND DESCRIPTION LM xyzw LM abcdefgh...

Страница 71: ...e zero Now suppose that the interrogation is repeated at the second segment when Y 2000 The value of _AV at this point is 7000 _CS equals 1 _VPX 5000 and _VPY 0 Example Linear Move Make a coordinated...

Страница 72: ...igure 6 2 Linear Interpolation Example Multiple Moves This example makes a coordinated linear move in the XY plane The Arrays VX and VY are used to store 750 incremental distances which are filled by...

Страница 73: ...dinated motion mode is similar to the linear interpolation mode Any pair of two axes may be selected for coordinated motion consisting of linear and circular segments In addition a third axis can be c...

Страница 74: ...olled deceleration LM or _LM returns the available spaces for motion segments that can be sent to the buffer 511 returned means the buffer is empty and 511 segments can be sent A zero means the buffer...

Страница 75: ...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 necessary to assign an axis via the VM command and define its offset an...

Страница 76: ...mand until Motion Sequence is complete TN m n Tangent scale and offset ES m n Ellipse scale factor VT S curve smoothing constant for coordinated moves LM Return number of available spaces for linear a...

Страница 77: ...t a point halfway between the points C and D The value of _AV is 4000 1500 2000 10 712 The value of _CS is 2 _VPX _VPY contain the coordinates of the point C C 4000 3000 R 1500 B 4000 0 D 0 3000 A 0 0...

Страница 78: ...here n X Y Z or W or A B C D E F G H for main encoder as master n XC YC ZC or WC or AC BC CC DC EC FC GC HC for commanded position n DX DY DZ or DW or DA DB DC DD DE DF DG DH for auxiliary encoders n...

Страница 79: ...that a gantry is driven by two axes X Y on both sides The X axis is the master and the Y axis is the follower To synchronize Y with the commanded position of X use the instructions GA XC Specify maste...

Страница 80: ...onic cam mode the position of the master is always expressed modulo one cycle In this example the position of x is always expressed in the range between 0 and 6000 Similarly the slave position is also...

Страница 81: ...where n indicates the order of the point The value n starts at zero and may go up to 256 The parameters x y z w indicate the corresponding slave position For this example the table may be specified b...

Страница 82: ...e corresponding slave axes are disengaged Master X 4000 2250 2000 6000 3000 1500 0 Figure 6 8 Electronic Cam Example This disengages the slave axis at a specified master position If the parameter is o...

Страница 83: ...with the instruction ET N Y Instruction Interpretation SETUP Label EAX Select X as master EM 2000 1000 Cam cycles EP 20 0 Master position increments N 0 Index LOOP Loop to construct table from equati...

Страница 84: ...ble ET 8 120 60 9th point in the ECAM table ET 9 40 20 10th point in the ECAM table ET 10 0 0 Starting point for next cycle EB 1 Enable ECAM mode JGZ 4000 Set Z to jog at 4000 EG 0 0 Engage both X and...

Страница 85: ...contouring mode may be operated in other modes A contour is described by position increments which are described with the command CD x y z w over a time interval DT n The parameter n specifies the ti...

Страница 86: ...s first position increment DT 3 Specifies second time interval 23 ms CD 240 WC Specifies second position increment DT 4 Specifies the third time interval 24 ms CD 48 WC Specifies the third position in...

Страница 87: ...Summary Contour Mode OPERAND DESCRIPTION _CS Return segment number General Velocity Profiles The Contour Mode is ideal for generating any arbitrary velocity profiles The velocity profile can be speci...

Страница 88: ...s is stored at the array POS Then the difference between the positions is computed and is stored in the array DIF Finally the motors are run in the contour mode Contour Mode Example Instruction Interp...

Страница 89: ...for DMC 1080 RD _TPX Specify data for capturing such as _TPX or _TPZ RC n m Specify capture time interval where n is 2n msec m is number of records to be captured RC or _RC Returns a 1 if recording Re...

Страница 90: ...fies a stepper motor with active low step output pulses 2 specifies a stepper motor with active high step output pulses 2 5 specifies a stepper motor with active low step output pulses and reversed di...

Страница 91: ...s on the parameter which is specified by the command KS As mentioned earlier there will always be some amount of stepper motor smoothing The default value for KS is 2 which corresponds to a time const...

Страница 92: ...r each axis except for axes configured for stepper motor operation When used the second encoder is typically mounted on the motor or the load but may be mounted in any position The most common use for...

Страница 93: ...has a backlash To compensate for the backlash position encoders are mounted on both the motor and the load The continuous dual loop combines the two feedback signals to achieve stability This method r...

Страница 94: ...is one inch and that this corresponds to 40 000 counts of the rotary encoder and 10 000 counts of the linear encoder The design approach is to drive the motor a distance which corresponds to 40 000 ro...

Страница 95: ...ng When operating with servo motors motion smoothing can be accomplished with the IT and VT command These commands filter the acceleration and deceleration functions to produce a smooth velocity profi...

Страница 96: ...KS The KS command smoothes the frequency of step motor pulses Similar to the commands IT and VT this produces a smooth velocity profile The step motor smoothing is specified by the following command...

Страница 97: ...fter sensing the home switch The velocity profile generated is shown in Fig 6 7 The Home HM command can be used to position the motor on the index pulse after the home switch is detected This allows f...

Страница 98: ...ion 79 SP 8000 Speed FE Y Find edge command BG Y Begin motion AM Y After complete MG FOUND HOME Print message DP 0 Define position as 0 EN End Artisan Technology Group Quality Instrumentation Guarante...

Страница 99: ...POSITION HOME SWITCH INDEX PULSES MOTION REVERSE TOWARD HOME DIRECTION MOTION TOWARD INDEX DIRECTION MOTION BEGINS TOWARD HOME DIRECTION Figure 6 7 Motion intervals in the Home sequence Artisan Techno...

Страница 100: ...t the latched position The steps to use the latch are as follows Give the AL XYZW command or ABCDEFGH for DMC 1080 to arm the latch for the specified axis or axes Test to see if the latch has occurred...

Страница 101: ...82 Chapter 6 Programming Motion DMC 1000 THIS PAGE LEFT BLANK INTENTIONALLY Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

Страница 102: ...necessary The following sections in this chapter discuss all aspects of creating applications programs Using the DMC 1000 Editor to Enter Programs Application programs for the DMC 1000 may be created...

Страница 103: ...cntrl P command moves the editor to the previous 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...

Страница 104: ...and end with an End EN statement Labels start with 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 permit...

Страница 105: ...37 characters 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 1...

Страница 106: ...ndent programs simultaneously These programs are called threads and are numbered 0 through 3 where 0 is the main one Multitasking is useful for executing independent operations such as PLC functions t...

Страница 107: ...formation 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 immediately prior to execution Tracing is enabled...

Страница 108: ...he value 1500 and the command DA will return 13 To list the contents of the variable space use the interrogation command LV List Variables To list the contents of array space use the interrogation com...

Страница 109: ...ake decisions based on the occurrence of an event Such events include waiting for motion to be complete waiting for a specified amount of time to elapse or waiting for an input to change logic levels...

Страница 110: ...may be specified If position is already past the point then MR will trip immediately Will function on geared axis MC X or Y or Z or W A or B or C or D or E or F or G or H Halt program execution until...

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

Страница 112: ...At speed Instruction Interpretation ATSPEED Program Label JG 50000 Specify jog speed AC 10000 Acceleration rate BGX Begin motion ASX Wait for at slew speed 50000 SB1 Set output 1 EN End program Event...

Страница 113: ...ion OUTPUT Program 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 Ou...

Страница 114: ...s given the jump will always occur Examples Number V1 6 Numeric Expression V1 V7 6 ABS V1 10 Array Element V1 Count 2 Variable V1 V2 Internal Variable _TPX 0 _TVX 500 I O V1 AN 2 IN 1 0 Multiple Condi...

Страница 115: ...P Begin loop PA 1000 Position absolute 1000 BGX Begin move AMX Wait for motion complete WT 100 Wait 100 msec PA 0 Position absolute 0 BGX Begin move AMX Wait for motion complete WT 100 Wait 100 msec C...

Страница 116: ...broutine L Define relative position movement on X and Y Begin motion AMX BGY AMY After motion on X Begin Y Wait for motion on Y to complete EN End subroutine L Stack Manipulation It is possible to man...

Страница 117: ...tion Example Limit Switch This program prints a message upon the occurrence of a limit switch Note for the LIMSWI routine to function the DMC 1000 must be executing an applications program from memory...

Страница 118: ...nput Interrupt on 1 JG 30000 60000 Jog BGXW Begin Motion LOOP JP LOOP EN Loop ININT Input Interrupt STXW AM Stop Motion TEST JP TEST IN 1 0 Test for Input 1 still low JG 30000 6000 Restore Velocities...

Страница 119: ...be executed prompting the operator to enter a new number Mathematical and Functional Expressions Mathematical Expressions For manipulation of data the DMC 1000 provides the use of the following mathe...

Страница 120: ...using bit wise operations as illustrated in the following example Instruction Interpretation TEST Begin main program IN ENTER LEN S6 Input character string up to 6 characters into variable LEN FLEN F...

Страница 121: ...Using Functions V1 ABS V7 The variable V1 is equal to the absolute value of variable V7 V2 5 SIN POS The variable V2 is equal to five times the sine of the variable POS V3 IN 1 The variable V3 is equa...

Страница 122: ...perations 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 quotations Variable values may be assigned to...

Страница 123: ...to the DMC 1000 command Commands which have an associated operand are listed in the Command Reference as Used as an Operand Yes Status commands such as Tell Position return actual values whereas actio...

Страница 124: ...tation V1 _LFX Assign V1 the logical state of the Forward Limit Switch on the X axis V3 TIME Assign V3 the current value of the time clock V4 _HMW Assign V4 the logical state of the Home input on the...

Страница 125: ...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 POS 2 Assigns the second element of the array...

Страница 126: ...Capture COMMAND DESCRIPTION RA n m o p Selects up to four arrays eight arrays for DMC 1080 for data capture The arrays must be defined with the DM command RD type1 type2 type3 type4 Selects the type...

Страница 127: ...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 RD _TPX _TEX _TPY _TEY Select data types PR 10000 20000 S...

Страница 128: ...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 input it in inches Motion starts with a start butt...

Страница 129: ...ys as well as other information using the interrogation commands the interrogation commands are described in chapter 5 Sending Messages Messages may be sent to the bus using the message command MG Thi...

Страница 130: ...ween 1 and 255 Example MG 07 255 sends the ASCII characters represented by 7 and 255 to the bus Summary of Message Functions FUNCTION DESCRIPTION Surrounds text string Fn m Formats numeric values in d...

Страница 131: ...here 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 all the decimal places Examples...

Страница 132: ...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 specifies hexadecimal format The...

Страница 133: ...ntroller interprets time in milliseconds All input parameters must be converted into these units For example an operator can be prompted to input a number in revolutions A program could be used such t...

Страница 134: ...gle 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 Using the output PORT Command op Instruction...

Страница 135: ...l 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 enabled for an interrupt where 20 is bit 1 21 is bit 2...

Страница 136: ...econd example shows a continuous move Example Position Follower Point to Point Objective The motor must follow an analog signal When the analog signal varies by 10V motor must move 10000 counts Method...

Страница 137: ...quals 6370 counts and a slew speed of 5 inches per second for example equals 3185 count sec The input signal may be applied to I1 for example and the output signal is chosen as output 1 The motor velo...

Страница 138: ...ing 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 driven by lead screws with 10 turns per...

Страница 139: ...completion of Z motion CR 80000 270 360 Circle VE VS 40000 Feedrate BGS Start circular move AMS Wait for completion PR 80000 Move Z up BGZ Start Z move AMZ Wait for Z completion PR 21600 Move X SP 20...

Страница 140: ...olution 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 assigns its value to the variable VIN To get a speed...

Страница 141: ...ibed below This design example addresses the basic problems of backlash in motion control systems The objective is to control the position of a linear slide precisely The slide is to be controlled by...

Страница 142: ...s 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 actual position is only 995 implying that X has...

Страница 143: ...124 Chapter 7 Application Programming DMC 1000 THIS PAGE LEFT BLANK INTENTIONALLY Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

Страница 144: ...xis amplifier has separate amplifier enable lines This signal also goes low when the watch dog timer is activated or upon reset Note The standard configuration of the AEN signal is TTL active low Both...

Страница 145: ...on These signals include Signal or Function Indication of Error POSERR Jumps to automatic excess position error subroutine Error Light Turns on when position error exceeds error limit OE Function Shut...

Страница 146: ...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 for the POSERR routine to function Limit Switch...

Страница 147: ...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 PR1000 BGX AMX Move forward END End RE Return to m...

Страница 148: ...uns away when connected to amplifier with no additional inputs Amplifier offset too large Adjust amplifier offset Same as above but offset adjustment does not stop the motor Damaged amplifier Replace...

Страница 149: ...gh gain or too little damping Decrease KI and KP Increase KD Operation SYMPTOM CAUSE REMEDY Controller rejects command Responded with a Invalid Command Interrogate the cause with TC or TC1 Motor does...

Страница 150: ...n 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 The motion profiling is the generation of the...

Страница 151: ...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 Finally it remains up to the servo system to...

Страница 152: ...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 servo loop is very similar Suppose that we wa...

Страница 153: ...bility and accuracy Typically such a filter produces in addition to the proportional gain damping and integrator The combination of the three functions is referred to as a PID filter The filter parame...

Страница 154: ...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 motor parameters and units are Kt Torque constant...

Страница 155: ...n amplifier that performs the commutation The combined transfer function of motor amplifier combination is the same as that of a similar brush motor as described by the previous equations Velocity Loo...

Страница 156: ...encoder generates N pulses per revolution It outputs two signals Channel A and B which are in quadrature Due to the quadrature relationship between the encoder channels the position resolution is incr...

Страница 157: ...grator 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 filter parameters of the DMC 1000 are KP 4 KD 36...

Страница 158: ...igital 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 system elements are Motor M s P I Kt Js2 500 s2...

Страница 159: ...c equals one This can be done by the Bode plot of A j c as shown in Fig 10 8 1 4 0 1 50 200 2000 W rad s Magnitude Figure 10 8 Bode plot of the open loop transfer function For the given example the c...

Страница 160: ...d by a design example Consider a system with the following parameters Kt 0 83 Nm A Torque constant J 2 10 4 kg m2 System moment of inertia R 2 Motor resistance Ka 2 Amp Volt Current amplifier gain N 1...

Страница 161: ...ude of G j500 A j500 L j500 160 and a phase arg G j500 arg A j500 arg L j500 135 194 59 In other words we need to select a filter function G s of the form G s P sD so that at the frequency c 500 the f...

Страница 162: ...ed The procedure is simplified by the following table which summarizes the relationship between the various filters Equivalent Filter Form DMC 1000 18 Digital D z K z A z Cz z 1 Digital D z 4 KP 4 KD...

Страница 163: ...144 Chapter 10 Theory of Operation DMC 1000 THIS PAGE LEFT BLANK INTENTIONALLY Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

Страница 164: ...Input Output Uncommitted Inputs Limits Home Abort Inputs 2 2K ohm in series with optoisolator Requires at least 1 mA for on Can accept up to 28 Volts without additional series resistor Above 28 Volts...

Страница 165: ...00 elements DMC 1040 MX and DMC 1080 Program Size 500 lines x 40 characters 1000 lines x 80 characters DMC 1080 2000 lines x 40 characters DMC 1040 MX Connectors for DMC 1000 Main Board J2 Main 60 pin...

Страница 166: ...General I O 26 pin IDC 1 Analog 1 2 Analog 2 3 Analog 3 4 Analog 4 5 Analog 5 6 Analog 6 7 Analog 7 8 Ground 9 5 Volts 10 Output 1 11 Output 2 12 Output 3 13 Output 4 14 Output 5 15 Output 6 16 Outpu...

Страница 167: ...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 W DIR W 20 Ground J6 Daughter Board Connector 60 pin For use only with a...

Страница 168: ...el B F 43 Channel I F 44 Channel I F 45 Channel A G 46 Channel A G 47 Channel B G 48 Channel B G 49 Channel I G 50 Channel I G 51 Channel A H 52 Channel A H 53 Channel B H 54 Channel B H 55 Channel I...

Страница 169: ...ux A E 18 Aux A E 19 5 Volt 20 Ground JD4 20 pin IDC Amplifiers 1 Motor Command E 2 Amp enable E 3 PWM E Step E 4 Sign E Dir E 5 NC 6 Motor Command F 7 Amp enable F 8 PWM F Step F 9 Sign F Dir F 10 NC...

Страница 170: ...agnitude 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 OUT For stepmotors The STEP OUT pin produces...

Страница 171: ...the controller along with parameter values and saved sequences are restored Forward Limit Switch When active inhibits motion in forward direction Also causes execution of limit switch subroutine LIMSW...

Страница 172: ...MW motors SM must always be jumpered The Analog command is not valid with SM jumpered OPT Reserved JP21 MRST Master Reset enable Returns controller to factory default settings and erases EEPROM Requir...

Страница 173: ...MP 1130 Three axis amplifier AMP 1140 Four axis amplifier MX option Memory expansion option to 2000 lines 8000 array elements 254 labels and 254 variables AF option Analog feedback option Uses analog...

Страница 174: ...x 532 x x x x x 536 x x x x x 540 x x x x 544 x x x x x x 548 x x x x x 552 x x x x x 556 x x x x 560 x x x x x 564 x x x x 568 x x x x 572 x x x 576 x x x x x x 580 x x x x x 584 x x x x x 588 x x x...

Страница 175: ...x 728 x x x 732 x x 736 x x x x 740 x x x 744 x x x 748 x x 752 x x x 756 x x 760 x x 764 x 768 x x x x x x 772 x x x x x 776 x x x x x 780 x x x x 784 x x x x x 788 x x x x 792 x x x x 796 x x x 800...

Страница 176: ...x x x 900 x x x x 904 x x x x 908 x x x 912 x x x x 916 x x x 920 x x x 924 x x 928 x x x x 932 x x x 936 x x x 940 x x 944 x x x 948 x x 952 x x 956 x 960 x x x x 964 x x x 968 x x x 972 x x 976 x x...

Страница 177: ...ascade DON T USE THIS 10 106 or 72h 11 107 or 73h 12 108 or 74h Mouse DSR 13 109 or 75h Math Co processor exception 14 110 or 76h Fixed Disk DON T USE THIS 15 111 or 77h ICM 1100 Interconnect Module T...

Страница 178: ...elow Rev A B Terminal Rev C Terminal Label Description 2 GND Ground 1 1 GND Ground 2 4 ACMDX X input to servo amp 3 3 AENX X amp enable 4 6 PULSX X pulse input for stepper 5 5 DIRX X direction input f...

Страница 179: ...r B 46 48 WAA W Auxiliary encoder A 47 47 WAA W Auxiliary encoder A 48 50 ZAB Z Auxiliary encoder B 49 49 ZAB Z Auxiliary encoder B 50 52 ZAA Z Auxiliary encoder A 51 51 ZAA Z Auxiliary encoder A 52 5...

Страница 180: ...ncoder I 88 90 YI Y Main encoder I 89 89 ZA Z Main encoder A 90 92 ZA Z Main encoder A 91 91 ZB Z Main encoder B 92 94 ZB Z Main encoder B 93 93 ZI Z Main encoder I 94 96 ZI Z Main encoder I 95 95 WA...

Страница 181: ...7 CHB 8 CHB 9 INDEX 10 INDEX CAUTION The ICM 1100 10 pin connectors are designed for the N23 and N34 encoders from Galil If you are using Galil s Motor 5 500 Motor 50 1000 or Motor 500 1000 you must...

Страница 182: ...Weight 4 pounds Mounting Keyholes 1 4 Gain 1 amp volt DB 10072 OPTO 22 Expansion Option The DB 10072 is a separate full length PC card designed to work with OPTO 22 I O isolation products that featur...

Страница 183: ...utput bits The OQ command set 16 bits at one time The command syntax for the command is the following OQ m n o where m n and o range from 0 to 65535 The data fields define the outputs as follows Field...

Страница 184: ...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 volts 50 Ground J2 Pinout P...

Страница 185: ...64 2 Ground 3 7 6 63 4 Ground 5 7 5 62 6 Ground 7 7 4 61 8 Ground 9 7 3 60 10 Ground 11 7 2 59 12 Ground 13 7 1 58 14 Ground 15 7 0 57 16 Ground 17 8 7 72 18 Ground 19 8 6 71 20 Ground 21 8 5 70 22 Gr...

Страница 186: ...1 through 8 on the DMC 1000 n 1 reads inputs 9 through 16 on the DB 10096 n 2 reads inputs 17 through 24 and so on as shown in the table below For example if inputs 17 through 24 are high V1 _TI2 assi...

Страница 187: ...1 out 26 22 out 27 23 out 28 24 out 29 25 out 30 26 out 31 27 out 32 28 out 33 29 out 34 30 out 35 31 out 36 32 out 37 33 out 38 34 out 39 35 out 40 36 NC 37 NC 38 GND 39 GND 40 NC 41 in 9 42 in 10 43...

Страница 188: ...23 in 44 24 in 45 25 in 46 26 in 47 27 in 48 28 in 49 29 in 50 30 in 51 31 in 52 32 in 53 33 in 54 34 in 55 35 in 56 36 NC 37 NC 38 GND 39 GND 40 NC 41 in 57 42 in 58 43 in 59 44 in 60 45 in 61 46 in...

Страница 189: ...th 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 point of the sequence Each linear segment is spec...

Страница 190: ...nd 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 distance is given by D Lk k n 1 The velocity profile may be speci...

Страница 191: ...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 the position point along the path starting at A and en...

Страница 192: ...16 bits Maximum move length 8 x 106 8 x 106 2 x 109 Sample time 1 msec 1 msec 0 5 msec 4 axes Program memory 500 lines 32 chr 500 lines 32 chr 500 lines 40 chr EEPROM memory for parameter storage Non...

Страница 193: ...ED Edit mode EN End program EO Echo ON OFF ER Define error limit FA Acceleration feedforward FE Find edge GN Gain HM Home II Interrupt for input IN Input prompt IP Increment position JG Jog mode JP C...

Страница 194: ...te program ZR Filter zero ZS Zero subroutine stack New Commands AL Arm latch AR After relative distance trippoint AT After time AV After vector distance trippoint A i n Define array element BL Set rev...

Страница 195: ...n TN Tangent TV Tell velocity VD Vector deceleration VE Vector sequence end VF Variable format VM Coordinated motion mode VT Vector time constant S curve WC Wait for contour data Deleted Commands Dele...

Страница 196: ...Enable S curve Use VT VR Specify S curve Use VT ZM Zero master Use Electronic Gearing GA GR DMC 600 DMC 1000 Pin out Conversion Table DMC 600 DMC 1000 Function Pin Pin 1 1 Ground 2 2 5V 3 3 Error 4 4...

Страница 197: ...38 1 60 Ground 39 N C 40 18 J5 Input 8 41 19 J5 Input 7 42 20 J5 Input 6 43 21 J5 Input 5 44 22 J5 Input 4 45 23 J5 Input 3 46 24 J5 Input 2 47 25 J5 Input 1 48 8 J5 Ground 49 17 J5 Output 7 50 16 J5...

Страница 198: ...Control by Microprocessors by Dr Jacob Tal Contacting Us Galil Motion Control 203 Ravendale Drive Mountain View CA 94043 Phone 650 967 1700 Fax 650 967 1751 BBS 650 964 8566 8 N 1 up to 14 400 baud I...

Страница 199: ...d with transportation and insurance prepaid We will reship at our expense only to destinations in the United States Any defect in materials or workmanship determined by Galil Motion Control to be attr...

Страница 200: ...Auxiliary Encoder 1 5 25 59 71 75 150 152 160 1 5 25 59 71 75 150 152 Dual Encoder 74 107 74 107 B Backlash 73 75 122 73 75 122 Backlash Compensation Dual Loop 71 75 71 75 122 71 75 71 75 122 Begin Mo...

Страница 201: ...5 25 59 71 75 71 75 150 152 Differential 12 14 130 12 15 130 Dual Encoder 74 107 74 107 Index Pulse 12 26 78 12 26 78 Quadrature 1 3 4 114 118 126 137 1 3 4 114 118 126 137 Error Handling 25 86 97 98...

Страница 202: ...04 23 95 103 104 Interrogation 19 20 43 44 110 111 19 20 43 44 110 111 Interrupt 1 3 6 7 9 33 34 36 39 86 87 93 97 98 116 1 3 6 7 9 33 34 36 39 86 87 93 97 98 116 Invert Loop Polarity 130 J Jog 20 92...

Страница 203: ...of Data 110 Clear Bit 114 Set Bit 114 P PID 14 134 138 143 15 134 138 143 Play Back 108 POSERR 86 97 98 126 27 86 97 98 126 27 Position Error 13 19 14 19 Position Capture 81 Latch 30 81 30 81 Teach 70...

Страница 204: ...1 Play Back 108 Position Capture 81 Record 68 70 105 108 109 68 70 105 108 109 Tell Error Position Error 13 19 14 19 Tell Position 39 92 104 6 39 92 104 6 Terminal 26 29 83 103 111 25 29 83 103 111 Th...

Страница 205: ...188 Index DMC 1000 Z Zero Stack 100 116 100 116 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com...

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

Отзывы: