Download Print this page

Advertisement

Quick Links

Galil Motion Control DMC-4123
Motion Controller
A l l t r a d e m a r k s , b r a n d n a m e s , a n d b r a n d s a p p e a r i n g h e r e i n a r e t h e p r o p e r t y o f t h e i r r e s p e c t i v e o w n e r s .
• C r i t i c a l a n d e x p e d i t e d s e r v i c e s
• I n s t o c k / R e a d y - t o - s h i p
Artisan Scientific Corporation dba Artisan Technology Group is not an affiliate, representative, or authorized distributor for any manufacturer listed herein.
Limited Availability
Used and in Excellent Condition
Buy Today!
https://www.artisantg.com/77314-1
• We b u y y o u r e x c e s s , u n d e r u t i l i z e d , a n d i d l e e q u i p me n t
• F u l l - s e r v i c e , i n d e p e n d e n t r e p a i r c e n t e r

Advertisement

loading
Need help?

Need help?

Do you have a question about the DMC-4123 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Galil Motion Control DMC-4123

  • Page 1 Galil Motion Control DMC-4123 Motion Controller Limited Availability Used and in Excellent Condition Buy Today! https://www.artisantg.com/77314-1 A l l t r a d e m a r k s , b r a n d n a m e s , a n d b r a n d s a p p e a r i n g h e r e i n a r e t h e p r o p e r t y o f t h e i r r e s p e c t i v e o w n e r s .
  • Page 2 USER MANUAL DMC-41x3 Manual Rev. 1.3g Galil Motion Control, Inc. 270 Technology Way Rocklin, California 916.626.0101 support@galil.com galil.com 09/2021...
  • Page 3: Using This Manual

    Users of the DMC-4133 3-axis controller, DMC-4123 2-axes controller or DMC-4113 1-axis controller should note that the DMC-4133 uses the axes denoted as ABC, the DMC-4123 uses the axes denoted as AB, and the DMC-4113 uses the A-axis only.
  • Page 4: Table Of Contents

    Contents Contents Chapter 1 Overview Introduction ........................1 Part Numbers ........................ 2 Overview of Motor Types ..................... 6 Overview of External Amplifiers .................. 6 Overview of Galil Amplifiers and Drivers ..............7 DMC-41x3 Functional Elements .................. 8 Chapter 2 Getting Started Elements You Need ......................
  • Page 5 Stepper Position Maintenance Mode (SPM) ..............92 Dual Loop (Auxiliary Encoder) ..................95 Motion Smoothing ....................... 97 Homing ......................... 98 High Speed Position Capture (The Latch Function) ............ 101 Chapter 7 Application Programming Overview ........................102 Program Format ......................102 Executing Programs - Multitasking ................
  • Page 6 Electrical Specifications ....................192 Operation ........................193 A3 – AMP-43240 (-D3240) Description ........................194 Electrical Specifications ....................195 Operation ........................196 Error Monitoring and Protection ................... 198 A4 – AMP-43540 (-D3540, -D3520) Description ........................200 Electrical Specifications ....................201 Servo Motor Operation ....................202 Error Monitoring and Protection ...................
  • Page 7: Chapter 1 Overview

    Chapter 1 Overview Introduction The DMC-41x3 Series are Galil’s Econo motion controller that is a scaled-down version of the DMC-40x0 Acclerra series controller. The controller series offers many enhanced features compared to prior generation Econo series controllers including high speed communications, non-volatile program memory, faster encoder speeds, and improved cabling for EMI reduction.
  • Page 8: Part Numbers

    Part Numbers The DMC controller board comes in two sizes, 1-4 axis models (labeled A-D) and 5-8 axis models (labeled E-H). The number of axis is designated by x in the part number DMC-41x3. In addition, Axis A-D and Axis E-H have their own set of axis-specific options that can be ordered.
  • Page 9 Form Factor (example) Part Number Description DMC-41x3, 1-4 axis model ordered with the -CARD -CARD option. DMC-41x3, 5-8 axis model ordered with the -CARD -CARD option. DMC-41x3, 1-4 axis model ordered with the -BOX4 option. -BOX4 This option is required if DMC-41x3 is ordered with internal amplifiers, AMP or SDM.
  • Page 10 Figure 1.3: Layout of full DMC-41x3 part number If the part number is not readily available, you can determine the information by using the 'ID' command. Issuing an 'ID' command when connected to the controller will return your controller's internal hardware configuration. The placement of the AMP/SDM options is extremely important for 5-8 axis models.
  • Page 11: Amp/Sdm, "-Dxxxx(Y)" Options

    Axis-specific options, “-ABCD(Y) and -EFGH(Y)” Option Type Options Brief Description Documentation BiSS and SSI feedback SER – BiSS and SSI Absolute Encoder Interface, starting on pg HSRC 500mA Sourcing Outputs 500mA Sourcing Optoisolated Outputs (HSRC), pg 29 LSNK 25mA Sinking Outputs 25mA Sinking Optoisolated Outputs (LSNK), pg 27 LSRC 25mA Sourcing Outputs...
  • Page 12: Overview Of Motor Types

    Overview of Motor Types The DMC-41x3 can provide the following types of motor control: 1. Standard servo motors with ±10 volt command signals 2. Step motors with step and direction signals 3. Other actuators such as hydraulics and ceramic motors - For more information, contact Galil. The user can configure each axis for any combination of motor types, providing maximum flexibility.
  • Page 13: Overview Of Galil Amplifiers And Drivers

    Overview of Galil Amplifiers and Drivers With the DMC-41x3 Galil offers a variety of Servo Amplifiers and Stepper Drivers that are integrated into the same enclosure as the controller. Using the Galil Amplifiers and Drivers provides a simple straightforward motion control solution in one box.
  • Page 14: Dmc-41X3 Functional Elements

    DMC-41x3 Functional Elements The DMC-41x3 circuitry can be divided into the following functional groups as shown in Figure 1.4 and discussed below. Figure 1.4: DMC-41x3 Functional Elements Microcomputer Section The main processing unit of the controller is a specialized Microcomputer with RAM and Flash EEPROM. The RAM provides memory for variables, array elements, and application programs.
  • Page 15: System Elements

    inputs (2 inputs / each axis). The general inputs as well as the index pulse can also be used as high speed latches for each axis. A high speed encoder compare output is also provided. The DMC-4153 through DMC-4183 controller provides an additional 8 optoisolated inputs and 8 4183 optoisolated outputs.
  • Page 16: Watchdog Timer

    MA and MB. This type of encoder is known as a quadrature encoder. Quadrature encoders may be either single- ended (MA and MB) or differential (MA+, MA- and MB+, MB-). The DMC-41x3 decodes either type into quadrature states or four times the number of cycles. Encoders may also have a third channel (or index) for synchronization. The DMC-41x3 can be ordered with 120 Ω...
  • Page 17: Chapter 2 Getting Started

    Chapter 2 Getting Started Elements You Need For a complete system, Galil recommends the following elements: 1. DMC-41x3 series motion controller 2. Motor Amplifiers (integrated when using Galil amplifiers) 3. Power Supply for controller and amplifiers 4. Brushed or brushless servo motors with encoders or stepper motors 5.
  • Page 18: Installing The Dmc, Amplifiers, And Motors

    Installing the DMC, Amplifiers, and Motors Installation of a complete, operational motion control system consists of the following steps: Step 1. Connecting Encoder Feedback, pg 13 Optional for steppers Step 2a. Wiring Motors to Galil's Internal Amplifiers, pg 14 Internal Amplifiers only Step 2b.
  • Page 19: Step 1. Connecting Encoder Feedback

    Step 1. Connecting Encoder Feedback The type of feedback the controller is capable of interfacing with depends on the additional options ordered for the controller. Table 2.1 shows the different encoder feedback types available for the DMC-41x3 including which options are required. Note that each feedback type has a different configuration command. See the Command Reference for full details on how to properly configure each axis.
  • Page 20 Step 2a. Wiring Motors to Galil's Internal Amplifiers If an external amplifier is being used, proceed to Step 2b. Connecting External Amplifiers and Motors. Table 2.2 below provides a general overview of the connections required for connecting different types of motors to Galil internal amplifiers.
  • Page 21 Step 2b. Connecting External Amplifiers and Motors System connection procedures will depend on system components and motor types. Any combination of motor types can be used with the DMC-41x3. There can also be a combination of axes running from Galil integrated amplifiers and drivers and external amplifiers or drivers.
  • Page 22: Step 3. Power The Controller

    Step C. Connect the command signals The DMC-41x3 has two ways of controlling amplifiers: 1. Using a motor command line (±10V analog output). The motor and the amplifier may be configured in torque or velocity mode. In the torque mode, the amplifier gain should be such that a 10V signal generates the maximum required current.
  • Page 23: Step 4. Install The Communications Software

    For more information regarding connector type and part numbers see Power Connector Part Numbers, pg 172. The power specifications for the controller are provided in Power Requirements, pg 165 and the power specifications for each amplifier are found under their specific section in the appendix, see Integrated Components, pg 183. Any emergency stop or disconnect switches should be installed on the AC input to the DC power supply.
  • Page 24 Step 7. Setting Safety Features Step A. Setting Amplifier Gains A transconductance (current) amplifier takes a ±10V command signal and produces a current in the motor proportional to that signal. This ratio is the amplifier gain (amps/volts) and can be set via the Amplifier Gain (AG) command when using Galil's internal amplifiers.
  • Page 25: Step 8. Tune The Servo System

    Step 8. Tune the Servo System Adjusting the tuning parameters is required when using servo motors. The controller's default set of PID's are not optimized and should not be used in practice. For the theory of operation and a full explanation of all the PID and other filter parameters, see Chapter 10 Theory of Operation, pg 153.
  • Page 26: Chapter 3 Connecting Hardware

    Chapter 3 Connecting Hardware Overview The DMC-41x3 provides optoisolated digital inputs for forward limit, reverse limit, home, and abort signals. The controller also has 8 optoisolated, uncommitted inputs (for general use) as well as 8 optoisolated outputs and 8 analog inputs configured for voltages between ±10 volts. Controllers with 5 or more axes have an additional 8 optoisolated inputs and an additional 8 4183 optoisolated outputs.
  • Page 27: Home Switch Input

    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.
  • Page 28: Elo (Electronic Lock-Out) Input

    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. This can be configured with the CN command.
  • Page 29: Optoisolated Input Electrical Information

    Optoisolated Input Electrical Information Electrical Specifications INCOM/LSCOM Max Voltage 24 V INCOM/LSCOM Min Voltage Minimum current to turn on Inputs 1.2 mA Minimum current to turn off Inputs once activated (hysteresis) 0.5 mA 11 mA Maximum current per input Internal resistance of inputs 2.2 kΩ...
  • Page 30: Wiring The Optoisolated Digital Inputs

    Wiring the Optoisolated Digital Inputs To take full advantage of optoisolation, an isolated power supply should be used to provide the voltage at the input common connection. Connecting the ground of the isolated power to the ground of the controller will bypass optoisolation and is not recommended if true optoisolation is desired.
  • Page 31 Figure 3.3: Limit Switch Inputs for Axes A-D Figure 3.4: Limit Switch Inputs for Axes E-H Figure 3.5: ELO, Abort and Reset Inputs Chapter 3 Connecting Hardware ▫ 25 DMC-41x3 User Manual...
  • Page 32: Optoisolated Outputs

    Optoisolated Outputs The DMC-41x3 has several different options for the uncommitted digital outputs (labeled as DO). The default outputs are 4mA sinking which are ideal for interfacing to TTL level devices. Additional options include 25mA sinking (lower power sinking, LSNK), 25mA sourcing (low power sourcing, LSRC), and 500mA sourcing outputs (high power sourcing, HSRC).
  • Page 33 Figure 3.7: 4mA sinking wiring diagram for Bank 1, DO[16:9] 25mA Sinking Optoisolated Outputs (LSNK) Description The 25mA sinking option, referred to as lower power sinking (LSNK), are capable of sinking up to 25mA per output. The voltage range for the outputs is 5-24 VDC. These outputs should not be used to drive inductive loads directly. Electrical Specifications Output PWR Max Voltage 24 V...
  • Page 34 Figure 3.9: 25mA sinking wiring diagram for Bank 1, DO[16:9] 25mA Sourcing Optoisolated Outputs (LSRC) Description The 25mA sourcing option, referred to as lower power sourcing (LSRC), are capable of sourcing up to 25mA per output. The voltage range for the outputs is 5-24 VDC. These outputs should not be used to drive inductive loads directly.
  • Page 35 Figure 3.11: 25mA sourcing wiring diagram for Bank 1, DO[16:9] 500mA Sourcing Optoisolated Outputs (HSRC) Description The 500mA sourcing option, referred to as high power sourcing (HSRC), is capable of sourcing up to 500mA per output and up to 3A per bank. The voltage range for the outputs is 12-24 V .
  • Page 36: Ttl Inputs And Outputs

    Figure 3.13: 500mA sourcing wiring diagram for Bank 1, DO[16:9] TTL Inputs and Outputs Main Encoder Inputs The main encoder inputs can be configured for quadrature (default) or pulse and direction inputs. This configuration is set through the CE command. The encoder connections are found on the HD D-sub Encoder connectors and are labeled MA+, MA-, MB+, MB-.
  • Page 37: Output Compare

    voltage that is ~½ of the full voltage range (for example, connect the '-' input to the 5 volts on the Galil if the signal is 0 - 12V logic). Example: A DMC-4113 has one auxiliary encoder. This encoder has two inputs (channel A and channel B). Channel A input is mapped to input 81 and Channel B input is mapped to input 82.
  • Page 38: Analog Inputs

    12-bit A/D decoder giving a voltage resolution of approximately .005V. A 16-bit ADC is available as an option (Ex. DMC-4123-CARD(-16bit) ). The analog inputs are specified as AN x where x is a number 1 thru 8. AQ settings The analog inputs can be set to a range of ±10V, ±5V, 0-5V or 0-10V, this allows for increased resolution when the...
  • Page 39: External Amplifier Interface

    External Amplifier Interface External Stepper Control The controller provides step and direction (STPn, DIRn) outputs for every axis available on the controller. Step and direction outputs need to be wired with respect to digital ground (GND). See the MT command for more details. Step and Direction Electrical Specifications Output Voltage 0 –...
  • Page 40 Chapter 3 Connecting Hardware ▫ 34 DMC-41x3 User Manual...
  • Page 41 Chapter 3 Connecting Hardware ▫ 35 DMC-41x3 User Manual...
  • Page 42 Chapter 3 Connecting Hardware ▫ 36 DMC-41x3 User Manual...
  • Page 43 Chapter 3 Connecting Hardware ▫ 37 DMC-41x3 User Manual...
  • Page 44: Chapter 4 Software Tools And Communication

    Chapter 4 Software Tools and Communication Introduction The default configuration DMC-41x3 has one USB port, one RS-232 port and one Ethernet port. The auxiliary RS- 232 port is the data term and can be configured with the software command CC. This configuration can be saved using the Burn (BN) instruction.
  • Page 45: Unsolicited Messages Generated By Controller

    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-41x3 response with the data sent. The echo is enabled by sending the command EO 1 to the controller.
  • Page 46: Baud Rate Selection

    communication. The USB port on the DMC-41x3 is a Female Type B USB port. The standard cable when communicating to a PC will be a Male Type A – Male Type B USB cable. When connected to a PC, the USB connection will be available as a new serial port connection (ex. with GDK “COM3 115200”).
  • Page 47: Ethernet Configuration

    Ethernet Configuration Communication Protocols The Ethernet is a local area network through which information is transferred in units known as packets. Communication protocols are necessary to dictate how these packets are sent and received. The DMC-41x3 supports two industry standard protocols, TCP/IP and UDP/IP. The controller will automatically respond in the format in which it is contacted.
  • Page 48: Communicating With Multiple Devices

    Be sure that there is only one BOOT-P or DHCP server running. If your network has DHCP or BOOT-P running, it may automatically assign an IP address to the DMC controller upon linking it to the CAUTION network. In order to ensure that the IP address is correct, please contact your system administrator before connecting the I/O board to the Ethernet network.
  • Page 49: Using Third Party Software

    Multicasting A multicast may only be used in UDP/IP and is similar to a broadcast (where everyone on the network gets the information) but specific to a group. In other words, all devices within a specified group will receive the information that is sent in a multicast.
  • Page 50: Modbus Examples

    A Modbus master has the ability to read and write array data on the DMC-41x3 acting as a slave (up to 1000 elements are available). Each element is accessible as a 16-bit unsigned integer (Modbus register 1xxx) or as a 32- bit floating point number (Modbus registers 2xxx).
  • Page 51 Results: Both steps 3a and 3b will result in outputs being activated as below. The only difference being that step 3a will set and clear all 16 bits where as step 3b will only set the specified bits and will have no affect on the others. Bit Number Status Bit Number...
  • Page 52 pump[0]=16531=0x4093 pump[1]=13107=0x3333 3. Send the appropriate MB command. Use function code 16. Start at address 30000 and write to 2 registers using the data in the array pump[] MBB=,16,30000,2,pump[] Results: Analog output will be set to 0x40933333 which is 4.6V Chapter 4 Software Tools and Communication ▫...
  • Page 53: Data Record

    Data Record The DMC-41x3 can provide a binary block of status information with the use of the QR and DR commands. These commands, 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 specified by the command arguments: QR ABCDEFGHST Each argument corresponds to a block of information according to the Data Record Map below.
  • Page 54 Axis Information ADDR TYPE ITEM ADDR TYPE ITEM 82-83 A axis status – see bit field map below 226-227 E axis status – see bit field map below A axis switches – see bit field map below E axis switches – see bit field map below A axis stop code E axis stop code 86-89...
  • Page 55: Data Record Bit Field Maps

    Data Record Bit Field Maps Header Information - Byte 0, 1 of Header: BIT 15 BIT 14 BIT 13 BIT 12 BIT 11 BIT 10 BIT 9 BIT 8 I Block Present T Block Present in S Block Present in Data Record Data Record in Data Record BIT 7...
  • Page 56: Amplifier Status (4 Bytes)

    Amplifier Status (4 Bytes) BIT 31 BIT 30 BIT 29 BIT 28 BIT 27 BIT 26 BIT 25 BIT 24 ELO Active ELO Active (Axis E-H) (Axis A-D) BIT 23 BIT 22 BIT 21 BIT 20 BIT 19 BIT 18 BIT 17 BIT 16 Peak Current...
  • Page 57: Galil Software

    Galil Software Galil provides a variety of software tools available to make communication and configuration easier for the user. Galil’s latest generation software is available on the Galil website at: http://galil.com/downloads/software Creating Custom Software Interfaces Galil provides programming tools so that users can develop their own custom software interfaces to a Galil controller.
  • Page 58: Chapter 5 Command Basics

    Chapter 5 Command Basics Introduction The DMC-41x3 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 are sent in ASCII. The DMC-41x3 instruction set is BASIC-like and easy to use. Instructions consist of two uppercase letters that correspond phonetically with the appropriate function.
  • Page 59: Implicit Notation

    Implicit Notation PR is the two character instruction for position relative. 4000 is the argument which represents the required position value in counts. The <return> terminates the instruction. The space between PR and 4000 is optional. For specifying data for the A,B,C and D axes, commas are used to separate the axes. If no data is specified for an axis, a comma is still needed as shown in the examples below.
  • Page 60: Interrogating The Controller

    DMC-41x3 returns a ? When the controller receives an invalid command the user can request the error code. The error code will specify the reason for the invalid command response. To request the error code type the command TC1. For example: ?TC1 Tell Code command 1 Unrecognized command...
  • Page 61: Command Summary

    Operands Most DMC-41x3 commands have corresponding operands that can be used for interrogation. Operands must be used inside of valid DMC expressions. For example, to display the value of an operand, the user could use the command: where ‘operand’ is a valid DMC operand MG ‘operand’...
  • Page 62: Chapter 6 Programming Motion

    The DMC-4113 are single axis controllers and use X-axis motion only. Likewise, the DMC-4123 use X and Y, the DMC-4133 use X,Y, and Z, and the DMC-4143 use X,Y,Z, and W. The DMC-4153 use A,B,C,D, and E. The DMC-4163 use A,B,C,D,E, and F.
  • Page 63: Independent Axis Positioning

    Moving along arbitrary profiles or Contour Mode CM, CD, DT mathematically prescribed profiles such as sine or cosine trajectories. Teaching or Record and Play Back Contour Mode with Teach (Record and Play-Back) CM, CD, DT, RA, RD, RC Backlash Correction Dual Loop (Auxiliary Encoder) Following a trajectory based on a master Electronic Cam...
  • Page 64: Operand Summary - Independent Axis

    The lower case specifiers (x,y,z,w) represent position values for each axis. The DMC-41x3 also allows use of single axis specifiers such as PRY=2000 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’...
  • Page 65: Independent Jogging

    Figure 6.1: Velocity Profiles of XYZ Notes on Figure 6.1: The X and Y axis have a ‘trapezoidal’ velocity profile, while the Z axis has a ‘triangular’ velocity profile. The X and Y axes accelerate to the specified speed, move at this constant speed, and then decelerate such that the final position agrees with the command position, PR.
  • Page 66: Example - Joystick Jogging

    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 jog speed for the axis specified by ‘x’ _TVx Returns the actual velocity of the axis specified by ‘x’ (averaged over 0.25 sec) Example - Jog in X only Jog X motor at 50000 count/s.
  • Page 67 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 always be trapezoidal with the parameters specified by AC, DC, and SP.
  • Page 68 commanded, the controller decelerates at the rate specified by the DC command. The controller then ramps the velocity in up to the value set with SP in the opposite direction traveling to the new specified absolute position. In Figure 6.3 the velocity profile is triangular because the controller doesn’t have sufficient time to reach the set speed of 50000 counts/sec before it is commanded to change direction.
  • Page 69: Command Summary - Position Tracking Mode

    Figure 6.4: Position and Velocity vs Time (msec) for Motion 3 Figure 6.5: Position and Velocity vs Time (msec) for Motion 3 with IT 0.1 Note the controller treats the point where the velocity passes through zero as the end of one move, and the beginning of another move.
  • Page 70: Linear Interpolation Mode

    Linear Interpolation Mode The DMC-41x3 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 of incremental distances for each axis. An unlimited number of incremental segments may be given in a continuous move sequence, making the linear interpolation mode ideal for following a piece-wise linear path.
  • Page 71: An Example Of Linear Interpolation Motion

    An Example of Linear Interpolation Motion: #LMOVE label DP 0,0 Define position of X and Y axes to be 0 LMXY Define linear mode between X and Y axes. LI 5000,0 Specify first linear segment LI 0,5000 Specify second linear segment End linear segments VS 4000 Specify vector speed...
  • Page 72: Command Summary - Linear Interpolation

    Command Summary - Linear Interpolation COMMAND DESCRIPTION LM XYZW Specify axes for linear interpolation LM ABCDEFGH (same) controllers with 5 or more axes Returns number of available spaces for linear segments in DMC-41x3 sequence buffer. Zero means buffer full. 511 means buffer empty. LI x,y,z,w<n Specify incremental distances relative to current position, and assign vector speed n.
  • Page 73: Example - Multiple Moves

    The result is shown in Figure 6.6. Figure 6.6: 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 the program #LOAD. #LOAD Load Program DM VX [750],VY [750]...
  • Page 74: Specifying The Coordinate Plane

    DMC-41x3 performs all the complex computations of linear and circular interpolation, freeing the host PC from this time intensive task. The coordinated motion mode is similar to the linear interpolation mode. Any pair of two axes may be selected for coordinated motion consisting of linear and circular segments.
  • Page 75: Additional Commands

    Additional commands The commands VS n, VA n and VD n are used for specifying the vector speed, acceleration, and deceleration. IT is the s curve smoothing constant used with coordinated motion. Specifying Vector Speed for Each Segment: The vector speed may be specified by the immediate command VS. It can also be attached to a motion segment with the instructions VP x,y <...
  • Page 76: Command Summary - Coordinated Motion Sequence

    Example: Assume an XY table with the Z-axis controlling a knife. The Z-axis has a 2000 quad counts/rev encoder and has been initialized after power-up to point the knife in the +Y direction. A 180° circular cut is desired, with a radius of 3000, center at the origin and a starting point at (3000,0).
  • Page 77: Vector Mode - Mathematical Analysis

    When AV is used as an operand, _AV returns the distance traveled along the sequence. The operands _VPX and _VPY can be used to return the coordinates of the last point specified along the path. Example: Traverse the path shown in Figure 6.7. Feed rate is 20000 counts/sec. Plane of motion is XY VM XY Specify motion plane VS 20000...
  • Page 78 of rotation is positive. Angles are expressed in degrees, and the resolution is 1/256th of a degree. For example, the path shown in Figure 6.8 is specified by the instructions: VP 0,10000 CR 10000, 180, -90 VP 20000, 20000 20000 10000 10000 20000...
  • Page 79 Velocity 10000 time (s) 0.05 0.357 0.407 Figure 6.9: Vector Velocity Profile The acceleration time, Ta, is given by 100000    0 05 2000000 The slew time, Ts, is given by 35708      0 307 100000 The total motion time, Tt, is given by: ...
  • Page 80: Electronic Gearing

    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 ratio may be different for each axis and changed during motion.
  • Page 81: Example - Electronic Gearing Over A Specified Interval

    Figure 6.11: Velocity counts/sec vs. Time (msec) Instantaneous Gearing Engagement Figure 6.12: Velocity (counts/sec) vs. Time (msec) Ramped Gearing The slave axis for each figure is shown on the bottom portion of the figure; the master axis is shown on the top portion.
  • Page 82 Using the ramped gearing, the slave will engage gearing gradually. Since the gearing is engaged over the interval of 6000 counts of the master, the slave will only travel ~3396 counts and ~135 counts respectively. The difference between these two values is stored in the _GPn operand. If exact position synchronization is required, the IP command is used to adjust for the difference.
  • Page 83: Example - Synchronize Two Conveyor Belts With Trapezoidal Velocity Correction

    GA, CX Specify the commanded position of X as master for Y. GR,1 Set gear ratio for Y as 1:1 GM,1 Set gantry mode PR 3000 Command X motion BG X Start motion on X axis You may also perform profiled position corrections in the electronic gearing mode. Suppose, for example, that you need to advance the slave 10 counts.
  • Page 84 where x,y,z,w specify the cycle of the master and the total change of the slaves over one cycle. 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.
  • Page 85 where x,y,z,w are the master positions at which the corresponding slave axes are disengaged. 3000 2250 1500 2000 4000 6000 Master X Figure 6.13: 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.
  • Page 86: Command Summary - Electronic Cam

    INSTRUCTION INTERPRETATION #RUN Label Enable cam PA,500 starting position SP,5000 Y speed Move Y motor After Y moved Wait for start signal EG,1000 Engage slave AI - 1 Wait for stop signal EQ,1000 Disengage slave Command Summary - Electronic CAM Command Description EA p...
  • Page 87 INSTRUCTION INTERPRETATION #A;V1=0 Label; Initialize variable PA 0,0;BGXY;AMXY Go to position 0,0 on X and Y axes EA Z Z axis as the Master for ECAM EM 0,0,4000 Change for Z is 4000, zero for X, Y EP400,0 ECAM interval is 400 counts with zero start ET[0]=0,0 When master is at 0 position;...
  • Page 88: Pvt Mode

    PVT Mode The DMC-41x3 controller now supports a mode of motion referred to as “PVT.” This mode allows arbitrary motion profiles to be defined by position, velocity and time individually on all 8 axes. This motion is designed for systems where the load must traverse a series of coordinates with no discontinuities in velocity.
  • Page 89: Command Summary - Pvt

    The “t” value is entered in samples, which will depend on the TM setting. With the default TM of 1000, one sample is 976us. This means that a “t” value of 1024 will yield one second of motion. The velocity value, “v” will always be in units of counts per second, regardless of the TM setting.
  • Page 90: Multi-Axis Coordinated Move

    The DMC program is shown below and the results can be seen in Figure 6.16. INSTRUCTION INTERPRETATION #PVT Label PVX = 57,437,256 Incremental move of 57 counts in 256 samples with a final velocity of 437 counts/sec PVX = 151,750,256 Incremental move of 151 counts in 256 samples with a final velocity of 750 counts/sec PVX = 214,937,256 Incremental move of 214 counts in 256 samples with a final velocity of 937 counts/sec...
  • Page 91: Contour Mode

    PVB = 500,5000,500 point in Figure 6.21 - B axis PVA = 1000,4000,1200 point in Figure 6.21 - A axis PVB = 4500,0,1200 point in Figure 6.21 - B axis PVA = 1000,4000,750 point in Figure 6.21 - A axis PVB = -1000,1000,750 point in Figure 6.21 - B axis BTAB...
  • Page 92: Command Summary - Contour Mode

    Point 3 X=288 at T=12ms Point 4 X=336 at T=28ms The same trajectory may be represented by the increments Increment 1 DX=48 Time=4 DT=2 Increment 2 DX=240 Time=8 DT=3 Increment 3 DX=48 Time=16 DT=4 When the controller receives the command to generate a trajectory along these points, it interpolates linearly between the points.
  • Page 93: General Velocity Profiles

    General Velocity Profiles The Contour Mode is ideal for generating any arbitrary velocity profiles. The velocity profile can be specified as a mathematical function or as a collection of points. The design includes two parts: Generating an array with data points and running the program. Generating an Array - An Example Consider the velocity and position profiles shown in Figure 6.19.
  • Page 94: Teach (Record And Play-Back)

    V3=-955*@SIN[V2]+V1 Compute position V4=@INT[V3] Integer value of V3 POS[C]=V4 Store in array POS T=T+8 C=C+1 JP #A,C<16 Program to find position differences D=C+1 DIF[C]=POS[D]-POS[C] Compute the difference and store C=C+1 JP #C,C<15 #RUN Program to run motor Contour Mode 8 millisecond intervals CD DIF[C] Contour Distance is in DIF C=C+1...
  • Page 95: Virtual Axis

    Record and Playback Example: #RECORD Begin Program DM XPOS[501] Dimension array with 501 elements RA XPOS[] Specify automatic record RD _TPX Specify X position to be captured Turn X motor off Begin recording; 4 msec interval (at TM1000) #A;JP#A,_RC=1 Continue until done recording #COMPUTE Compute DX DM DX[500]...
  • Page 96: Stepper Motor Operation

    This can be performed by commanding the X and N axes to perform circular motion. Note that the value of VS must be VS=2π * R * F where R is the radius, or amplitude and F is the frequency in Hz. Set VA and VD to maximum values for the fastest acceleration.
  • Page 97: Motion Complete Trippoint

    caused by the stepper motor smoothing filter, KS. To understand this, consider the steps the controller executes to generate step pulses: 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).
  • Page 98: Stepper Position Maintenance Mode (Spm)

    Operand Summary - Stepper Motor Operation OPERAND DESCRIPTION _DEx Contains the value of the step count register for the ‘x’ axis _DPx Contains the value of the main encoder for the ‘x’ axis _ITx Contains the value of the Independent Time constant for the ‘x’ axis _KSx Contains the value of the Stepper Motor Smoothing Constant for the ‘x’...
  • Page 99: Error Limit

    Error Limit The value of QS is internally monitored to determine if it exceeds a preset limit of three full motor steps. Once the value of QS exceeds this limit, the controller then performs the following actions: 1. The motion is maintained or is stopped, depending on the setting of the OE command. If OE=0 the axis stays in motion, if OE=1 the axis is stopped.
  • Page 100: Example: Error Correction

    Example: Error Correction The following code demonstrates what is necessary to set up SPM mode for the X axis, detect error, stop the motor, correct the error, and return to the main code. The drive is a full step drive, with a 1.8 step motor and 4000 count/rev encoder.
  • Page 101: Dual Loop (Auxiliary Encoder)

    #MOTION; Perform motion SP16384; Set the speed PR10000; Prepare mode of motion BGX; Begin motion JS#CORRECT; Move to correction #MOTION2 SP16384; Set the speed PR-10000; Prepare mode of motion BGX; Begin motion JS#CORRECT; Move to correction JP#MOTION #CORRECT; Correction code spx=_SPX #LOOP;...
  • Page 102: Backlash Compensation

    DE ?,,? returns the value of the X and Z auxiliary encoders. The auxiliary encoder position may be assigned to variables with the instructions V1= _DEX The command, TD XYZW, returns the current position of the auxiliary encoder. The command, DV 1,1,1,1, configures the auxiliary encoder to be used for backlash compensation. Backlash Compensation There are two methods for backlash compensation using the auxiliary encoders: 1.
  • Page 103: Motion Smoothing

    The design approach is to drive the motor a distance, which corresponds to 40,000 rotary counts. Once the motion is complete, the controller monitors the position of the linear encoder and performs position corrections. This is done by the following program. INSTRUCTION INTERPRETATION #DUALOOP...
  • Page 104: Using The Ks Command (Step Motor Smoothing)

    ACCELERATION VELOCITY VELOCITY ACCELERATION VELOCITY Figure 6.20: 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 command smoothes the frequency of step motor pulses. Similar to the command IT, this produces a smooth velocity profile.
  • Page 105: Example: Homing

    The Find Edge (FE) instruction is useful for initializing the motor to a home switch. The home switch is connected to the Homing Input. When the Find Edge command and Begin is used, the motor will accelerate up to the slew speed and slew until a transition is detected on the Homing line.
  • Page 106: Example: Find Edge

    DC 1000000 Deceleration Rate SP 5000 Speed for Home Search Home Begin Motion After Complete MG “AT HOME” Send Message Figure 6.22 shows the velocity profile from the homing sequence of the example program above. For this profile, the switch is normally closed and CN,-1. HOME SWITCH _HMX=0...
  • Page 107: Command Summary - Homing Operation

    Command Summary - Homing Operation COMMAND DESCRIPTION FE XYZW Find Edge Routine. This routine monitors the Home Input FI XYZW Find Index Routine - This routine monitors the Index Input HM XYZW Home Routine - This routine combines FE and FI as Described Above SC XYZW Stop Code TS XYZW...
  • Page 108: Chapter 7 Application Programming

    Chapter 7 Application Programming Overview The DMC-41x3 provides a powerful programming language that allows users to customize the controller for their particular application. Programs can be downloaded into the DMC-41x3 memory freeing the host computer for other tasks. However, the host computer can send commands to the controller at any time, even while a program is being executed.
  • Page 109: Special Labels

    #BEGIN1 Invalid labels #1Square #123 A Simple Example Program: #START Beginning of the Program PR 10000,20000 Specify relative distances on X and Y axes BG XY Begin Motion Wait for motion complete WT 2000 Wait 2 sec JP #START Jump to label START End of Program The above program moves X and Y 10000 and 20000 units.
  • Page 110: Executing Programs - Multitasking

    NOTE: The NO command is an actual controller command. Therefore, inclusion of the NO commands will require process time by the controller. Difference between NO and ' using the GDK software The GDK software will treat an apostrophe (') commend different from an NO when the compression algorithm is activated upon a program download (line >...
  • Page 111: Debugging Programs

    Debugging Programs The DMC-41x3 provides commands and operands which are useful in debugging application programs. These commands include interrogation commands to monitor program execution, determine the state of the controller and the contents of the controllers program, array, and variable space. Operands also contain important status information which can help to debug a program.
  • Page 112: Debugging Example

    _ED contains the last line of program execution. Useful to determine where program stopped. _DL contains the number of available labels. _UL contains the number of available variables. _DA contains the number of available arrays. _DM contains the number of available array elements. _AB contains the state of the Abort Input _LFx contains the state of the forward limit switch for the ‘x’...
  • Page 113: Event Trigger Examples

    DMC-41x3 Event Triggers Command Function AM X Y Z W or S Halts program execution until motion is complete on the (A B C D E F G H) 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.
  • Page 114 Event Trigger - Set Output after Distance Set output bit 1 after a distance of 1000 counts from the start of the move. The accuracy of the trippoint is the speed multiplied by the sample period. #SETBIT;' Label SP 10000;' Speed is 10000 PA 20000;' Specify Absolute position...
  • Page 115: Event Trigger - Multiple Move With Wait

    Event Trigger - Multiple Move with Wait This example makes multiple relative distance moves by waiting for each to be complete before executing new moves. #MOVES;' Label PR 12000;' Distance SP 20000;' Speed AC 100000;' Acceleration BGX;' Start Motion AD 10000;' Wait a distance of 10,000 counts SP 5000;' New Speed...
  • Page 116: Conditional Jumps

    Conditional Jumps The DMC-41x3 provides Conditional Jump (JP) and Conditional Jump to Subroutine (JS) instructions for branching to a new program location based on a specified condition. The conditional jump determines if a condition is satisfied and then branches to a new location or subroutine. Unlike event triggers, the conditional jump instruction does not halt the program sequence.
  • Page 117: Using If, Else, And Endif Commands

    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<v2) & (v3<v4)) | (v5<v6) This statement will cause the program to jump to the label #TEST under two conditions;...
  • Page 118: Nesting If Conditional Statements

    and has no arguments. If the argument of the IF command evaluates false, the controller will skip commands until the ELSE command. If the argument for the IF command evaluates true, the controller will execute the commands between the IF and ELSE command. Nesting IF Conditional Statements The DMC-41x3 allows for IF conditional statements to be included within other IF conditional statements.
  • Page 119: Stack Manipulation

    Begin Main Program Clear Output Bit 1 (pick up pen) VP 1000,1000;LE;BGS Define vector position; move pen Wait for after motion trippoint Set Output Bit 1 (put down pen) JS #Square;CB1 Jump to square subroutine End Main Program #Square Square subroutine v1=500;JS #L Define length of side v1=-v1;JS #L...
  • Page 120: Example - Limit Switch

    For example, the #POSERR subroutine will automatically be executed when any axis exceeds its position error limit. The commands in the #POSERR subroutine could decode which axis is in error and take the appropriate action. In another example, the #ININT label could be used to designate an input interrupt subroutine. When the specified input occurs, the program will be executed automatically.
  • Page 121: Example - Motion Complete Timeout

    Example - Motion Complete Timeout #BEGIN Begin main program TW 1000 Set the time out to 1000 ms PA 10000 Position Absolute command Begin motion Motion Complete trippoint End main program #MCTIME Motion Complete Subroutine MG “X fell short” Send out a message End subroutine This simple program will issue the message “X fell short”...
  • Page 122: Example - Command Error W/Multitasking

    Example - Command Error w/Multitasking Begin thread 0 (continuous loop) JP#A End of thread 0 Begin thread 1 N=-1 Create new variable KP N Set KP to value of N, an invalid value Issue invalid command End of thread 1 #CMDERR Begin command error subroutine IF _TC=6...
  • Page 123: Example - Amplifier Error

    #LOOP Simple program loop JP#LOOP #TCPERR Ethernet communication error auto routine MG {P1}_IA4 Send message to serial port indicating which handle did not receive proper acknowledgment. Example – Amplifier Error The program below will execute upon the detection of an error from an internal Galil Amplifier. The bits in TA1 will be set for all axes that have an invalid hall state even if BR1 is set for those axes, this is handled with the mask variable shown in the code below.
  • Page 124: Example: Variable, And An Important Note About Creating Global Variables

    Example: Variable, and an Important Note about Creating Global Variables #Var value=5 ;'a value to be passed by reference global=8 ;'a global variable JS#SUM(&value,1,2,3,4,5,6,7) ;'note first arg passed by reference value ;'message out value after subroutine. ;'message out returned value #SUM ;NO(* ^a,^b,^c,^d,^e,^f,^g) ^a=^b+^c+^d+^e+^f+^g+^h+global...
  • Page 125: Example: Recursion

    Example: Local Scope #Local JS#POWER(2,2) MG_JS JS#POWER(2,16) MG_JS JS#POWER(2,-8) MG_JS #POWER ;NO(base ^a,exponent^b) Returns base^exponent power. ± integer only ^c=1 ;'unpassed variable space (^c-^h) can be used as local scope variables ^b=0 ;'special case, exponent = 0 EN,,1 ENDIF ^b<0 ;'special case, exponent <...
  • Page 126: General Program Flow And Timing Information

    MG TIME-t;'display number of samples from initial time reference When executed on a DMC-4123, the output from the above program returned a 116, which indicates that it took 116 samples (TM 1000) to process the commands from 't=TIME' to 'MG TIME-t'. This is about 114ms ±2ms.
  • Page 127: Mathematical And Functional Expressions

    AT0;'set initial AT time reference WT 1000,1;'wait 1000 samples t1=TIME AT 4000,1;'wait 4000 samples from last time reference t2=TIME-t1 REM in the above scenario, t2 will be ~3000 because AT 4000,1 will have REM paused program execution from the time reference of AT0 REM since the WT 1000,1 took 1000 samples, there was only 3000 samples left REM of the “4000”...
  • Page 128: Mathematical Operation Precision And Range

    Mathematical operations are executed from left to right. Calculations within parentheses have precedence. Examples: speed = 7.5*V1/2 The variable, speed, is equal to 7.5 multiplied by V1 and divided by 2 count = count+2 The variable, count, is equal to the current value plus 2. result =_TPX-(@COS[45]*40) °...
  • Page 129 #TEST Begin main program len=”123456” Set len to a string value Flen=@FRAC[len] Define variable ‘Flen’ as fractional part of variable ‘len’ 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’...
  • Page 130: Variables

    Variables For applications that require a parameter that is variable, the DMC-41x3 provides 510 variables. These variables can be numbers or strings. A program can be written in which certain parameters, such as position or speed, are defined as variables. The variables can later be assigned by the operator or determined by program calculations. For example, a cut-to-length application may require that a cut length be variable.
  • Page 131: Operands

    SP vS*2000 Assign vS*2000 to SP command 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 X-Y joystick and assigns it to variables vX and vY to drive the motors at proportional velocities, where: 10 Volts = 3000 rpm = 200000 c/sec...
  • Page 132: Examples Of Keywords

    Keyword Function _BGn *Returns a 1 if motion on axis ‘n’ is complete, otherwise returns 0. *Returns serial # of the board. *Returns the number of arrays available *Returns the number of available labels for programming *Returns the available array memory *Returns status of Home Switch (equals 0 or 1) _HMn _LFn...
  • Page 133: Using A Variable To Address Array Elements

    Examples: DM speed[10] Dimension speed Array speed[0]=7650.2 Assigns the first element of the array, 'speed' the value 7650.2 speed[0]= Returns array element value posx[9]=_TPX Assigns the 10 element of the array 'posx' the returned value from the tell position command. con[1]=@COS[pos]*2 Assigns the second element of the array 'con' the cosine of the variable POS multiplied by 2.
  • Page 134 Command Summary - Automatic Data Capture Command Description Selects up to eight arrays for data capture. The arrays must be defined with the DM command. n[ ],m[ ],o[ ],p[ ] Selects the type of data to be recorded, where type1, type2, type3, and type 4 represent the various types of data (see table below).
  • Page 135: Input Of Data (Numeric And String)

    De-allocating Array Space Array space may be de-allocated using the DA command followed by the array name. DA*[0] deallocates all the arrays. Input of Data (Numeric and String) NOTE: The IN command has been removed from the DMC-41x3 firmware. Variables should be entered by sending data directly from the host application.
  • Page 136: Using Communication Interrupt

    Example Instruction Interpretation JP #LOOP,P2CD< >3 Checks to see if status code is 3 (number received) JP #P,P2CH="V" Checks if last character received was a V PR P2NM Assigns received number to position JS #XAXIS,P2ST="X" Checks to see if received string is X Using Communication Interrupt The DMC-41x3 provides a special interrupt for communication allowing the application program to be interrupted by input from the user.
  • Page 137: Output Of Data (Numeric And String)

    #NMLP Routine to check input from terminal JP #NMLP,P2CD<2 Jump to error if string JP #ERROR,P2CD=2 Read value val=P2NM End subroutine #ERROR;CI-1 Error Routine MG "INVALID-TRY AGAIN" Error message JP #NMLP Output of Data (Numeric and String) Numerical and string data can be output from the controller using several methods. The message command, MG, can output string and numerical data.
  • Page 138: Using The Mg Command To Configure Terminals

    The message command normally sends a carriage return and line feed following the statement. The carriage return and the line feed may be suppressed by sending {N} at the end of the statement. This is useful when a text string needs to surround a numeric value. Example: JG 50000;BGA;ASA MG "The Speed is", _TVA {F5.0} {N}...
  • Page 139: Using The Pf Command To Format Response From Interrogation Commands

    format of the returned data can be changed using the Position Format (PF), and Leading Zeros (LZ) command. For a complete description of interrogation commands, see Chapter 5. 363H 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 ?
  • Page 140: Formatting Variables And Array Elements

    returned in decimal format and $ specifies hexadecimal. n is the number of digits to the left of the decimal, and m is the number of digits to the right of the decimal. TP {F2.2} Tell Position in decimal format 2.2 -05.00, 05.00, 00.00, 07.00 Response from Interrogation Command TP {$4.2}...
  • Page 141: Hardware I/O

    The DMC-41x3 position parameters such as PR, PA and VP have units of quadrature counts. Speed parameters such as SP, JG and VS have units of counts/sec. Acceleration parameters such as AC, DC, VA and VD have units of counts/sec .
  • Page 142: Digital Inputs

    The output port is useful for setting relays or controlling external switches and events during a motion sequence. Example - Turn on output after move Instruction Interpretation #OUTPUT Label PR 2000 Position Command Begin After move Set Output 1 WT 1000 Wait 1000 msec Clear Output 1 Digital Inputs...
  • Page 143: Input Interrupt Function

    will be connected to AA+ and the second to AB+. AA- and AB- will be left unconnected. To access this input, use the function @IN[81] and @IN[82]. NOTE: The auxiliary encoder inputs are not available for any axis that is configured for stepper motor. Input Interrupt Function The DMC-41x3 provides an input interrupt function which causes the program to automatically execute the instructions following the #ININT label.
  • Page 144: Example - Position Follower (Point-To-Point)

    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: Read the analog input and command A to move to that point. Instruction Interpretation #POINTS Label...
  • Page 145: Example Applications

    Example Applications Wire Cutter An operator activates a start switch. This causes a motor to advance the wire a distance of 10”. When the motion stops, the controller generates an output signal which activates the cutter. Allowing 100 ms for the cutting completes the cycle.
  • Page 146 The solid curves in Figure 7.2 indicate sections where cutting takes place. Those must be performed at a feed rate of 1 inch per second. The dashed line corresponds to non-cutting moves and should be performed at 5 inch per second.
  • Page 147: Speed Control By Joystick

    VP -37600,-16000 Return XY to start VS 200000 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 between -10V and +10V.
  • Page 148: Backlash Compensation By Sampled Dual-Loop

    INSTRUCTION FUNCTION Label V3=5 Initial position ratio Define the starting position Set motor in jog mode as zero Start VIN=@AN[1] Read analog input V2=V1*V3 Compute the desired position V4=V2-_TPX-_TEX Find the following error V5=V4*20 Compute a proportional speed JG V5 Change the speed JP #B Repeat the process...
  • Page 149: Using The Dmc Editor To Enter Programs (Advanced)

    The correction can be performed a few times until the error drops below ±2 counts. Often, this is performed in one correction cycle. Example: INSTRUCTION FUNCTION Label Define starting positions as zero LINPOS=0 PR 1000 Required distance Start motion Wait for completion WT 50 Wait 50 msec LINPOS = _DEX...
  • Page 150 The <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 will be inserted between lines 1 and 2. This new line will be labeled line 2. The old line number 2 is renumbered as line 3.
  • Page 151: Chapter 8 Hardware & Software Protection

    Chapter 8 Hardware & Software Protection Introduction The DMC-41x3 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 is the responsibility of the user to design effective error handling and safety protection as part of the machine.
  • Page 152: Input Protection Lines

    Input Protection Lines General Abort A low input stops commanded motion instantly without a controlled deceleration. For any axis in which the Off- On-Error function is enabled, the amplifiers will be disabled. This could cause the motor to ‘coast’ to a stop. If the Off-On-Error function is not enabled, the motor will instantaneously stop and servo at the current position.
  • Page 153 ER,1,,10 Set Y-axis error limit to 1 count, set W-axis error limit to 10 counts. The units of the error limit are quadrature counts. The error is the difference between the command position and actual encoder position. If the absolute value of the error exceeds the value specified by ER, the controller will generate several signals to warn the host system of the error condition.
  • Page 154: Automatic Error Routine

    Example: DP0,0,0 Define Position BL -2000,-4000,-8000 Set Reverse position limit FL 2000,4000,8000 Set Forward position limit JG 2000,2000,2000 BG XYZ Begin (motion stops at forward limits) Off-On-Error The DMC-41x3 controller has a built in function which can turn off the motors under certain error conditions. This function is known as ‘Off-On-Error”.
  • Page 155 Limit Switch Example: #A;JP #A;EN Dummy Program #LIMSWI Limit Switch Utility V1=_LFX Check if forward limit V2=_LRX Check if reverse limit JP#LF,V1=0 Jump to #LF if forward JP#LR,V2=0 Jump to #LR if reverse JP#END Jump to end MG “FORWARD LIMIT” Send message STX;AMX Stop motion...
  • Page 156: 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. Stability and Compensation 3. Operation 4. Error Light (Red LED) The various symptoms along with the cause and the remedy are described in the following tables. Installation SYMPTOM DIAGNOSIS...
  • Page 157: Operation

    Encoder Position Drifts Significant noise can be seen on 1. Noise Shield encoder cables MA+ and / or MB+ encoder Avoid placing power cables near encoder signals cables Avoid Ground Loops Use differential encoders Use ±12V encoders Stability SYMPTOM DIAGNOSIS CAUSE REMEDY Servo motor runs away when...
  • Page 158 the controller back to factory default conditions so it is recommended that all motor and I/O cables be removed for safety while performing the Master Reset. Cables can be plugged back in after the correct settings have been loaded back to the controller (when necessary). To perform a Master Reset - find the jumper location labeled MR or MRST on the controller and put a jumper across the two pins.
  • Page 159: Chapter 10 Theory Of Operation

    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 Figure 10.1. COMPUTER CONTROLLER DRIVER ENCODER MOTOR Figure 10.1: Elements of Servo Systems The operation of such a system can be divided into three levels , the levels are: 1.
  • Page 160: Operation Of Closed-Loop Systems

    This program corresponds to the velocity profiles shown in Figure 10.2. 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 verify that the motor follows the profiled position by closing the servo loop.
  • Page 161: 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 cause for the instability is a combination of delayed reaction and high gain.
  • Page 162: Voltage Drive

    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 K [V/V]. The transfer function relating the input voltage, V, to the motor position, P, is ...
  • Page 163 If the motor is a DC brushless motor, it is driven by an amplifier that performs the commutation. The combined transfer function of motor amplifier combination is the same as that of a similar brush motor, as described by the previous equations.
  • Page 164: Digital Filter

    The model of the encoder can be represented by a gain of = 4N/2π [count/rad] For example, a 1000 lines/rev encoder is modeled as = 638 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.
  • Page 165: System Analysis

    K = 160 A = 0.9 C = 2 a = 250 rad/s and the equivalent continuous filter, G(s), is G(s) = [16 + 0.144s + 2000/s] · 250/ (s+250) , and two complex poles, p and p . The notch filter has two complex zeros, z and The effect of the notch filter is to cancel the resonance affect by placing the complex zeros on top of the resonance poles.
  • Page 166 = 0.0003 [V/count] Encoder = 4N/2π = 318 [count/rad] 2000/(s+2000) Digital Filter KP = 12.5, KD = 245, T = 0.001 Therefore, D(z) = 1030 (z-0.95)/Z Accordingly, the coefficients of the continuous filter are: P = 50 D = 0.98 The filter equation may be written in the continuous equivalent form: G(s) = 50 + 0.98s = .098 (s+51) The system elements are shown in Figure 10.6.
  • Page 167: System Design And Compensation

    Next, we determine the phase of A(s) at the crossover frequency. A(j200) = 390,000 (j200+51)/[(j200) 2 . (j200 + 2000)] α = Arg[A(j200)] = tan -1 (200/51)-180° -tan -1 (200/2000) α = 76° - 180° - 6° = -110° Finally, the phase margin, PM, equals PM = 180°...
  • Page 168 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) K H(s) =3.17· 10 (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(j500) = 3.17·...
  • Page 169 P = KP D = KD · T KD = D/T Assuming a sampling period of T=1ms, the parameters of the digital filter are: KP = 82.4 KD = 274 The DMC-41x3 can be programmed with the instruction: KP 82.4 KD 274 In a similar manner, other filters can be programmed.
  • Page 170: Electrical Specifications

    Appendices Electrical Specifications NOTE Electrical specifications are only valid once controller is out of reset. Servo Control Motor command line ± 10 V analog signal Resolution: 16-bit DAC or 0.0003 volts 3 mA maximum. Output impedance – 500 Ω Main and auxiliary encoder inputs ±...
  • Page 171: Power Requirements

    Input / Output Opto-isolated Inputs: DI[16:1]*, Limit 2.2 kΩ in series with opto-isolator switches, home, abort, reset Active high or low requires at least 1mA to activate. Once activated, the input requires the current to go below 0.5mA. All Limit Switch and Home inputs use one common voltage (LSCOM) which can accept up to 24 volts.
  • Page 172: Performance Specifications

    Performance Specifications Minimum Servo Loop Update Time DMC-4113 125 μsec DMC-4123 125 μsec DMC-4133 250 μsec DMC-4143 250 μsec DMC-4153 375 μsec DMC-4163 375 μsec DMC-4173 500 μsec DMC-4183 500 μsec Position Accuracy ±1 quadrature count Velocity Accuracy Long Term Phase-locked, better than 0.005%...
  • Page 173: Ordering Options

    Ordering Options Overview The DMC-41x3 can be ordered in many different configurations and with different options. This section provides information regarding the different options available on the DMC-41x3 motion controller, axis-specific options, and internal amplifiers. For information on pricing and how to order your controller with these options, see our DMC-41x3 part number generator on our website.
  • Page 174: 4-20Ma - 4-20Ma Analog Inputs

    4-20mA – 4-20mA analog inputs The 4-20mA option converts all 8 analog inputs into 4-20mA analog inputs. This is accomplished by installing 475 Ω precision resistors between the analog inputs and ground. When using this option the analog inputs should be configured for 0-10V analog inputs using the AQ command (AQ n,4).
  • Page 175: Rs-422-Auxiliary Port

    Part number ordering example: DMC-4123-BOX4(MO)-D3520 INVELO – Inverted ELO (Electronic Lock-Out) Logic This option will invert the logic for the ELO input. With this option, current flowing through the ELO circuit (normally closed) is normal operation and will allow Galil internal amplifiers to be powered.
  • Page 176: Description

    Axis-specific, “-ABDC(Y), -EFGH(Y)” Options The following options are the “Y” configuration options that can be added to the axis-specific part numbers. Often, multiple Y-options can be ordered per bank of 4 axis as long as they're separated by a comma. SER –...
  • Page 177 ISAMP – Isolation of power between each AMP amplifier The ISAMP option separates the power pass-through between the Axes 1-4 amplifier and the Axes 5-8 amplifier. This allows the 2 internal amplifiers to be powered at separate voltages. If the ISCNTL option is NOT ordered on the DMC-41x3, the amplifier with the higher bus voltage will automatically power the controller.
  • Page 178: Power Connector Part Numbers

    Power Connector Part Numbers Overview The DMC-41x3 uses Molex Mini-Fit, Jr.™ Receptacle Housing connectors for connecting DC Power to the Amplifiers, Controller, and Motors. This section gives the specifications of these connectors. For information specific to your Galil amplifier or driver, refer to the specific amplifier/driver in the Integrated Components section. Molex Part Numbers There are 3 different Molex connectors used with the DMC-41x3.
  • Page 179: Cable Shielding

    Cable Shielding Electrical noise can negatively impact system performance by affecting different machine components. For example, it can cause the incorrect reporting of digital input states or position data. One simple and effective way to mitigate electrical noise is to add a shield around the encoder and motor phase cables. For proper shielding, the shield's drain wire should be terminated on only one side of the cable.
  • Page 180: Input Current Limitations

    Input Current Limitations The current for an optoisolated input shall not exceed 11mA. Some applications may require the use of an external resistor (R) to limit the amount of current for an input. These external resistors can be placed in series between the inputs and their power supply (Vs).
  • Page 181: Pin-Outs

    Pin-outs J5 - I/O (A-D) 44 pin HD D-Sub Connector (Female) Pin# Label Description Pin# Label Description Pin# Label Description Error Output Reset Input Digital Ground Digital Input 1/ A latch INCOM0 Input Common (DI 1-8) Digital Input 2 / B latch Digital Input 4 / D latch Digital Input 3 / C latch Digital Input 5...
  • Page 182 Jn1 - Encoder 26 pin HD D-Sub Connector (Female) Pin # Label Description Pin # Label Description HALC Hall C Forward Limit Switch Input Amplifier Enable B+ Aux Encoder Input Direction I- Index Pulse Input Home B+ Main Encoder Input LSCOMn Limit Switch Common* Digital Ground...
  • Page 183 J1 – Ethernet (RJ45) Pin # Signal The Ethernet connection is Auto MDIX, 100bT/10bT. J2 – USB The USB port on the DMC-41x3 is a Female Type B USB port. The standard cable when communicating to a PC will be a Male Type A – Male Type B USB cable. J3 –...
  • Page 184: Baud Rate Jumper Settings

    JP1 - Jumper Description for DMC-41x3 Label Function (If jumpered) ARXD RS-422 Option Only: Connects a 120 Ω Termination resistor between the differential “Receive” inputs on the Aux Serial port. Pins 2 and 7 on RS-422 Auxiliary Port. ACTS RS-422 Option Only: Connects a 120 Ω Termination resistor between the differential “Clear To Send”...
  • Page 185: Signal Descriptions

    Signal Descriptions Inputs Encoder, MA+, MB+ Position feedback from incremental encoder with two channels in quadrature, CHA and CHB. The encoder may be analog or TTL. Any resolution encoder may be used as long as the maximum frequency does not exceed 15,000,000 quadrature states/sec. The controller performs quadrature decoding of the encoder signals resulting in a resolution of quadrature counts (4 x encoder cycles).
  • Page 186 Outputs 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. Amplifier Enable Signal to disable and enable an amplifier. Amp Enable goes low on Abort and OE1.
  • Page 187: 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 proud reputation for anticipating and setting the trends in motion control.
  • Page 188: Contacting Us

    18 months after shipment. Motors, and Power supplies are warranted for 1 year. Extended warranties are available. In the event of any defects in materials or workmanship, Galil Motion Control will, at its sole option, repair or replace the defective product covered by this warranty without charge. To obtain warranty service, the defective product must be returned within 30 days of the expiration of the applicable warranty period to Galil Motion Control, properly packaged and with transportation and insurance prepaid.
  • Page 189: Integrated Components

    Integrated Components Overview When ordered, the following components will reside inside the box of the DMC-41x3 motion controller. The amplifiers and stepper drivers provide power to the motors in the system, and the interconnect modules and communication boards provide the connections for the signals and communications. A1 –...
  • Page 190 A6 – AMP-43640 (-D3640) The AMP-43640 contains four linear drives for sinusoidally commutating brushless motors. The AMP-43640 requires a single 15–40VDC input. Output power delivered is typically 20 W per amplifier or 80 W total. A7 – SDM-44040 (-D4040,-D4020) 4-axis Stepper Drives The SDM-44040 is a stepper driver module capable of driving up to four bipolar two-phase stepper motors.
  • Page 191: A1 - Amp-43040 (-D3040,-D3020)

    A1 – AMP-430x0 (-D3040,-D3020) Description The AMP-43040 resides inside the DMC-41x3 enclosure and contains four transconductance, PWM amplifiers for driving brushless or brush-type servo motors. Each amplifier drives motors operating at up to 7 Amps continuous, 10 Amps peak, 20–80 VDC. The gain settings of the amplifier are user-programmable at 0.4 Amp/Volt, 0.7 Amp/Volt and 1 Amp/Volt.
  • Page 192: Electrical Specifications

    Electrical Specifications Servo (Brushless/Brush) Supply Voltage 20-80 VDC Continuous Current 7 Amps Peak Current 10 Amps Switching Frequency 66 kHz (up to 140 kHz available) Amplifier Gains 0.4, 0.7, 1.0 Amps/Volt Brushless Commutation Angle 120° (60° option available) PWM Output Operation Inverter or Chopper (user configurable) Vs(V ) L(mH )=...
  • Page 193: Brushed Motor Operation

    Servo Motor Operation Brushless Motor Setup NOTE: If you purchased a Galil motor with the amplifier, it is ready for use. No additional setup is necessary. To begin the setup of the brushless motor and amplifier, it is first necessary to have communications with the motion controller.
  • Page 194: Setting Amplifier Gain And Current Loop Bandwidth

    Setting Amplifier Gain and Current Loop Bandwidth AG Command: The AMP-43040 has 3 amplifier gain settings. The gain is set with the AG command as shown in Table A1.4 for AGm=n, where m is a specific axis. The axis must be in a motor off (MO) state prior to execution of the AG command.
  • Page 195 Setting Peak and Continuous Torque Limits TK and TL Commands: The peak and continuous torque limits can be set through the TK and TL commands respectively. The controller will command the torque signal (TT) up to the value specified by TK for a maximum of one second, as shown in Figure A1.2.
  • Page 196: Using External Amplifiers

    Using External Amplifiers Use connectors on top of controller to access necessary signals to run external amplifiers. In order to use the full torque limit, make sure the AG setting for the axes using external amplifiers are set to 0 or 1. Set the BR command to 1 for any axis that will be setup to run external amplifiers (this will disable the hall error protection).
  • Page 197: Error Monitoring And Protection

    Error Monitoring and Protection The amplifier is protected against over-voltage, under-voltage, over-temperature, and over-current for brush and brushless operation. The controller will also monitor for illegal Hall states (000 or 111 with 120° phasing). The controller will monitor the error conditions and respond as programmed in the application. The errors are monitored via the TA command.
  • Page 198: Overcurrent Protection

    Over-current Protection The amplifier also has circuitry to protect against over-current. If the total current from a set of 2 axes (ie A and B or C and D) exceeds 20 A, the amplifier will be disabled. The amplifier will not be re-enabled until there is no longer an over-current draw and then either SH command has been sent or the controller is reset.
  • Page 199: A2 - Amp-43140 (-D3140)

    A2 – AMP-43140 (-D3140) Description The AMP-43140 resides inside the DMC-41x3 enclosure and contains four linear drives for operating small, brush- type servo motors. The AMP-43140 requires a ± 12-30 VDC input. Output power is 20 W per amplifier or 60 W total.
  • Page 200: Electrical Specifications

    Electrical Specifications Servo (Brush) Supply Voltage ±12-30 VDC (±12-20 available with ISCNTL) Continuous Current 1.0 Amps (100mA option available) Amplifier Gains 0.1 A/V (10mA A/V option available) Power Output (per channel) 20 W Total Max Power Output 60 W Table A2.1: Amplifier Electrical Specifications Mating Connectors Cable Connectors Terminal Pins...
  • Page 201: Servo Motor Operation

    Servo Motor Operation Using External Amplifiers Use connectors on top of controller to access necessary signals to run external amplifiers. In order to use the full torque limit, make sure the AG setting for the axes using external amplifiers are set to 0 or 1. Set the BR command to 1 for any axis that will be setup to run external amplifiers (this will disable the hall error protection).
  • Page 202 A3 – AMP-43240 (-D3240) Description The AMP-43240 resides inside the DMC-41x3 enclosure and contains four transconductance, PWM amplifiers for driving brushless or brush-type servo motors. Each amplifier drives motors operating at up to 10 Amps continuous, 20 Amps peak, 20–80 VDC. The gain settings of the amplifier are user-programmable at 0.5 Amp/Volt, 1.0 Amp/Volt and 2.0 Amp/Volt.
  • Page 203 Electrical Specifications Servo (Brushless/Brush) Supply Voltage 20-80 VDC Continuous Current 10 Amps Peak Current 20 Amps Switching Frequency 24 kHz Amplifier Gains 0.5, 1.0, 2.0 Amps/Volt Brushless Commutation Angle 120° (60° option available) PWM Output Operation Chopper Vs (V ) L(mH )= Minimum Load Inductance ( A)
  • Page 204 Servo Motor Operation Brushless Motor Setup NOTE: If you purchased a Galil motor with the amplifier, it is ready for use. No additional setup is necessary. To begin the setup of the brushless motor and amplifier, it is first necessary to have communications with the motion controller.
  • Page 205 Chopper Mode The AMP-43240 runs in what is called a “Chopper” mode. The chopper mode is in contrast to the normal inverter mode (AMP-43040) in which the amplifier sends PWM power to the motor of ±VS. In chopper mode, the amplifier sends a 0 to +VS PWM to the motor when moving in the forward direction, and a 0 to –VS PWM to the motor when moving in the negative direction.
  • Page 206 Using External Amplifiers Use connectors on top of controller to access necessary signals to run external amplifiers. In order to use the full torque limit, make sure the AG setting for the axes using external amplifiers are set to 0 or 1. Set the BR command to 1 for any axis that will be setup to run external amplifiers (this will disable the hall error protection).
  • Page 207 Over-Voltage Protection If the voltage supply to the amplifier rises above 94 VDC, then the amplifier will automatically disable. The amplifier will re-enable when the supply drops below 90 V. The over voltage condition will not permanently shut down the amplifier or trigger the #AMPERR routine. The amplifier will be momentarily disabled;...
  • Page 208 A4 – AMP-43540 (-D3540, -D3520) Description The AMP-43540 is a sinusoidally commutated, 16 bit PWM amplifier. It can also be ordered in a two axis configuration specified as -D3520. The AMP-43540 can be configured for the motors below with just a few commands.
  • Page 209 Electrical Specifications Servo (Brushless/Brushed) Supply Voltage 20-80 V Continuous Current 8 Amps Peak Current 15 Amps Switching Frequency 33 kHz Amplifier Gains 0.4, 0.8, 1.6 Amps/Volt Vs (V ) L( mH )= Minimum Load Inductance ( A) 264∗I Ripple Vs = Supply Voltage, I = 10% of the maximum current at chosen gain ripple Table A4.1: Amplifier Electrical Specifications...
  • Page 210 Servo Motor Operation 3-Phase Brushless Motor Operation For 3-phase brushless motor operation, MT must be set to 1 for the axis. The 6 commands used for setup are the BA, BM, BX, BZ, BC and BI. Please see the Command Reference for details. Below is the setup procedure for configuring an axis to operate a 3-phase brushless motor.
  • Page 211: Setting Amplifier Gain And Current Loop Gain

    Setting Amplifier Gain and Current Loop Gain AG Command: The AG command will set the amplifier gain (Amps/Volt). The AU command will set the current loop gain. The AMP-43540 has 3 amplifier gain settings. The gain is set with the AG command as shown in Table A4.4 for AGm=n, where m is a specific axis.
  • Page 212 Setting Peak and Continuous Torque Limits TK and TL Commands: The peak and continuous torque limits can be set through the TK and TL commands respectively. The controller will command the torque signal (TT) up to the value specified by TK for a maximum of one second, as shown in Figure A4.2.
  • Page 213 Error Monitoring and Protection The amplifier is protected against Over-Current, Over-Voltage, Over-Temperature, and Under-Voltage conditions. These conditions are reported as amplifier errors via the TA command and can be cleared with the AZ command. See the Clearing Latched Amplifier Errors section for details. The user has the option to include the automatic subroutine #AMPERR in their program to handle amplifier errors.
  • Page 214 Under-Voltage Protection If the voltage supplied to the amplifier drops below its rated supply voltage, an Under-Voltage error will be reported and the amplifier will be disabled. The error cannot be cleared until the supply voltage raises above its minimum rated supply voltage. Under-Voltage does not latch by default. It will become a latching error after AZ2 is issued to the controller.
  • Page 215 A5 – AMP-43547 (-D3547, -D3527) Description The AMP-43547 is a sinusoidally commutated, 16 bit PWM amplifier that can also be configured as a microstepping drive. It can also be ordered in a two axis configuration specified as -D3527. This amplifier is unique in that it can run either servo or stepper motors on any axis.
  • Page 216 Electrical Specifications Servo (Brushless/Brushed) Stepper Supply Voltage 20-80 V Continuous Current 8 Amps Peak Current 15 Amps Maximum Current per Phase 6 Amps Step Resolution 256 microsteps/full step Switching Frequency 33 kHz Amplifier Gains 0.4, 0.8, 1.6 Amps/Volt 0.75, 1.5, 3, 6 Amps/Phase Vs (V ) L(mH )= Minimum Load Inductance...
  • Page 217 Servo Motor Operation 3-Phase Brushless Motor Operation For 3-phase brushless motor operation, MT must be set to 1 for the axis. The 6 commands used for setup are the BA, BM, BX, BZ, BC and BI. Please see the Command Reference for details. Below is the setup procedure for configuring an axis to operate a 3-phase brushless motor.
  • Page 218 Setting Amplifier Gain and Current Loop Gain AG Command: The AG command will set the amplifier gain (Amps/Volt). The AU command will set the current loop gain. The AMP-43547 has 3 amplifier gain settings. The gain is set with the AG command as shown in Table A5.4 for AGm=n, where m is a specific axis.
  • Page 219 Setting Peak and Continuous Torque Limits TK and TL Commands: The peak and continuous torque limits can be set through the TK and TL commands respectively. The controller will command the torque signal (TT) up to the value specified by TK for a maximum of one second, as shown in Figure A5.2.
  • Page 220: Stepper Motor Operation

    Stepper Motor Operation To configure an axis for a bipolar stepper motor, set MT to -2 for that axis. Setting Amplifier Gain and Current Loop Gain The AG command will set the amplifier gain (Amps/Volt). The AU command will set the current loop gain. AG Command: The AMP-43547 has 4 amplifier gain (current) settings.
  • Page 221: Error Monitoring And Protection

    Error Monitoring and Protection The amplifier is protected against Over-Current, Over-Voltage, Over-Temperature, and Under-Voltage conditions. These conditions are reported as amplifier errors via the TA command and are cleared with the AZ command. The user has the option to include the automatic subroutine #AMPERR in their program to handle amplifier errors. As long as the #AMPERR label is included in the program that is on the controller, the program will jump to the label when an amplifier error is detected and begin executing the user defined routine.
  • Page 222 ELO Input If the ELO input on the controller is asserted, the power stage of the amplifier will be disabled. The ELO input is a latching input, see the Clearing Latched Amplifier Errors section for details. Reference the Optoisolated Input Electrical Information section in Chapter 3 Connecting Hardware for information on connecting the ELO input.
  • Page 223: A6 - Amp-43640 (-D3640)

    A6 – AMP-43640 (-D3640) Description The AMP-43640 contains four linear drives for sinusoidally commutating brushless motors. The AMP-43640 requires a single 15–40VDC input. Output power delivered is typically 20 W per amplifier or 80 W total. The gain of each transconductance linear amplifier is 0.2 A/V. When used with a 24VDC power supply, the amplifier will deliver 1A continuous and 2A peak.
  • Page 224: Electrical Specifications

    Electrical Specifications Servo (Brushless/Brushed) Supply Voltage 15-40 VDC (15-20 VDC requires ISCNTL option) Continuous Current 1.0 Amps Peak Current 2.0 Amps Amplifier Gains 0.2 Amps/Volt Power Output (per channel) 20 W Total Max Power Output 80 W Table A6.1: Amplifier Electrical Specifications Mating Connectors Cable Connectors Terminal Pins...
  • Page 225 Power Unlike a switching amplifier a linear amplifier does not have a straightforward relationship between the power delivered to the motor and the power lost in the amplifier. Therefore, determining the available power to the motor is dependent on the supply voltage, the characteristics of the load motor, and the required velocity and current.
  • Page 226: Operation

    Servo Motor Operation Brushless Motor Operation For Brushless motor operation, MT must be set to 1 for the axis. The 6 commands used for setup are the BA, BM, BX, BZ, BC and BI. Please see the Command Reference for details. Below is the setup procedure for configuring an axis to operate a Brushless motor.
  • Page 227 Setting Peak and Continuous Torque Limits TK and TL Commands: The peak and continuous torque limits can be set through the TK and TL commands respectively. The controller will command the torque signal (TT) up to the value specified by TK for a maximum of one second, as shown in Figure A4.2.
  • Page 228 ELO Input If the ELO input on the controller is triggered, the amplifier will be shut down at a hardware level, the motors will be essentially in a Motor Off (MO) state. TA3 will change state and the #AMPERR routine will run when the ELO input is triggered.
  • Page 229: A7 - Sdm-44040 (-D4040,-D4020)

    A7 – SDM-44040 (-D4040,-D4020) Description The SDM-44040 resides inside the DMC-41x3 enclosure and contains four drives for operating two-phase bipolar step motors. The SDM-44040 requires a single 12-30 VDC input. The unit is user-configurable for 1.4 A, 1.0 A, 0.75 A, or 0.5 A per phase and for full-step, half-step, 1/4 step or 1/16 step.
  • Page 230: Electrical Specifications

    Electrical Specifications Stepper Supply Voltage 12-30 VDC (±12-20 available with ISCNTL) Max Current (Per Axis) 1.4 Amps/Phase (user-configurable) Amplifier Gains (Amps/Phase) 0.5, 0.75, 1.0, 1.4 Max Step Frequency 6 MHz Motor Type Bipolar 2-Phase Table A7.1: Amplifier Electrical Specifications Mating Connectors Cable Connectors Terminal Pins On board Connector...
  • Page 231: Operation

    Stepper Motor Operation Current Level Setup (AG Command) The AMP-440x0 has 4 amplifier gain settings. The amplifier gain (in Amps/Volt) is set with the AG command as shown in Table A8.4 for AGm=n, where m is a specific axis. The axis must be in a motor off (MO) state prior to execution of the AG command.
  • Page 232: Protection Circuitry

    ELO Input If the ELO input on the controller is triggered, the amplifier will be shut down at a hardware level, the motors will be essentially in a Motor Off (MO) state. TA3 will change state and the #AMPERR routine will run when the ELO input is triggered.
  • Page 233: A8 - Sdm-44140 (-D4140)

    A8 – SDM-44140 (-D4140) Description The SDM-44140 resides inside the DMC-40x0 enclosure and contains four microstepping drives for operating two- phase bipolar stepper motors. The drives produce 64 microsteps per full step which results in 12,800 steps/rev for a standard 200-step motor. The maximum step rate generated by the controller is 6,000,000 microsteps/second. The SDM-44140 drives motors operating at up to 3 Amps at 20 to 60 VDC (available voltage at motor is 10% less).
  • Page 234: Electrical Specifications

    Electrical Specifications Stepper Supply Voltage 20-60 VDC Max Current (Per Axis) 3.0 Amps/Phase (user-configurable) Amplifier Gains (Amps/Phase) 0.5, 1.0, 2.0, 3.0 Max Step Frequency 6 MHz Minimum Load Inductance 0.5 mH Motor Type Bipolar 2-Phase Table A8.1: Amplifier Electrical Specifications Mating Connectors Cable Connectors Terminal Pins...
  • Page 235: Operation

    Stepper Motor Operation Current Level Setup (AG Command) The AMP-44140 has 4 amplifier gain settings. The amplifier gain (in Amps/Volt) is set with the AG command as shown in Table A8.4 for AGm=n, where m is a specific axis. The axis must be in a motor off (MO) state prior to execution of the AG command.
  • Page 236 Error Monitoring and Protection The amplifier is protected against under-voltage and over-current conditions. The controller will monitor the error conditions and respond as programmed in the application. The errors are monitored via the TA command. TA n may be used to monitor the errors with n = 0 or 3. The command will return an eight bit number representing specific conditions.