Galil DMC-2010 User Manual

Manual is about: Motion Controller DMC-2x00 Series

Summary of DMC-2010

  • Page 1

    User manual dmc-2x00 manual rev. 2.1 by galil motion control, inc. Galil motion control, inc. 270 technology way rocklin, california 95765 phone: (916) 626-0101 fax: (916) 626-0102 e-mail address: support@galilmc.Com url: www.Galilmc.Com rev 03/2011.

  • Page 2: Using This Manual

    Using this manual this user manual provides information for proper operation of the dmc-2x00 controller. A separate supplemental manual, the command reference, contains a description of the commands available for use with this controller. Your dmc-2x00 motion controller has been designed to work wit...

  • Page 3: Contents

    Contents using this manual ....................................................................................................................Ii contents i chapter 1 overview 1 introduction ................................................................................................................

  • Page 4

    Step 3b. Configure dip switches on the dmc-2100.................................................17 step 3c. Configure dip switches on the dmc-2200.................................................17 step 4. Install the communications software..............................................................

  • Page 5

    Chapter 4 communication 47 introduction .............................................................................................................................47 rs232 ports ...........................................................................................................................

  • Page 6

    Specifying the coordinate plane ...............................................................................81 specifying linear segments......................................................................................81 additional commands.......................................................

  • Page 7

    Chapter 7 application programming 121 overview ............................................................................................................................... 121 using the dos editor to enter programs (dmc-2000 only) ................................................ 121 edit mode com...

  • Page 8

    Extended i/o of the dmc-2x00 controller ........................................................................... 162 configuring the i/o of the dmc-2x00.................................................................... 162 saving the state of the outputs in non-volatile memory.....................

  • Page 9

    Dmc-2x00 axes a-d high density connector...................................................... 194 dmc-2x00 axes e-h high density connector...................................................... 195 dmc-2x00 auxiliary encoder 36 pin high density connector ............................. 196 dmc-2x00 ex...

  • Page 10

    Keypad maps - hand-held...................................................................................... 241 keypad map - panel mount – 6 columns x 5 rows ................................................. 242 configuration............................................................................

  • Page 11: Chapter 1 Overview

    Chapter 1 overview introduction the dmc-2x00 series are galil’s highest performance stand-alone controller. The controller series offers many enhanced features including high speed communications, non-volatile program memory, faster encoder speeds, and improved cabling for emi reduction. Each dmc-2x...

  • Page 13: Overview of Motor Types

    Environmental specifications description unit specification ----------- ---- ------------- storage temperature c -25 to +70 operating temperature c 0 to +70 operating altitude feet 10,000 equipment maintenance the dmc-2000 does not require maintenance. Overview of motor types the dmc-2x00 can provid...

  • Page 14: Overview of Amplifiers

    Upon reset. This allows the motor to function immediately upon power up. The hall effect sensors also provide a method for setting the precise commutation phase. Chapter 2 describes the proper connection and procedure for using sinusoidal commutation of brushless motors. Stepper motor with step and ...

  • Page 15: Dmc-2X00 Functional Elements

    Dmc-2x00 functional elements the dmc-2x00 circuitry can be divided into the following functional groups as shown in figure 1.1 and discussed below. Watchdog timer 68331 microcomputer with 4 meg ram 4 meg flash eeprom high-speed motor/encoder interface for a,b,c,d i/o interface usb/ethernet rs-232 / ...

  • Page 16

    General i/o the dmc-2x00 provides interface circuitry for 8 bi-directional, optoisolated inputs, 8 ttl outputs and 8 analog inputs with 12-bit adc (16-bit optional). The dmc-2x00 also has an additional 64 i/o and unused auxiliary encoder inputs may also be used as additional inputs (2 inputs / each ...

  • Page 17

    Encoder an encoder translates motion into electrical pulses which are fed back into the controller. The dmc- 2x00 accepts feedback from either a rotary or linear encoder. Typical encoders provide two channels in quadrature, known as cha and chb. This type of encoder is known as a quadrature encoder....

  • Page 18

    This page left blank intentionally 8 • chapter 1 overview dmc-2x00

  • Page 20: The Dmc-2000 Daughter Board

    The dmc-2000 daughter board j4 cmb-2001 rev c usb daughter card galil motion control u9 j6 mrs t xo n x o f hs hk 96 00 19 .2 38 a2 a1 a0 us b extended i/o j1 j3 m a de i n us a 1 a1 b1 c1 aux jp 4 jp 3 r 232 r 232 r 232 r 485 te r m main j5 usb in usb out te r m r 485 r 232 r 232 r 232 r4 2 2 s 8 8...

  • Page 21: The Dmc-2200 Daughter Board

    The dmc-2200 daughter board d1 d2 j2 jp3 u1 4 jp4 jp5 u15 u16 u6 u4 u1 j8 a1 b1 c1 j7 10 base-f receiver 10 base-2 10 base-f transmitter 100 base-t aux serial port db-9 female main serial port db-9 male configuration dip switches 80 pin high density connector for extended i/o communications status l...

  • Page 22: Elements You Need

    Elements you need galil icm-2900 icm-2908 icm-2900 0 1 3 2 7 6 4 5 iom-1964-80 power cable (included with the controller) icm-2900 provides connection to signals for axes e-h icm-2908 provides connection to all auxiliary encoder signals cable-36-1m (1meter) or cable-36-4m (4meter) cable-100-1m or ca...

  • Page 23

    Icm-2900 icm-2908 icm-2900 0 1 3 2 7 6 4 5 iom-1964-80 galil power cable (included with the controller) icm-2900 provides connection to signals for axes e-h icm-2908 provides connection to all auxiliary encoder signals cable-36-1m (1meter) or cable-36-4m (4meter) cable-100-1m or cable-100-4m cable 9...

  • Page 24: Installing The Dmc-2X00

    5. Motor amplifiers. 6. Power supply for amplifiers. 7. Brush or brushless servo motors with optical encoders or stepper motors. 8. Pc (personal computer - rs232 or usb for dmc-2000 or ethernet for dmc-2100) 9a. Wsdk-16 or wsdk-32 (recommend for first time users.) or 9b. Dmcwin16, dmcwin32 or dmcdos...

  • Page 25

    Sinusoidal commutation: sinusoidal commutation is configured through a single software command, ba. This configuration causes the controller to reconfigure the number of available control axes. Each sinusoidally commutated motor requires two dacs. In standard servo operation, the dmc-2x00 has one da...

  • Page 26

    Stepper motor jumpers for each axis that will used for stepper motor operation, the corresponding stepper mode (sm) jumper must be connected. The stepper mode jumpers, labeled jp5 and jp7 are located directly beside the gl-1800 ic's on the main board (see the diagram of the dmc-2x00). The individual...

  • Page 27

    Switch 4, 5 and 6 - main serial port baud rate the following table describes the baud rate settings: 9600 19.2 3800 baud rate on on off 1200 on off off 9600 off on off 19200 off off on 38400 off on on 115200 switch 10 - usb when on, the controller will use the usb port as a default port for messages...

  • Page 28

    Switch 4,5 and 6 - main serial port baud rate the following table describes the baud rate settings: 9600 19.2 3800 baud rate on on off 1200 on off off 9600 off on off 19200 off off on 38400 off on on 115200 switch 7-option when off, the controller will use the auto-negotiate function to set the ethe...

  • Page 29

    Step 6. Establish communications with galil software communicating through the main serial communications port connect the dmc-2x00 main serial port to your computer via the galil cable-9pin-d (rs-232 cable). Using galil software for dos (serial communication only) to communicate with the dmc-2000, ...

  • Page 30

    Using non-galil communication software the dmc-2x00 main serial port is configured as dataset. Your computer or terminal must be configured as a dataterm for full duplex, no parity, 8 data bits, one start bit and one stop bit. Check to insure that the baud rate switches have been set to the desired ...

  • Page 31

    Address you entered to the controller with the specified serial number. Click on yes to assign it, no to move to next controller, or cancel to not save the changes. If there are no controllers on the network that do not have an ip address assigned, the program will state this. When done registering,...

  • Page 32

    Step 8. Make connections to amplifier and encoder. Once you have established communications between the software and the dmc-2x00, you are ready to connect the rest of the motion control system. The motion control system typically consists of an icm-2900 interface module, an amplifier for each axis ...

  • Page 33

    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 the encoder wiring is consistent with that definition. The dmc-2x00 accepts single-ended or differential encoder feedback with or w...

  • Page 34

    Step 9a. Connect standard servo motors the following discussion applies to connecting the dmc-2x00 controller to standard servo motor amplifiers: the motor and the amplifier may be configured in the torque or the velocity mode. In the torque mode, the amplifier gain should be such that a 10 volt sig...

  • Page 35

    Step d. Connect the motor once the parameters have been set, connect the analog motor command signal (acmd) to the amplifier input. To test the polarity of the feedback, command a move with the instruction: pr 1000 position relative 1000 counts bga begin motion on a axis when the polarity of the fee...

  • Page 36

    Dc s e rv o mo to r - + encoder icm-2900 mocmdz signz pw mz gnd mocmdx signx pw mx out pw r error cmp out gnd out5 out6 out7 out8 mocmdw signw pw mw gnd mocmdy signy pw my gnd +5v homez rlsz flsz homex rlsx flsx gnd in5 in6 in7 in8 +5v +12v -12v ana gnd analog5 analog6 analog7 analog8 +5v +5v +iny -...

  • Page 37

    Step 9b. Connect sinusoidal commutation motors when using sinusoidal commutation, the parameters for the commutation must be determined and saved in the controller’s non-volatile memory. The setup for sinusoidal commutation is different when using hall sensors. Each step which is affected by hall se...

  • Page 38

    The user must specify the value for v and t. For example, the command: bsa = 2,700 will test the a axis with a voltage of 2 volts, applying it for 700 millisecond for each phase. In response, this test indicates whether the dac wiring is correct and will indicate an approximate value of bm. If the w...

  • Page 39

    Warning: this command must move the motor to find the zero commutation phase. This movement is instantaneous and will cause the system to jerk. Larger applied voltages will cause more severe motor jerk. The applied voltage will typically be sufficient for proper operation of the bz command. For syst...

  • Page 40

    Step 9c. Connect step motors in stepper motor operation, the pulse output signal 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. If an encoder ...

  • Page 41: Design Examples

    For more damping, you can increase kd (maximum is 4095). Increase gradually and stop after the motor vibrates. A vibration is noticed by audible sound or by interrogation. If you send the command te a tell error a few times, and get varying responses, especially with reversing polarity, it indicates...

  • Page 42

    Profiled move rotate the a axis a distance of 10,000 counts at a slew speed of 20,000 counts/sec and an acceleration and deceleration rates of 100,000 counts/s2. In this example, the motor turns and stops: instruction interpretation pr1000 distance sp20000 speed dc 100000 deceleration ac 100000 acce...

  • Page 43

    The position error, which is the difference between the commanded position and the actual position can be interrogated with the instruction te. Instruction interpretation te tell error – all axes te a tell error – a axis only te b tell error – b axis only te c tell error – c axis only te d tell erro...

  • Page 44

    Operation under torque limit the magnitude of the motor command may be limited independently by the instruction tl. Instruction interpretation tl 0.2 set output limit of a axis to 0.2 volts jg 10000 set a speed bg a start a motion in this example, the a motor will probably not move since the output ...

  • Page 45

    Line # instruction interpretation 000 #a define label 001 pr 700 distance 002 sp 2000 speed 003 bga start a motion 004 en end program to exit the editor mode, input q. The program may be executed with the command. Xq #a start the program running if the ed command is issued from the galil windows ter...

  • Page 46

    Ap ,50000 wait until position b=50000 sp ,10000 change speed of b en end program to start the program, command: xq #b execute program #b control variables objective: to show how control variables may be utilized. Instruction interpretation #a;dp0 label; define current position as zero pr 4000 initia...

  • Page 47

    Instruction interpretation lm abc specify linear interpolation 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 circular interpolation objective: move the ab axes in circul...

  • Page 48

    This page left blank intentionally 38 • chapter 2 getting started dmc-2x00

  • Page 49: Overview

    Chapter 3 connecting hardware overview the dmc-2x00 provides opto-isolated digital inputs for forward limit , reverse limit, home , and abort signals. The controller also has 8 opto-isolated, uncommitted inputs (for general use) as well as 8 ttl outputs and 8 analog inputs configured for voltages be...

  • Page 50

    Home switch input homing inputs are designed to provide mechanical reference points for a motion control application. A transition in the state of a home input alerts the controller that a particular reference point has been reached by a moving part in the motion control system. A reference point ca...

  • Page 51

    Longer under servo control. If the off-on-error function is disabled, the motor will decelerate to a stop as fast as mechanically possible and the motor will remain in a servo state. All motion programs that are currently running are terminated when a transition in the abort input is detected. For i...

  • Page 52

    Inco m in1 in2 in3 in4 in5 in6 in7 in8 abor t lscom flsa rlsa homea flsb rlsb homeb additional limit switches(dependent on number of axes) (alatch) (blatch) (clatch) (dlatch) figure 3-1. The optoisolated inputs. Note: controllers with 5 or more axes have in[9] through in[16] also connected to incom....

  • Page 53: Analog Inputs

    Lscom flsa external resistor needed for voltages > +24v lscom flsa external resistor needed for voltages > +24v configuration to source current at lscom terminal and sink switch configuration to sink current at lscom terminal and source switch 2.2k 2.2k figure 3-2. Connecting a single limit or home ...

  • Page 54: Ttl Inputs

    Command (enable off-on-error) is given and the position error exceeds the error limit. As shown in figure 3-4, ampen can be used to disable the amplifier for these conditions. The standard configuration of the ampen signal is ttl active high. In other words, the ampen signal will be high when the co...

  • Page 55: Ttl Outputs

    Each input from the auxiliary encoder is a differential line receiver and can accept voltage levels between +/- 12 volts. The inputs have been configured to accept ttl level signals. To connect ttl signals, simply connect the signal to the + input and leave the - input disconnected. For other signal...

  • Page 56

    Error output the controller provides a ttl signal, error, to indicate a controller error condition. When an error condition occurs, the error signal will go low and the controller led will go on. An error occurs because of one of the following conditions: 1. At least one axis has a position error gr...

  • Page 57: Chapter 4 Communication

    Chapter 4 communication introduction the dmc-2x00 has two rs232 ports, and either one usb input port and 2 usb output ports, or ethernet ports. The main rs-232 port is the data set and can be configured through the switches on the front panel. The auxiliary rs-232 port is the data term and can be co...

  • Page 58

    *rs422 - main port {p1} 1 cts - output 6 cts+ output 2 transmit data - output 7 transmit+ output 3 receive data - input 8 receive+ input 4 rts - input 9 rts+ input 5 ground *rs422 - auxiliary port {p2} 1 cts - input 6 cts+ input 2 receive data - input 7 receive+ input 3 transmit data - output 8 tran...

  • Page 59

    (configure communication) at port 2. The command is in the format of: cc m,n,r,p where m sets the baud rate, n sets for either handshake or non-handshake mode, r sets for general port or the auxiliary port, and p turns echo on or off. M - baud rate - 300,1200,4800,9600,19200,38400 n - handshake - 0=...

  • Page 60

    Example- daisy chain objective: control a 7-axis motion system using two controllers, a dmc-2040 4 axis controller and a dmc-2030 3 axis controller. Address 0 is the dmc-2040 and address 1 is the dmc-2030. Desired motion profile: address 0 (dmc-2040) a axis is 500 counts b axis is 1000 counts c axis...

  • Page 61

    Although udp/ip is more efficient and simple, galil recommends using the tcp/ip protocol. Tcp/ip insures that if a packet is lost or destroyed while in transit, it will be resent. Ethernet communication transfers information in ‘packets’. The packets must be limited to 470 data bytes or less. Larger...

  • Page 62

    The second method for setting an ip address is to send the ia command through the dmc-2100/2200 main rs-232 port. The ip address you want to assign may be entered as a 4 byte number delimited by commas (industry standard uses periods) or a signed 32 bit number (ex. Ia 124,51,29,31 or ia 2083724575)....

  • Page 63

    Communicating with multiple devices the dmc-2100/2200 is capable of supporting multiple masters and slaves. The masters may be multiple pc's that send commands to the controller. The slaves are typically peripheral i/o devices that receive commands from the controller. Note: the term "master" is equ...

  • Page 64

    Mbh = -1,len,array[] where len is the number of bytes array[] is the array with the data the second level incorporates the modbus structure. This is necessary for sending configuration and special commands to an i/o device. The formats vary depending on the function code that is called. For more inf...

  • Page 65: Data Record

    Data record the dmc-2x00 can provide a block of status information with the use of a single command, qr. This command, along with the qz command can be very useful for accessing complete controller status. The qr command will return 4 bytes of header information and specific blocks of information as...

  • Page 66

    Sl distance traveled in coordinated move for t plane t block uw a axis status a block ub a axis switches a block ub a axis stop code a block sl a axis reference position a block sl a axis motor position a block sl a axis position error a block sl a axis auxiliary position a block sl a axis velocity ...

  • Page 67

    Sl e axis motor position e block sl e axis position error e block sl e axis auxiliary position e block sl e axis velocity e block sw e axis torque e block sw e axis analog e block uw f axis status f block ub f axis switches f block ub f axis stop code f block sl f axis reference position f block sl ...

  • Page 68

    In data record in data record in data record bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 h block present in data record g block present in data record f block present in data record e block present in data record d block present in data record c block present in data record b block present in da...

  • Page 69

    Switch coordinated motion status information for s or t plane (2 byte) bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 move in progress n/a n/a n/a n/a n/a n/a n/a bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 n/a n/a motion is slewing motion is stopping due to st or limit switch motion is m...

  • Page 70

    For instructions that return data, such as tell position (tp), the dmc-2x00 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 prevent errors. An echo function is provided to enable associating the dmc-2x00 response ...

  • Page 71: Chapter 5  Command Basics

    Chapter 5 command basics introduction the dmc-2x00 provides over 100 commands for specifying motion and machine parameters. Commands are included to initiate action, interrogate status and configure the digital filter. These commands can be sent in ascii or binary. In ascii, the dmc-2x00 instruction...

  • Page 72

    To view the current values for each command, type the command followed by a ? For each axis requested. Pr 1000 specify a only as 1000 pr ,2000 specify b only as 2000 pr ,,3000 specify c only as 3000 pr ,,,4000 specify d only as 4000 pr 2000, 4000,6000, 8000 specify a,b,c and d pr ,8000,,9000 specify...

  • Page 73: Command Syntax - Binary

    Command syntax - binary some commands have an equivalent binary value. Binary communication mode can be executed much faster than ascii commands. Binary format can only be used when commands are sent from the pc and cannot be embedded in an application program. Binary command format all binary comma...

  • Page 74

    Bit 1 = b axis or 2 nd data field bit 0 = a axis or 1 st data field datafields format datafields must be consistent with the format byte and the axes byte. For example, the command pr 1000,, -500 would be a7 02 00 05 03 e8 fe 0c where a7 is the command number for pr 02 specifies 2 bytes for each dat...

  • Page 75: Controller Response to Data

    Ac 90 reserved bb cn e6 dc 91 reserved bc lz e7 sp 92 cm bd op e8 it 93 cd be ob e9 fa 94 dt bf sb ea fv 95 et c0 cb eb gr 96 em c1 ii ec dp 97 ep c2 ei ed de 98 eg c3 al ee of 99 eb c4 reserved ef gm 9a eq c5 reserved f0 reserved 9b ec c6 reserved f1 reserved 9c reserved c7 reserved f2 reserved 9d ...

  • Page 76: Interrogating The Controller

    Interrogating the controller interrogation commands the dmc-2x00 has a set of commands that directly interrogate the controller. When 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...

  • Page 77

    All of the command operands begin with the underscore character (_). For example, the value of the current position on the a axis can be assigned to the variable ‘v’ with the command: v=_tpa the command reference denotes all commands which have an equivalent operand as "used as an operand". Also, se...

  • Page 78

    This page left blank intentionally 68 • chapter 5 command basics dmc-2x00

  • Page 79: Overview

    Chapter 6 programming motion overview the dmc-2x00 provides several modes of motion, including independent positioning and jogging, coordinated motion, electronic cam motion, and electronic gearing. Each one of these modes is discussed in the following sections. The dmc-2x10 is a single axis control...

  • Page 80: Independent Axis Positioning

    2-d motion path consisting of arc segments and linear segments, such as engraving or quilting. Coordinated motion vm vp cr vs,vr va,vd ve third axis must remain tangent to 2-d motion path, such as knife cutting. Coordinated motion with tangent axis specified vm vp cr vs,va,vd tn ve electronic gearin...

  • Page 81

    Acceleration ramp (ac), and deceleration ramp (dc), for each axis. On begin (bg), the dmc-2x00 profiler generates the corresponding trapezoidal or triangular velocity profile and position trajectory. The controller determines a new command position along the trajectory every sample period until the ...

  • Page 82

    _pax returns current destination if ‘x’ axis is moving, otherwise returns the current commanded position if in a move. _prx returns current incremental distance specified for the ‘x’ axis examples absolute position movement instruction interpretation pa 10000,20000 specify absolute a,b position ac 1...

  • Page 83: Position Tracking

    Velocity (counts/sec) 20000 10000 5000 15000 20 40 60 80 time (ms) 100 a axis velocity profile b axis velocity profile c axis velocity profile 0 figure 6.1 - velocity profiles of abc notes on fig 6.1: the a and b axis have a ‘trapezoidal’ velocity profile, while the c axis has a ‘triangular’ velocit...

  • Page 84

    The position tracking mode shouldn’t be confused with the contour mode. The contour mode allows the user to generate custom profiles by updating the reference position at a specific time rate. In this mode, the position can be updated randomly or at a fixed time rate, but the velocity profile will a...

  • Page 85

    Figure 1 position vs time (msec) motion 1 example motion 2: the previous step showed the plot if the motion continued all the way to 5000, however partway through the motion, the object that was being tracked changed direction, so the host program determined that the actual target position should be...

  • Page 86

    Figure 2: position vs. Time (msec) motion 2 figure 3 velocity vs time (msec) motion 2 example motion 4 in this motion, the host program commands the controller to begin motion towards position 5000, changes the target to -2000, and then changes it again to 8000. Figure 4 shows the plot of position v...

  • Page 87

    Figure 4 position vs. Time (msec) motion 4 figure 5 velocity vs.Time motion 4 dmc-2x00 chapter 6 programming motion y 77.

  • Page 88

    Figure 6 velocity cts/sec vs. Time (msec) with it motion 4 note the controller treats the point where the velocity passes through zero as the end of one move, and the beginning of another move. It is allowed, however it will introduce some time delay. Trip points most trip points are valid for use w...

  • Page 89: Independent Jogging

    Command summary – position tracking mode command description ac n,n,n,n,n,n,n,n acceleration settings for the specified axes ap n,n,n,n,n,n,n,n trip point that holds up program execution until an absolute position has been reached dc n,n,n,n,n,n,n,n deceleration settings for the specified axes mf n,...

  • Page 90

    _dcx return deceleration rate for the axis specified by ‘x’ _spx returns the jog speed for the axis specified by ‘x’ _tvx returns the actual velocity of the axis specified by ‘x’ (averaged over .25 sec) examples jog in x only jog a motor at 50000 count/s. After a motor is at its jog speed, begin jog...

  • Page 91: Linear Interpolation Mode

    Linear interpolation mode the dmc-2x00 provides a linear interpolation mode for 2 or more axes. In linear interpolation mode, motion between the axes is coordinated to maintain the prescribed vector speed, acceleration, and deceleration along the specified path. The motion path is described in terms...

  • Page 92

    Additional commands the commands vs n, va n, and vd n are used to specify the vector speed, acceleration and deceleration. The dmc-2x00 computes the vector speed based on the axes specified in the lm mode. For example, lm abc designates linear interpolation for the a,b and c axes. The vector speed f...

  • Page 93

    Command summary - linear interpolation command description lm abcdefgh specify axes for linear interpolation lm? Returns number of available spaces for linear segments in dmc-2x00 sequence buffer. Zero means buffer full. 512 means buffer empty. Li a,b,c,d,e,f,g,h specify incremental distances relati...

  • Page 94

    Dp 0,0 define position of a and b axes to be 0 lmab define linear mode between a and b axes. Li 5000,0 specify first linear segment li 0,5000 specify second linear segment le end linear segments vs 4000 specify vector speed bgs begin motion sequence av 4000 set trip point to wait until vector distan...

  • Page 95

    Position c 0 0 40000 feedrate 0 0.1 0.5 0.6 4000 36000 30000 27000 3000 velocity c-axis velocity d-axis position d time (sec) time (sec) time (sec) figure 6.2 - linear interpolation dmc-2x00 chapter 6 programming motion y 85.

  • Page 96

    Multiple moves this example makes a coordinated linear move in the ab plane. The arrays va and vb are used to store 750 incremental distances which are filled by the program #load. Instruction interpretation #load load program dm va [750],vb [750] define array count=0 initialize counter n=10 initial...

  • Page 97

    To specify vector commands the coordinate plane must first be identified. This is done by issuing the command cas to identify the s plane or cat to identify the t plane. All vector commands will be applied to the active coordinate system until changed with the ca command. Specifying vector segments ...

  • Page 98

    The first command, cause an acceleration toward the new commanded speeds, subjects to the other constraints. The second function, > m, requires the vector speed to reach the value m at the end of the segment. Note that the function > m may start the deceleration within the given segment or during pr...

  • Page 99

    Va n specify vector acceleration along the sequence. Vd n specify vector deceleration along the sequence. Vr n specify vector speed ratio bgs begin motion sequence. Cs clear sequence. Av n trip point for after relative vector distance, n. Ams holds execution of next command until motion sequence is ...

  • Page 100

    Pa 3000,0,_tn move a and b to starting position, move c to initial tangent position bg abc start the move to get into position am abc when the move is complete sb0 engage knife wt50 wait 50 msec for the knife to engage bgs do the circular cut ams after the coordinated move is complete cb0 disengage ...

  • Page 101: Electronic Gearing

    C (-4000,3000) r = 1500 b (-4000,0) d (0,3000) a (0,0) figure 6.3 - the required path electronic gearing this mode allows up to 8 axes to be electronically geared to some master axes. The masters may rotate in both directions and the geared axes will follow at the specified gear ratio. The gear rati...

  • Page 102

    And command maximum current to the motor. This can be a large shock to the system. For many applications it is acceptable to slowly ramp the engagement of gearing over a greater time frame. Galil allows the user to specify an interval of the master axis over which the gearing will be engaged. For ex...

  • Page 103

    The slave axis for each figure is shown in the bottom portion of the figure; the master axis is shown in the top portion. The shock to the slave axis will be significantly less in figure 2 than in figure1. The ramped gearing does have one consequence. There isn’t a true synchronization of the two ax...

  • Page 104

    Gr a,b,c,d,e,f,g,h sets gear ratio for slave axes. 0 disables electronic gearing for specified axis. Gm a,b,c,d,e,f,g,h x = 1 sets gantry mode, 0 disables gantry mode mr x,y,z,w trippoint for reverse motion past specified value. Only one field may be used. Mf x,y,z,w trippoint for forward motion pas...

  • Page 105: Electronic Cam

    You may also perform profiled position corrections in the electronic gearing mode. Suppose, for example, that you need to advance the slave 10 counts. Simply command ip ,10 specify an incremental position movement of 10 on b axis. Under these conditions, this ip command is equivalent to: pr,10 speci...

  • Page 106

    The cycle of the master is limited to 8,388,607 whereas the slave change per cycle is limited to 2,147,483,647. If the change is a negative number, the absolute value is specified. For the given example, the cycle of the master is 6000 counts and the change in the slave is 1500. Therefore, we use th...

  • Page 107

    Master a 4000 2250 2000 6000 3000 1500 0 figure 6.4: electronic cam example this disengages the slave axis at a specified master position. If the parameter is outside the master cycle, the stopping is instantaneous. Step 8. Create program to generate ecam table to illustrate the complete process, co...

  • Page 108

    Instruction interpretation #setup label eaa select a as master em 2000,1000 cam cycles ep 20,0 master position increments n = 0 index #loop loop to construct table from equation p = n ∗ 3.6 note 3.6 = 0.18 ∗20 s = @sin [p] *100 define sine position b = n *10+s define slave position et [n] =, b defin...

  • Page 109

    Operand summary - electronic cam command description _eb contains state of ecam _ec contains current ecam index _ega contains ecam status for each axis _em contains size of cycle for each axis _ep contains value of the ecam table interval _eqx contains ecam status for each axis example electronic ca...

  • Page 110: Contour Mode

    Figure 6.5 – position profiles of xyz contour mode the dmc-2x00 also provides a contouring mode. This mode allows any arbitrary position curve to be prescribed for 1 to 8 axes. This is ideal for following computer generated paths such as parabolic, spherical or user-defined profiles. The path is not...

  • Page 111

    Increment 1 da=48 time=4 dt=2 increment 2 da=240 time=8 dt=3 increment 3 da=48 time=16 dt=4 when the controller receives the command to generate a trajectory along these points, it interpolates linearly between the points. The resulting interpolated points include the position 12 at 1 msec, position...

  • Page 112

    Command summary - contour mode command description cm abcdefgh specifies which axes for contouring mode. Any non-contouring axes may be operated in other modes. Cd a,b,c,d,e,f,g,h specifies position increment over time interval. Range is +/-32,000. (zero ends contour mode, when issued following dt0)...

  • Page 113

    Figure 6.7 - velocity profile with sinusoidal acceleration the dmc-2x00 can compute trigonometric functions. However, the argument must be expressed in degrees. Using our example, the equation for a is written as: a = 50t - 955 sin 3t a complete program to generate the contour movement in this examp...

  • Page 114

    Jp #c,c en end first program #run program to run motor cma contour mode dt3 4 millisecond intervals c=0 #e cd dif[c] contour distance is in dif wc wait for completion c=c+1 jp #e,c dt0 cd0 stop contour en end the program teach (record and play-back) several applications require teaching the machine ...

  • Page 115: Virtual Axis

    Sha servo here wt1000 wait 1 sec (1000 msec) cma specify contour mode on a axis dt2 set contour data rate to be 2 2 msec i=0 set array index to 0 #loop3 subroutine to execute contour points cd dx[i];wc contour data command; wait for next contour point i=i+1 update index jp#loop3,i continue until all...

  • Page 116: Stepper Motor Operation

    Instruction interpretation vman select axes va 68000000 maximum acceleration vd 68000000 maximum deceleration vs 125664 vs for 20 hz cr 1000, -90, 3600 ten cycles ve bgs stepper motor operation when configured for stepper motor operation, several commands are interpreted differently than from servo ...

  • Page 117

    First, the controller generates a motion profile in accordance with the motion commands. Second, the profiler generates pulses as prescribed by the motion profile. The pulses that are generated by the motion profiler can be monitored by the command, rp (reference position). Rp gives the absolute val...

  • Page 118

    Mt motor type (2,-2,2.5 or -2.5 for stepper motors) rp report commanded position td report number of step pulses generated by controller tp tell position of encoder operand summary - stepper motor operation operand description _dea contains the value of the step count register for the ‘a’ axis _dpa ...

  • Page 119

    When a galil controller is configured for step motor operation, the step pulse output by the controller is internally fed back to the auxiliary encoder register. For spm the feedback encoder on the stepper will connect to the main encoder port. Enabling the spm mode on a controller with ys=1 execute...

  • Page 120

    Half-stepping drive, x axis: #setup oe1; set the profiler to stop axis upon error ks16; set step smoothing mt-2; motor type set to stepper ya2; step resolution of the half-step drive yb200; motor resolution (full steps per revolution) yc4000; encoder resolution (counts per revolution) shx; enable ax...

  • Page 121

    Sp512; set the speed pr1000; prepare mode of motion bgx; begin motion #loop;jp#loop; keep thread zero alive for #poserr to run in rem when error occurs, the axis will stop due to oe1. In rem #poserr, query the status ys and the error qs, correct, rem and return to the main code. #poserr; automatic s...

  • Page 122

    Sp16384; set the speed pr10000; prepare mode of motion bgx; begin motion mcx js#correct; move to correction #motion2 sp16384; set the speed pr-10000; prepare mode of motion bgx; begin motion mcx js#correct; move to correction jp#motion #correct; correction code spx=_spx #loop; save speed value sp204...

  • Page 123

    Using the ce command m= main encoder n= second encoder 0 normal quadrature 0 normal quadrature 1 pulse & direction 4 pulse & direction 2 reverse quadrature 8 reversed quadrature 3 reverse pulse & direction 12 reversed pulse & direction for example, to configure the main encoder for reversed quadratu...

  • Page 124: Motion Smoothing

    Method splits the filter function between the two encoders. It applies the kp (proportional) and ki (integral) terms to the position error, based on the load encoder, and applies the kd (derivative) term to the motor encoder. This method results in a stable system. The dual loop method is activated ...

  • Page 125

    Trapezoidal velocity profiles have acceleration rates which change abruptly from zero to maximum value. The discontinuous acceleration results in jerk which causes vibration. The smoothing of the acceleration profile leads to a continuous acceleration profile and reduces the mechanical shock and vib...

  • Page 126

    Time velocity time acceleration time acceleration with smoothing time velocity with smoothing figure 6.9 - trapezoidal velocity and smooth velocity profiles using the ks command (step motor smoothing): when operating with step motors, motion smoothing can be accomplished with the command, ks. The ks...

  • Page 127: Homing

    Homing the find edge (fe) and home (hm) instructions may be used to home the motor to a mechanical reference. This reference is connected to the home input line. The hm command initializes the motor to the encoder index pulse in addition to the home input. The configure command (cn) is used to defin...

  • Page 128

    Motion toward index direction position home switch _hma=1 _hmx=0 position motion reverse toward home direction motion begins toward home direction velocity velocity velocity position position index pulses position home sensor (1) (2) (3) figure 6.10 - motion intervals in the home sequence 118 • chap...

  • Page 129

    Command summary - homing operation command description fe abcd find edge routine. This routine monitors the home input fi abcd find index routine - this routine monitors the index input hm abcd home routine - this routine combines fe and fi as described above sc abcd stop code ts abcd tell status of...

  • Page 130

    Example instruction interpretation #latch latch program jg,5000 jog b bg b begin motion on b axis al b arm latch for b axis #wait #wait label for loop jp #wait,_alb=1 jump to #wait label if latch has not occurred result=_rlb set ‘result’ equal to the reported position of y axis result= print result ...

  • Page 131: Overview

    Chapter 7 application programming overview the dmc-2x00 provides a powerful programming language that allows users to customize the controller for their particular application. Programs can be downloaded into the dmc-2x00 memory freeing the host computer for other tasks. However, the host computer c...

  • Page 132

    :ed puts editor at end of last program :ed 5 puts editor at line 5 :ed #begin puts editor at label #begin line numbers appear as 000,001,002 and so on. Program commands are entered following the line numbers. Multiple commands may be given on a single line as long as the total number of characters d...

  • Page 133: Program Format

    Program format a dmc program consists of dmc-2x00 instructions combined to solve a machine control application. Action instructions, such as starting and stopping motion, are combined with program flow instructions to form the complete program. Program flow instructions evaluate real-time conditions...

  • Page 134

    Beginning the program with the label #auto. The program must be saved into non-volatile memory using the command, bp. Automatic subroutines for monitoring conditions on page 136. #inint label for input interrupt subroutine #limswi label for limit switch subroutine #poserr label for excess position e...

  • Page 135

    Rem command if you are using galil software to communicate with the dmc-2x00 controller, you may also include rem statements. ‘rem’ statements begin with the word ‘rem’ and may be followed by any comments which are on the same line. The galil terminal software will remove these statements when the p...

  • Page 136: Debugging Programs

    Instruction interpretation #task1 task1 label at0 initialize reference time cb1 clear output 1 #loop1 loop1 label at 10 wait 10 msec from reference time sb1 set output 1 at -40 wait 40 msec from reference, then initialize reference cb1 clear output 1 jp #loop1 repeat loop1 #task2 task2 label xq #tas...

  • Page 137

    Error code command when there is a program error, the dmc-2x00 halts the program execution at the point where the error occurs. To display the last line number of program execution, issue the command, mg _ed. The user can obtain information about the type of error condition that occurred by using th...

  • Page 138: Program Flow Commands

    Instruction interpretation :ed edit mode 000 #a program label 001 pr1000 position relative 1000 002 bga begin 003 pr5000 position relative 5000 004 en end q quit edit mode :xq #a execute #a ?003 pr5000 error on line 3 :tc1 tell error code ?7 command not valid while running. Command not valid while r...

  • Page 139

    Dmc-2x00 event triggers command function am a b c d e fg h or s halts program execution until motion is complete on the specified axes or motion sequence(s). Am with no parameter tests for motion complete on all axes. This command is useful for separating motion sequences in a program. Ad a or b or ...

  • Page 140

    Example- multiple move sequence the am trip point is used to separate the two pr moves. If am is not used, the controller returns a ? For the second pr command because a new pr cannot be given until motion is complete. Instruction interpretation #twomove label pr 2000 position command bga begin moti...

  • Page 141

    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. Instruction interpretation #input program label ai-1 w...

  • Page 142

    Example - multiple move with wait this example makes multiple relative distance moves by waiting for each to be complete before executing new moves. Instruction interpretation #moves label pr 12000 distance sp 20000 speed ac 100000 acceleration bga start motion ad 10000 wait a distance of 10,000 cou...

  • Page 143

    Command format - jp and js format: description js destination, logical condition jump to subroutine if logical condition is satisfied jp destination, logical condition jump to location if logical condition is satisfied the destination is a program line number or label where the program sequencer wil...

  • Page 144

    In this example, this statement will cause the program to jump to the label #test if v1 is less than v2 and v3 is less than v4. To illustrate this further, consider this same example with an additional condition: jp #test, ((v1 this statement will cause the program to jump to the label #test under t...

  • Page 145

    Using the if and endif commands an if conditional statement is formed by the combination of an if and endif command. The if command has as its arguments one or more conditional statements. If the conditional statement(s) evaluates true, the command interpreter will continue executing commands which ...

  • Page 146

    Else else command for 2 nd if statement mg "only input 1 is active message executed if 2 nd if is false endif end of 2 nd conditional statement else else command for 1 st if statement mg"only input 2 is active" message executed if 1 st if statement endif end of 1 st conditional statement #wait label...

  • Page 147

    Beginning the program with the label #auto. The program must be saved into non-volatile memory using the command, bp. Automatic subroutines for monitoring conditions often it is desirable to monitor certain conditions continuously without tying up the host or dmc-2x00 program sequences. The dmc-2x00...

  • Page 148

    Now, when a forward limit switch occurs on the a axis, the #limswi subroutine will be executed notes regarding the #limswi routine: 1) the re command is used to return from the #limswi subroutine. 2) the #limswi subroutine will be re-executed if the limit switch remains active. The #limswi routine i...

  • Page 149

    Tw 1000 set the time out to 1000 ms pa 10000 position absolute command bga begin motion mca motion complete trip point en end main program #mctime motion complete subroutine mg “a fell short” send out a message en end subroutine this simple program will issue the message “a fell short” if the a axis...

  • Page 150

    Where the “,1” at the end of the command line indicates a restart; therefore, the existing program stack will not be removed when the above format executes. The following example shows an error correction routine which uses the operands. Example - command error w/multitasking instruction interpretat...

  • Page 151

    En end main program #comint interrupt routine jp #stop,p2ch="0" check for s (stop motion) jp #pause,p2ch="1" check for p (pause motion) jp #resume,p2ch="2" check for r (resume motion) en1,1 do nothing #stop routine for stopping motion sta;zs;en stop motion on a axis; zero program stack; end program ...

  • Page 153

    Flen=$10000* flen shift flen by 32 bits (ie - convert fraction, flen, to integer) len1=( flen &$00ff) mask top byte of flen and set this value to variable ‘len1’ len2=( flen &$ff00)/$100 let variable, ‘len2’ = top byte of flen len3= len &$000000ff let variable, ‘len3’ = bottom byte of len len4=( len...

  • Page 154: Variables

    Functions function description @sin[n] sine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution) @cos[n] cosine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution) @tan[n] tangent of n (n in degrees, with range of -32768 to 32767 and 16-...

  • Page 155

    Programmable variables the dmc-2x00 allows the user to create up to 254 variables. Each variable is defines by a name which can be up to eight characters. The name must start with an alphabetic character; however, numbers are permitted in the rest of the name. Spaces are not permitted. Variable can ...

  • Page 156: Operands

    Displaying the value of variables at the terminal variables may be sent to the screen using the format, variable=. For example, v1= returns the value of the variable v1. Example - using variables for joystick the example below reads the voltage of an a-b joystick and assigns it to variables va and v...

  • Page 157: Arrays

    _lrn returns status of reverse limit switch input of axis ‘n’ (equals 0 or 1) ul *returns the number of available variables time free-running real time clock (off by 2.4% - resets with power-on). Note: time does not use an underscore character (_) as other keywords. * these keywords have correspondi...

  • Page 158

    Con[2]=@cos[pos]*2 assigns the 2 nd element of the array the cosine of pos * 2. Timer[1]=time assigns the 1 st element of the array time using a variable to address array elements an array element number can also be a variable. This allows array entries to be assigned sequentially using a counter. I...

  • Page 159

    Command summary - automatic data capture command description ra n[],m[],o[],p[] selects up to four 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 recorded, where type1, type2, type3, and type 4 represent the various ...

  • Page 160

    Pr 10000,20000 specify move distance rc1 start recording now, at rate of 2 msec bg ab begin motion #a;jp #a,_rc=1 loop until done mg "done" print message en end program #play play back n=0 initial counter jp# done,n>300 exit if done n= print counter apos [n]= print x position bpos [n]= print y posit...

  • Page 161

    The load is coupled with a 2 pitch lead screw. A 2000 count/rev encoder is on the motor, resulting in a resolution of 4000 counts/inch. The program below uses the variable len, to length. The in command is used to prompt the operator to enter the length, and the entered value is assigned to the vari...

  • Page 162

    These keywords may be used in an applications program to decode data and they may also be used in conditional statements with logical operators. Example instruction interpretation jp #loop,p2cd3 checks to see if status code is 3 (number received) jp #p,p1ch="v" checks if last character received was ...

  • Page 163

    #comint interrupt routine jp #a,p2ch="a" check for a jp #b,p2ch="b" check for b jp #c,p2ch="s" check for s zs1;ci2;jp#jogloop jump if not x,y,s #a;js#num speedx=val new x speed zs1;ci2;jp#print jump to print #b;js#num speedy=val new y speed zs1;ci2;jp#print jump to print #c;st;amx;ci-1 stop motion o...

  • Page 164

    Sending messages messages may be sent to the bus using the message command, mg. This command sends specified text and numerical or string data from variables or arrays to the screen. Text strings are specified in quotes and variable or array data is designated by the name of the variable or array. F...

  • Page 165

    En when #a is executed, the above example will appear on the screen as: the speed is 50000 counts/sec using the mg command to configure terminals the mg command can be used to configure a terminal. Any ascii character can be sent by using the format {^n} where n is any integer between 1 and 255. Exa...

  • Page 166

    Using the pf command to format response from interrogation commands the command, pf, can change format of the values returned by theses interrogation commands: bl ? Le ? De ? Pa ? Dp ? Pr ? Em ? Tn ? Fl ? Ve ? Ip ? Te tp the numeric values may be formatted in decimal or hexadecimal with a specified ...

  • Page 167

    Lz1 enables the lz function tp tell position interrogation command -9, 5 response (without leading zeros) local formatting of response of interrogation commands the response of interrogation commands may be formatted locally. To format locally, use the command, {fn.M} or {$n.M} on the same line as t...

  • Page 168: Hardware I/o

    Instruction interpretation v1=10 assign v1 v1= return v1 :0000000010.0000 default format v1={f4.2} specify local format :0010.00 new format v1={$4.2} specify hex format :$000a.00 hex value v1="alpha" assign string "alpha" to v1 v1={s4} specify string format first 4 characters :alph the local format ...

  • Page 169

    Example- set bit and clear bit instruction interpretation sb6 sets bit 6 of output port cb4 clears bit 4 of output port example- output bit the output bit (ob) instruction is useful for setting or clearing outputs depending on the value of a variable, array, input or expression. Any non-zero value r...

  • Page 170

    Example - using inputs to control program flow instruction interpretation jp #a,@in[1]=0 jump to a if input 1 is low jp #b,@in[2]=1 jump to b if input 2 is high ai 7 wait until input 7 is high ai -6 wait until input 6 is low example - start motion on switch motor a must turn at 4000 counts/sec when ...

  • Page 171

    After the execution of the #inint subroutine, the zero stack (zs) command is used followed by unconditional jump statements. Important: use the ri command (not en) to return from the #inint subroutine. Example - input interrupt instruction interpretation #a label #a ii 1 enable input 1 for interrupt...

  • Page 172

    Pa vp command position bga start motion ama after completion jp #loop repeat en end example - position follower (continuous move) method: read the analog input, compute the commanded position and the position error. Command the motor to run at a speed in proportions to the position error. Instructio...

  • Page 173

    8-bit i/o block block binary representation decimal value for block 17-24 2 2 0 1 25-32 3 2 1 1 2 33-40 4 2 2 4 41-48 5 2 3 8 49-56 6 2 4 16 57-64 7 2 5 32 65-72 8 2 6 64 73-80 9 2 7 128 the simplest method for determining n: step 1. Determine which 8-bit i/o blocks to be configured as outputs. Step...

  • Page 174: Example Applications

    For example, if block 8 is configured as an output, the following command may be issued: op 7,,,,7 this command will set bits 1,2,3 (block 0) and bits 65,66,67 (block 8) to 1. Bits 4 through 8 and bits 68 through 80 will be set to 0. All other bits are unaffected. When accessing i/o blocks configure...

  • Page 175

    Instruction interpretation #a label ai1 wait for input 1 pr 6370 distance sp 3185 speed bga start motion ama after motion is complete sb1 set output bit 1 wt 20 wait 20 ms cb1 clear output bit 1 wt 80 wait 80 ms jp #a repeat the process start pulse i1 motor velocity output pulse time intervals move ...

  • Page 176

    1 inch = 40,000 counts and the speeds of 1 in/sec = 40,000 count/sec 5 in/sec = 200,000 count/sec an acceleration rate of 0.1g equals 0.1g = 38.6 in/s2 = 1,544,000 count/s2 note that the circular path has a radius of 2" or 80000 counts, and the motion starts at the angle of 270 ° and traverses 360 °...

  • Page 177

    Pr,,80000 raise c bgc amc vp -37600,-16000 return ab to start ve vs 200000 bgs ams en r=2 b c a 0 4 9.3 4 b a figure 7.2 - motor velocity and the associated input/output signals speed control by joystick the speed of a motor is controlled by a joystick. The joystick produces a signal in the range be...

  • Page 178

    The program reads the input voltage periodically and assigns its value to the variable vin. To get a speed of 200,000 ct/sec for 10 volts, we select the speed as speed = 20000 x vin the corresponding velocity for the motor is assigned to the vel variable. Instruction #a jg0 bga #b vin=@an[1] vel=vin...

  • Page 179

    The basic dilemma is where to mount the sensor. If you use a rotary sensor, you get a 4 micron backlash error. On the other hand, if you use a linear encoder, the backlash in the feedback loop will cause oscillations due to instability. An alternative approach is the dual-loop, where we use two sens...

  • Page 180

    This page left blank intentionally 170 • chapter 7 application programming dmc-2x00

  • Page 181: Protection

    Chapter 8 hardware & software protection introduction the dmc-2x00 provides several hardware and software features to check for error conditions and to inhibit the motor on error. These features help protect the various system components from damage. Warning: machinery in motion can be dangerous! It...

  • Page 182: Software Protection

    3. There is a failure on the controller and the processor is resetting itself. 4. There is a failure with the output ic which drives the error signal. Input protection lines general abort - a low input stops commanded motion instantly without a controlled deceleration. For any axis in which the off-...

  • Page 183

    Programmable position limits the dmc-2x00 provides programmable forward and reverse position limits. These are set by the bl and fl software commands. Once a position limit is specified, the dmc-2x00 will not accept position commands beyond the limit. Motion beyond the limit is also prevented. Examp...

  • Page 184

    Sha 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 routine the dmc-2x00 provides forward and reverse limit switches which inhibit motion in the respective direction. There is also a special ...

  • Page 185: Chapter 9 Troubleshooting

    Chapter 9 troubleshooting overview the following discussion may help you get your system to work. Potential problems have been divided into groups as follows: 1. Installation 2. Communication 3. Stability and compensation 4. Operation the various symptoms along with the cause and the remedy are desc...

  • Page 186: Communication

    Communication symptom cause remedy using terminal emulator, cannot communicate with controller. Selected comm. Port incorrect try another comport same as above selected baud rate incorrect check to be sure that baud rate same as dip switch settings on controller, change as necessary. Stability sympt...

  • Page 187: Overview

    Chapter 10 theory of operation overview the following discussion covers the operation of motion control systems. A typical motion control system consists of the elements shown in fig 10.1. Computer controller driver motor encoder figure 10.1 - elements of servo systems the operation of such a system...

  • Page 188

    The highest level of control is the motion program. This can be stored in the host computer or in the controller. This program describes the tasks in terms of the motors that need to be controlled, the distances and the speed. Motion programming motion profiling closed-loop control level 3 2 1 figur...

  • Page 189

    Y position x position y velocity x velocity time figure 10.3 - velocity and position profiles operation of closed-loop systems to understand the operation of a servo system, we may compare it to a familiar closed-loop operation, adjusting the water temperature in the shower. One control objective is...

  • Page 190: System Modeling

    The results may be worse if we turn the faucet too fast. The overreaction results in temperature oscillations. When the response of the system oscillates, we say that the system is unstable. Clearly, unstable responses are bad when we want a constant level. What causes the oscillations? The basic ca...

  • Page 191

    Motor-amplifier the motor amplifier may be configured in three modes: 1. Voltage drive 2. Current drive 3. Velocity loop the operation and modeling in the three modes is as follows: voltage drive the amplifier is a voltage source with a gain of kv [v/v]. The transfer function relating the input volt...

  • Page 192

    Where kt and j are as defined previously. For example, a current amplifier with ka = 2 a/v with the motor described by the previous example will have the transfer function: p/v = 1000/s2 [rad/v] if the motor is a dc brushless motor, it is driven by an amplifier that performs the commutation. The com...

  • Page 193

    K v 1/k e (st m +1)(st e +1) 1 s v e w voltage source p k a k t js 1 s v i w current source p 1 s v w p velocity loop 1 k g (st 1 +1) figure 10.6 - mathematical model of the motor and amplifier in three operational modes encoder the encoder generates n pulses per revolution. It outputs two signals, ...

  • Page 194

    Dac the dac or d-to-a converter converts a 16-bit number to an analog voltage. The input range of the numbers is 65536 and the output voltage range is +/-10v or 20v. Therefore, the effective gain of the dac is k= 20/65536 = 0.0003 [v/count] digital filter the digital filter has three elements in ser...

  • Page 195

    For example, if the filter parameters of the dmc-2x00 are kp = 4 kd = 36 ki = 2 pl = 0.75 t = 0.001 s the digital filter coefficients are k = 160 a = 0.9 c = 1 a = 250 rad/s and the equivalent continuous filter, g(s), is g(s) = [16 + 0.144s + 1000/s} ∗ 250/ (s+250) the notch filter has two complex z...

  • Page 196: System Analysis

    System analysis to analyze the system, we start with a block diagram model of the system elements. The analysis procedure is illustrated in terms of the following example. Consider a position control system with the dmc-2x00 controller and the following parameters: kt = 0.1 nm/a torque constant j = ...

  • Page 197

    Σ 50+0.980s 318 v encoder 500 s 2 filter 2000 s+2000 0.0003 4 zoh dac amp motor figure 10.7 - mathematical model of the control system the open loop transfer function, a(s), is the product of all the elements in the loop. A = 390,000 (s+51)/[s2(s+2000)] to analyze the system stability, determine the...

  • Page 198

    Finally, the phase margin, pm, equals pm = 180 ° + α = 70 ° as long as pm is positive, the system is stable. However, for a well damped system, pm should be between 30 degrees and 45 degrees. The phase margin of 70 degrees given above indicated overdamped response. Next, we discuss the design of con...

  • Page 199

    The next step is to combine all the system elements, with the exception of g(s), into one function, l(s). L(s) = m(s) ka kd kf h(s) =3.17 ∗ 106/[s2(s+2000)] then the open loop transfer function, a(s), is a(s) = l(s) g(s) now, determine the magnitude and phase of l(s) at the frequency ω c = 500. L(j5...

  • Page 200

    The function g is equivalent to a digital filter of the form: d(z) = 4kp + 4kd(1-z-1) where p = 4 ∗ kp d = 4 ∗ kd ∗ t and 4 ∗ kd = d/t assuming a sampling period of t=1ms, the parameters of the digital filter are: kp = 20.6 kd = 68.6 the dmc-2x00 can be programmed with the instruction: kp 20.6 kd 68...

  • Page 201: Appendices

    Appendices electrical specifications servo control acmd amplifier command: +/-10 volt analog signal. Resolution 16-bit dac or 0.0003 volts. 3 ma maximum a+,a-,b+,b-,idx+,idx- encoder and auxiliary ttl compatible, but can accept up to +/-12 volts. Quadrature phase on cha, chb. Can accept single- ende...

  • Page 202: Performance Specifications

    In[83], in[84] (dmc-2x20 through dmc-2x80 only) auxiliary encoder inputs for b (y) axis. Line receiver inputs - accepts differential or single ended voltages with voltage range of +/- 12 volts. In[85], in[86] (dmc-2x30 through dmc-2x80 only) auxiliary encoder inputs for c (z) axis. Line receiver inp...

  • Page 203: Fast Update Rate Mode

    Velocity accuracy: long term phase-locked, better than .005% short term system dependent position range: +/-2147483647 counts per move velocity range: up to 12,000,000 counts/sec servo; 3,000,000 pulses/sec-stepper velocity resolution: 2 counts/sec motor command resolution: 16 bit or 0.0003 v variab...

  • Page 204

    Connectors for dmc-2x00 main board dmc-2x00 axes a-d high density connector 1 analog ground 51 nc 2 gnd 52 gnd 3 5v 53 5v 4 error output 54 limit common 5 reset 55 home w 6 encoder-compare output 56 reverse limit w 7 gnd 57 forward limit w 8 gnd 58 home z 9 motor command w 59 reverse limit z 10 sign...

  • Page 205

    46 b-w 96 analog in 6 47 i+w 97 analog in 7 48 i-w 98 analog in 8 49 +12v 99 -12v 50 +12v 100 -12v dmc-2x00 axes e-h high density connector 1 nc 51 nc 2 gnd 52 gnd 3 5v 53 5v 4 error output 54 limit common 5 reset 55 home h 6 encoder-compare output 56 reverse limit h 7 gnd 57 forward limit h 8 gnd 5...

  • Page 206

    43 a+h 93 nc 44 a-h 94 nc 45 b+h 95 nc 46 b-h 96 nc 47 i+h 97 nc 48 i-h 98 nc 49 +12v 99 -12v 50 +12v 100 -12v dmc-2x00 auxiliary encoder 36 pin high density connector 1 5v 19 5v 2 gnd 20 gnd 3 +aax 21 +aae 4 -aax 22 -aae 5 +abx 23 +abe 6 -abx 24 -abe 7 +aay 25 +aaf 8 -aay 26 -aaf 9 +aby 27 +abf 10 ...

  • Page 207

    19 i/o 7 63 6 20 gnd -- -- gnd 21 i/o 7 62 5 22 gnd -- -- gnd 23 i/o 7 61 4 24 gnd -- -- gnd 25 i/o 7 60 3 26 gnd -- -- gnd 27 i/o 7 59 2 28 gnd -- -- gnd 29 i/o 7 58 1 30 gnd -- -- gnd 31 i/o 7 57 0 32 i/o 6 56 7 33 i/o 6 55 6 34 i/o 6 54 5 35 i/o 6 53 4 36 i/o 6 52 3 37 i/o 6 51 2 38 i/o 6 50 1 39...

  • Page 208

    71 i/o 3 25 0 72 i/o 2 24 7 73 i/o 2 23 6 74 i/o 2 22 5 75 i/o 2 21 4 76 i/o 2 20 3 77 i/o 2 19 2 78 i/o 2 18 1 79 i/o 2 17 0 80 +5v -- -- +5v rs-232-main port standard connector and cable, 9pin pin signal 1 cts – output 2 transmit data-output 3 receive data-input 4 rts – input 5 gnd 6 cts – output ...

  • Page 209

    Ethernet 100 base-t/10 base-t - kycon gs-ns-88-3.5 pin signal 1 txp 2 txn 3 rxp 4 nc 5 nc 6 rxn 7 nc 8 nc 10 base-2- amp 227161-7 10 base-f- hp hfbr-1414 (tx, transmitter) hp hfbr-2416 (rx, receiver) led status f uses fiber link c 1. On solid when using full duplex (plugged into a switch) 2. Off whe...

  • Page 210

    6 data set ready 7 signal ground 8 carrier detect 9 +transmit current loop return 10 nc 11 -transmit current loop data 12 nc 13 nc 14 nc 15 nc 16 nc 17 nc 18 +receive current loop data 19 nc 20 data terminal ready 21 nc 22 ring indicator 23 nc 24 nc 25 -receive current loop return 9 pin serial conne...

  • Page 211

    20 (data terminal ready) 4 7 (signal ground) 5 controller ground 9 cable to connect computer 9 pin to main serial port cable (9 pin) 9 pin (female - computer) 9 pin (female - controller) 1 (carrier detect) 1 2 (receive data) 2 3 (transmit data) 3 4 (data terminal ready) 4 5 (signal ground) 5 control...

  • Page 212

    Pin-out description for dmc-2x00 outputs analog motor command +/- 10 volt range signal for driving amplifier. In servo mode, motor command output is updated at the controller sample rate. In the motor off mode, this output is held at the of command level. Amp enable signal to disable and enable an a...

  • Page 213

    Encoder index, i+ once-per-revolution encoder pulse. Used in homing sequence or find index command to define home on an encoder index. Encoder, a-, b-, i- differential inputs from encoder. May be input along with cha, chb for noise immunity of encoder signals. The cha- and chb- inputs are optional. ...

  • Page 214

    Jumper description for dmc-2x00 jumper label function (if jumpered) jp5 mb smx for each axis, the sm jumper selects the sm smy magnitude mode for servo motors or selects smz stepper motors. If you are using stepper smw motors, sm must always be jumpered. The analog command is not valid with sm jumpe...

  • Page 215: Dimensions For Dmc-2X00

    Dimensions for dmc-2x00 dmc-2x00 appendices y 205.

  • Page 216: Accessories and Options

    Accessories and options dmc-20x0 1- 8 axis motion controllers where x specifies the number of axes -16 16-bit adc option for analog inputs cable-100-1m 100-pin high density cable, 1 meter cable-100-4m 100-pin high density cable, 4 meter cable-80-1m 80-pin high density cable, 1 meter cable-80-4m 80-p...

  • Page 217: Icm-2900 Interconnect Module

    Icm-2900 interconnect module mechanical specifications description unit specification ----------- ---- ------------- weight lb 2.3 length in 12.25 width in 2.61 height in 2.37 environmental specifications description unit specification ----------- ---- ------------- storage temperature c -25 to +70 ...

  • Page 218

    3 pwmx o x axis pulse output for input to stepper motor amp 3 gnd o signal ground 4 mocmdy o y axis motor command to amp input (w / respect to ground) 4 signy o y axis sign output for input to stepper motor amp 4 pwmy o y axis pulse output for input to stepper motor amp 4 gnd o signal ground 5 out p...

  • Page 219

    13 in8 i input 8 14 xlatch i input 1 (used for x axis latch input) 14 ylatch i input 2 (used for y axis latch input) 14 zlatch i input 3 (used for z axis latch input) 14 wlatch i input 4 (used for w axis latch input) 15 +5v o + 5 volts 15 +12v o +12 volts 15 -12v o -12 volts 15 ana gnd o isolated an...

  • Page 220

    24 +maz i z main encoder a+ 24 -maz i z main encoder a- 24 +mbz i z main encoder b+ 24 -mbz i z main encoder b- 25 +5v o + 5 volts 25 +inw i w main encoder index + 25 -inw i w main encoder index - 25 gnd o signal ground 26 +maw i w main encoder a+ 26 -maw i w main encoder a- 26 +mbw i w main encoder...

  • Page 221

    Icm-2900 drawing: icm- 2.40" 12.25" front side back 2.75" 2.40" 100 pin high density connector amp #2-178238-9 holes for mounting to dmc- 2000 (2 holes) mocmdz signz pw mz gnd mocmdx signx pw mx gnd out pw r error cmp out gnd out5 out6 out7 out8 mocmdw signw pw mw gnd mocmdy signy pw my gnd +5v home...

  • Page 222: Icm-2908 Interconnect Module

    Icm-2908 interconnect module the icm-2908 interconnect module provides easy connections between the auxiliary encoder connections of the dmc-2x00 series controller and other system elements. The icm-2908 accepts the 36 pin high density cable (cable-36) from the controller and provides terminal block...

  • Page 223

    Icm-2908 drawing: icm-2908 2.40" 12.25" front side back 2.75" 2.40" holes for mounting to dmc- 2000 (2 holes) solderless connections - insert screwdriver to open contacts for insertion/ removal of lead wires +aay -aay +aby -aby +aaw -aaw +abw -abw gnd gnd gnd gnd +aaf -aaf +abf -abf +aah -aah +abh -...

  • Page 224

    Pcb layout of the icm-2900: u1 rp3 u2 rp2 rp4 u1 ma x 3 3 2 u6 rp1 740 7 740 7 amplifier enable buffer analog switch 5v 12v * for 5 volt amplifier enable - place pin 1 of rp1 on pin labeled "5v" * for 12 volt amplifier enable - place pin 1 of rp1 on pin labeled "12v" optional opto-isolation circuit ...

  • Page 225: Icm-1900 Interconnect Module

    Icm-1900 interconnect module the icm-1900 interconnect module provides easy connections between the dmc-2x00 series controllers and other system elements, such as amplifiers, encoders, and external switches. The icm- 1900 accepts the 100-pin main cable and 25-pin auxiliary cable and breaks them into...

  • Page 226

    24 signw o w axis sign output for input to stepper motor amp 25 pwmw o w axis pulse output for input to stepper motor amp 26 mocmdz o z axis motor command to amp input (w / respect to ground) 27 signz o z axis sign output for input to stepper motor amp 28 pwmz o z axis pulse output for input to step...

  • Page 227

    66 out1 o output 1 67 out2 o output 2 68 out3 o output 3 69 out4 o output 4 70 out5 o output 5 71 out6 o output 6 72 out7 o output 7 73 out8 o output 8 74 gnd signal ground 75 an1 i analog input 1 76 an2 i analog input 2 77 an3 i analog input 3 78 an4 i analog input 4 79 an5 i analog input 5 80 an6 ...

  • Page 228

    108 -mbw i w main encoder b- 109 +inw i w main encoder index + 110 -inw i w main encoder index - 111 +12v +12 volts 112 -12v -12 volts icm-1900 drawing: 11.620" 12.560" 13.500" 0.220" 0.440" 2.000" 6.880" 4.940" figure a-3 amp-19x0 mating power amplifiers the amp-19x0 series are mating, brush-type s...

  • Page 229: 19X0

    • screw-type terminals for easy connection to motors, encoders, and switches • steel mounting plate with ¼” keyholes specifications minimum motor inductance : 1 mh pwm frequency: 30 khz ambient operating temperature: 0 o to 70 o c dimensions: weight : mounting: keyholes – ¼” ∅ gain: 1 amp/v opto-iso...

  • Page 230: 1900

    Active high logic and care should be taken. Using active low logic should avoid any problems associated with the outputs floating high. Configuring the amplifier enable for icm-2900 / icm- 1900 the icm-1900 and icm-2900 modules can be configured to provide an active low signal to enable external amp...

  • Page 231: (Obsolete)

    Iom-1964 opto-isolation module for extended i/o (obsolete) description: • provides 64 optically isolated inputs and outputs, each rated for 2ma at up to 28 vdc • configurable as inputs or outputs in groups of eight bits • provides 16 high power outputs capable of up to 500ma each • connects to contr...

  • Page 232

    1964 also provides 16 high power outputs capable of 500ma of current per output point. The iom- 1964 splits the 64 i/o points into eight banks of eight i/o points each, corresponding to the eight banks of extended i/o on the controller. Each bank is individually configured as an input or output bank...

  • Page 233

    Ic’s and resistor packs in the appropriate sockets. A group of eight led’s indicates the status of each i/o point. The numbers above the bank 0 label indicate the number of the i/o point corresponding to the led above it. Digital inputs configuring a bank for inputs requires that the ux3 and ux4 soc...

  • Page 234

    Sinking sourcing +5v pnp output gnd i/oc n i/oc n i/o n i/o n current npn output current figure a-10 whether connected in a sinking or sourcing circuit, only two connections are needed in each case. When the npn output is 5 volts, then no current flows and the input reads 1. When the npn output goes...

  • Page 235

    Pwrout n outc n current l o a d external isolated power supply i/oc n v iso gnd iso v pwr figure a-12 the power outputs must be connected in a driving configuration as shown on the previous page. Here are the voltage outputs to expect after the clear bit and set bit commands are given: output comman...

  • Page 236

    The resistor pack rpx3 limits the amount of current available to source, as well as affecting the low level voltage at the i/o output. The maximum sink current is 2ma regardless of rpx3 or i/oc voltage, determined by the nec2505 optical isolator ic. The maximum source current is determined by dividi...

  • Page 237

    High power digital outputs • maximum external power supply voltage: 28 vdc • minimum external power supply voltage: 4 vdc • maximum source current, per output: 500ma • maximum sink current: sinking circuit inoperative standard digital outputs • maximum external power supply voltage: 28 vdc • minimum...

  • Page 238

    Rev a+b terminal # rev c terminal # label description bank 10 10 i/o75 i/o bit 75 7 11 9 i/o74 i/o bit 74 7 12 12 i/o73 i/o bit 73 7 13 11 outc73-80 out common for i/o 73-80 7 14 14 i/oc73-80 i/o common for i/o 73-80 7 15 13 i/o72 i/o bit 72 6 16 16 i/o71 i/o bit 71 6 17 15 i/o70 i/o bit 70 6 18 18 ...

  • Page 239

    Rev a+b terminal # rev c terminal # label description bank 53 51 outc41-48 out common for i/o 41-48 3 54 54 i/oc41-48 i/o common for i/o 41-48 3 55 53 i/o40 i/o bit 40 2 56 56 i/o39 i/o bit 39 2 57 55 i/o38 i/o bit 38 2 58 58 i/o37 i/o bit 37 2 59 57 i/o36 i/o bit 36 2 60 60 i/o35 i/o bit 35 2 61 59...

  • Page 240: Cb-50-100 Adapter Board

    Rev a+b terminal # rev c terminal # label description bank 96 96 i/oc17-24 i/o common for i/o 17-24 0 97 95 pwrout24 power output 24 0 98 98 pwrout23 power output 23 0 99 97 pwrout22 power output 22 0 100 100 pwrout21 power output 21 0 101 99 pwrout20 power output 20 0 102 102 pwrout19 power output ...

  • Page 241

    21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 dmc-2x00 appendices y 231.

  • Page 242

    Jc6 50 pin idc j9 100 pin high density connector 1 51 2 52 3 53 4 54 5 55 6 56 7 57 8 58 9 59 10 60 11 61 12 62 13 63 14 64 15 65 16 66 17 67 18 68 19 69 20 70 21 71 22 72 23 73 24 74 25 75 26 76 27 77 28 78 29 79 30 80 31 81 32 82 33 83 34 84 35 85 36 86 37 87 38 88 39 89 40 90 41 91 42 92 43 93 44...

  • Page 243

    45 95 46 96 47 97 48 98 49 99 50 100 cb-50-100 drawing: cb 50-100 rev a galil motion control made in usa j9 - 100 pin connector amp part # 2-178238-9 jc6, jc8 - 50 pin shrouded headers w/ center key jc8 - pins 1-50 of j9 jc6 - pins 51-100 of j9 j9 jc6 jc8 1/51 21/71 41/91 1/8"d, 4 places 1 1/4" 9/16...

  • Page 244: Cb-50-80 Adapter Board

    Cb 50-100 rev a galil motion control made in usa jc6, jc8 - 50 pin shrouded headers w/ center key jc8 - pins 1-50 of j9 jc6 - pins 51-100 of j9 j9 jc6 jc8 1/8"d, 4 places j9 - 100 pin connector amp part # 2-178238-9 (pin 1) jc6 (idc 50 pin) pin1 (2.975", 0.9875" ) jc8 (idc 50 pin) pin1 (2.975", 0.61...

  • Page 245

    Connectors: jc8 and jc6: 50 pin male idc j9: 80 pin high density connector, amp part #3-178238-0 jc8 j9 jc8 j9 1 1 38 gnd 2 2 39 35 3 3 40 gnd 4 4 41 36 5 5 42 gnd 6 6 43 37 7 7 44 gnd 8 8 45 38 9 9 46 gnd 10 10 47 39 11 11 48 gnd 12 12 49 +5v 13 13 50 gnd 14 14 15 15 16 16 17 17 18 gnd 19 19 20 gnd...

  • Page 246

    Jc6 j9 (continued) 1 41 2 42 3 43 4 44 5 45 6 46 7 47 8 48 9 49 10 50 11 51 12 52 13 53 14 54 15 55 16 56 17 57 18 gnd 19 59 20 gnd 21 61 22 gnd 23 63 24 gnd 25 65 26 gnd 27 67 28 gnd 29 69 30 gnd 31 71 32 gnd 33 72 34 gnd 35 73 36 gnd 37 74 38 gnd 39 75 40 gnd 41 76 42 gnd 43 77 44 gnd 45 78 46 gnd...

  • Page 247

    Cb-50-80 drawing: cb 50-80 rev a1 galil motion control made in usa j9 - 80 pin connector 3m part # n10280-52e2vc amp part # 3-178238-0 jc6, jc8 - 50 pin shrouded headers w/ center key jc8 - pins 1-50 of j9 jc6 - pins 51-100 of j9 jc6 jc8 1/8"d, 4 places 1 1/4" 9/16" 1/2" 1/8" 4 1/2" 1/8" 1/8" 15/16"...

  • Page 248

    Cb 50-80 rev a galil motion control made in usa jc6, jc8 - 50 pin shrouded headers w/ center key j9 jc6 jc8 1/8"d, 4 places jc6 (idc 50 pin) pin1 () jc8 (idc 50 pin) pin1 ( ) 41 42 43 2 1 3 4 detail j9 - 80 pin connector amp part # 3-178238-0 (pin 1) cb-50-80 layout figure a-18 238 • appendices dmc-...

  • Page 249: Term-1500 Operator Terminal

    Term-1500 operator terminal two types of terminals are offered from galil; the hand-held unit and the panel mount unit. Both have the same programming characteristics. Hand held unit is shown below: figure a-19 dmc-2x00 appendices y 239.

  • Page 250

    The panel mount terminal is shown below: figure a-20 features for easy data entry to dmc-2x00 motion controller 4 line x 20 character liquid crystal display full numeric keypad five programmable function keys available in hand-held or panel mount no external power supply required connects directly t...

  • Page 251

    Specifications - panel mount keypad 30-key; 5 rows x 6 columns ; 5x7 font display 4 row x 20 character lcd power 5 volts, 30ma keypad maps - hand-held 30 keys: 5 keys across, 6 down single key output 6 f1 (22) f2 (23) f3 (24) f4 (25) f5 (26) 5 1 2 3 4 4 5 6 3 7 8 9 2 0 1 ctrl shift space bkspc enter...

  • Page 252

    # is [5,1] keypad map - panel mount – 6 columns x 5 rows single key output 5 f1 1 2 3 4 f2 4 5 6 3 f3 7 8 9 2 f4 - 0 . 1 f5 ctrl shift space bkspc enter shift key output 5 a f g h i j 4 b k l m n o 3 c p q r s t 2 d u v w x y 1 e ctrl shift z , ? Ctrl key output 5 (18) (19) (2) ! “ % 4 (16) * + / $ ...

  • Page 253

    Erasing display esc e clear display and home esc i clear display esc j 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 underscore cursor off esc r blinking ...

  • Page 254

    Default configuration: baud rate 9600 data bits 7 parity ignore pe display enabled repeat fast echo disabled handshake disabled self test disabled key click - disabled space [2,2] key click - enabled space [1,2] clear display and home space [5,6] function keys f3 allows function keys to be configure...

  • Page 255

    #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 trip point #xmove;pr1000;bgx;en move x routine #ymove;pr,1000;bgy;en move y routine note: f1 through f5 are used as dedicated ...

  • Page 256

    Coordinated motion - mathematical analysis the terms of coordinated motion are best explained in terms of the vector motion. The vector velocity, vs, which is also known as the feed rate, is the vector sum of the velocities along the x and y axes, vx and vy. Vs vx vy = + 2 2 the vector distance is t...

  • Page 257

    10000 20000 20000 10000 y c d b a x figure a-21 - x-y motion path the first line describes the straight line vector segment between points a and b. The next segment is a circular arc, which starts at an angle of 180 ° and traverses -90 ° . Finally, the third line describes the linear segment between...

  • Page 258

    For example, the velocity profile corresponding to the path of fig. A-21 may be specified in terms of the vector speed and acceleration. Vs 100000 va 2000000 the resulting vector velocity is shown in fig. A-22. 0.05 0.357 10000 velocity time (s) 0.407 t a t a t s figure a-22 - vector velocity profil...

  • Page 259: Enet

    A b d (a) (b) (c) time c figure a-23 - vector and axes velocities example- communicating with opto-22 snap-b3000- enet controller is connected to opto-22 via handle f. The opto-22’s ip address is 131.29.50.30. The rack has the following configuration: digital inputs module 1 digital outputs module 2...

  • Page 260

    En end #cfgdout label module=2 set variable cfgvalue=$180 set variable numofio=4 set variable jp #cfgjoin jump to subroutine #cfgaout label module=3 set variable cfgvalue=$a7 set variable numofio=2 set variable jp #cfgjoin jump to subroutine #cfgain label module=5 set variable cfgvalue=12 set variab...

  • Page 261

    Sb 6006 set bit of output at handle 6, module 2, bit 3 or to one ob 6006,1 ao 608,3.6 set analog output at handle 6, module 53, bit 1 to 3.6 volts mg @an[6017] display voltage value of analog input at handle6, module 5, bit 2 dmc-2x00 appendices y 251.

  • Page 262: Dmc-2X00/dmc-1500 Comparison

    Dmc-2x00/dmc-1500 comparison benefit dmc-2x00 dmc-1500 access to parameters – real time data processing & recording data record - block data transfer no dma channel easy to install – usb is self configuring plug and play usb not available can capture and save array data variable storage option param...

  • Page 263: List of Other Publications

    List of other publications "step by step design of motion control systems" by dr. Jacob tal "motion control applications" by dr. Jacob tal "motion control by microprocessors" by dr. Jacob tal training seminars galil, a leader in motion control with over 500,000 controllers working worldwide, has a p...

  • Page 264: Contacting Us

    Contacting us galil motion control 270 technology way rocklin, ca 95765 phone: 916-626-0101 fax: 916-626-0102 e-mail address: support@galilmc.Com url: www.Galilmc.Com ftp: www.Galilmc.Com/ftp warranty all controllers manufactured by galil motion control are warranted against defects in materials and...

  • Page 265: Index

    Index abort.....1, 40, 41, 81, 87, 127, 171, 172, 173, 191, 202, 203 off-on-error................................. 40, 171, 172, 173 stop motion .................................................... 81, 87 absolute position.............................. 33, 70, 71, 72, 129 absolute value ...............

  • Page 266

    Independent axis .................................................. 72 input interrupt............................................. 138, 161 inputting numeric data ...................................... 150 jog 80 latch ................................................................... 120 limit sw...

  • Page 267

    Output compare.................................................... 45 step and direction .............................................. 3, 4 position error poserr ..............................124, 136, 137, 172, 173 position limit ........................................................... 173 prog...