Table of Contents

Advertisement

Quick Links

USER MANUAL
DMC-500x0
Manual Rev. 1.0d
Galil Motion Control, Inc.
270 Technology Way
Rocklin, California
916.626.0101
support@galilmc.com
galil.com
01/2015

Advertisement

Table of Contents
loading

Summary of Contents for Galil Motion Control DMC-500 Series

  • Page 1 USER MANUAL DMC-500x0 Manual Rev. 1.0d Galil Motion Control, Inc. 270 Technology Way Rocklin, California 916.626.0101 support@galilmc.com galil.com 01/2015...
  • Page 2 Using This Manual This user manual provides information for proper operation of the DMC-500x0 controller. A separate supplemental manual, the Command Reference, contains a description of the commands available for use with this controller. It is recommended that the user download the latest version of the Command Reference and User Manual from the Galil Website.
  • Page 3: Table Of Contents

    Contents Contents Chapter 1 Overview Introduction ........................1 Part Numbers ........................ 2 Overview of Motor Types ..................... 5 Overview of External Amplifiers .................. 6 Galil Internal Amplifiers and Drivers ................7 Functional Elements ...................... 8 Chapter 2 Getting Started Layout ........................... 11 Power Connections .......................
  • Page 4 Virtual Axis ........................101 Stepper Motor Operation ....................102 Stepper Position Maintenance Mode (SPM) ..............104 Dual Loop (Auxiliary Encoder) ..................107 Motion Smoothing ....................... 109 Homing ......................... 111 High Speed Position Capture (The Latch Function) ............ 113 Chapter 7 Application Programming Overview ........................
  • Page 5 A2 – AMP-43140 (-D3140) Description ........................214 Electrical Specifications ....................214 Operation ........................215 A3 – AMP-43240 (-D3240) Description ........................217 Electrical Specifications ....................218 Operation ........................219 Error Monitoring and Protection ................... 221 A4 – AMP-435x0 (-D3540,-D3520) Description ........................223 Electrical Specifications ....................
  • Page 6: Chapter 1 Overview

    Chapter 1 Overview Introduction The DMC-500x0 Series are Galil’s highest performance stand-alone controller with EtherCAT Master capability. The EtherCAT Master operates in cyclic synchronous torque or cyclic synchronous position mode and is configurable for up to 8 axes of EtherCAT slaves. The controller series offers many enhanced features including high speed communications, non-volatile program memory, faster encoder speeds, and improved cabling for EMI reduction.
  • Page 7: Part Numbers

    Part Numbers The DMC-500x0 is modular by nature, meaning that a customer must specify several components in order to create a full part number. The user must specify the main control board (DMC), the communication board (CMB), and the interconnect module (ICM) to have a complete unit. The user can also specify an optional internal amplifier (AMP or SDM).
  • Page 8 Figure 1.2: Layout of a complete DMC-500x0 part number Reading left to right each of the controller's components, CMB, ICM, and AMP/SDM have a designated space in the 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.
  • Page 9 CMB, “-CXXX(Y)” Options Option Type Options Brief Description Documentation Dual-Ethernet communication board A9 – CMB-41023 (-C023), pg 250 Configures extended I/O for 5V logic 5V – Configure Extended I/O for 5V logic, pg P422 RS-422 on Main and Aux serial port RS-422 –...
  • Page 10: Overview Of Motor Types

    Overview of Motor Types The DMC-500x0 can provide the following types of motor control: 1. Standard servo motors with ± 10 volt command signals 2. Brushless servo motors with sinusoidal commutation 3. Step motors with step and direction signals 4. Other actuators such as hydraulics and ceramic motors - For more information, contact Galil. 5.
  • Page 11: Overview Of External Amplifiers

    Stepper Motor with Step and Direction Signals The DMC-500x0 can control stepper motors. In this mode, the controller provides two signals to connect to the stepper motor: Step and Direction. For stepper motor operation, the controller does not require an encoder and operates the stepper motor in an open loop fashion.
  • Page 12: Galil Internal Amplifiers And Drivers

    Galil Internal Amplifiers and Drivers With the DMC-500x0 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 13: Functional Elements

    Functional Elements The DMC-500x0 circuitry can be divided into the following functional groups as shown in Figure 1.3 and discussed below. WATCHDOG TIMER ISOLATED LIMITS AND HOME INPUTS MAIN ENCODERS RISC BASED HIGH-SPEED ETHERNET MICROCOMPUTER AUXILIARY ENCODERS MOTOR/ENCODER INTERFACE +/- 10 VOLT OUTPUT FOR RS-232 / SERVO MOTORS A,B,C,D...
  • Page 14 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. System Elements As shown in Figure 1.4, the DMC-500x0 is part of a motion control system which includes amplifiers, motors and encoders.
  • Page 15 EtherCAT Amplifier (Driver) An EtherCAT amplifier supports the EtherCAT digital communication bus. This allows any EtherCAT master device to control the amplifier in different modes of operation. Each manufacturer's EtherCAT drive has different features and capabilities. Refer to the manufacturer's documentation to see which motors, position feedback options and modes of operation are supported.
  • Page 16: Chapter 2 Getting Started

    Chapter 2 Getting Started Layout The following layouts assume either an ICM-42000(I000) interconnect module is installed. For layouts of systems with ICM-42200’s(I200) installed please contact Galil. Overall dimensions and footprint are identical, the only differences are in connector type and location. DMC-500x0 Figure 2.1: Outline of the of the DMC-500x0 Chapter 2 Getting Started ▫...
  • Page 17: Power Connections

    Power Connections SDM/AMP Power Axis A-D 2-pin Molex controller power connector. Figure 2.2: Power Connector locations for the DMC-500x0 Figure 2.3: Power Connector used when controller is ordered without Galil Amplifiers For more information on powering your controller see Step 4. Power the Controller, pg 16. For more information regarding connector type and part numbers see Power Connector Part Numbers, pg 188.
  • Page 18: Dimensions

    Dimensions DMC-500x0 Figure 2.4: Dimensions (in inches) of DMC-500x0 (where x= 1, 2, 3, or 4 axis) Chapter 2 Getting Started ▫ 13 DMC-500x0 User Manual...
  • Page 19: Elements You Need

    Elements You Need For a complete system, Galil recommends the following elements: DMC-500x0, motion controller where the x designates number of axis, 1-8. Motor Amplifiers (Integrated when using Galil amplifiers and drivers) Power Supply for Amplifiers and controller Brush or Brushless Servo motors with Optical Encoders or stepper motors. Cables for connecting to the DMC-500x0’s integrated ICM’s.
  • Page 20: 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. Determine Overall System Configuration, pg 15 Step 2. Install Jumpers on the DMC-500x0, pg 16 Step 3. Install the Communications Software, pg 16 Step 4.
  • Page 21: Step 2. Install Jumpers On The Dmc-500X0

    Step 2. Install Jumpers on the DMC-500x0 The following jumpers are located in a rectangular cut-out near the power and error lights on the communication board. See A9 – CMB-41023 (-C023), pg 250 for clarification, depending on the communication board ordered. Motor Off Jumper It is recommended to use the MO jumper when connecting motors for the first time.
  • Page 22: Step 5. Establish Communications With Galil Software

    Options Ordered Power Connector Locations AMP/SDM Controller Power AMP/SDM Power, Axis A-D ISCNTL Axis A-D (2-pin Molex on side) (6- or 4-pin Molex) Table 2.5: Available power connectors based upon option ordered Note: If the 12V option is ordered, the DMC-500x0 is automatically upgraded to ISCNTL and should be powered accordingly.
  • Page 23 Configuration Feedback Type ICM/Part Number Required Connection Location Command Standard quadrature Standard on all units Encoder Step/Dir Standard on all units Encoder Standard on all units Analog Analog (12-bit Standard. 16-bit optional) None – – – – Ethernet Port 1 EtherCAT Other Contact Galil at 1.800.377.6329...
  • Page 24: Step 7. Setting Safety Features Before Wiring Motors

    7. Query TP again. Take the absolute difference from the current TP and the TP recorded from Step 5. 8. Determine if the physical distance moved is equal to the expected amount of counts calculated in Step 4, move on to Step 9. Otherwise, check the encoder wiring and settings and retest starting at Step 1.
  • Page 25 Note: Off-on-error (OE) requires the amplifier enable signal to be connected from the controller to the amplifier. This is automatic when using Galil's internal amplifiers, see Step 9. Connecting External Amplifiers and Motors, pg 28 for external amplifiers Step C. Understanding and Correcting for Runaway Motors A runaway motor is a condition for which the motor is rotating uncontrollably near it's maximum speed in a single direction.
  • Page 26: Step 8. Wiring Motors To Galil's Internal Amps

    2. Reverse direction of the motor by swapping any two motor phases (or two hall sensors if using a trapezoidal amplifier). The motor will now have to be re-commutated by using either the Trapezoidal or Sinusoidal method, see Step 8a. Commutation of 3-phased Brushless Motors, pg 23 Non-wiring Options You can reverse the direction of the motor command line by using the MT command or reverse direction of the feedback by using the CE command (standard quadrature and step/direction feedback only).
  • Page 27 Amplifier Commutation Halls Required A1 – AMP-430x0 (-D3040,-D3020), pg 208 Trapezoidal Halls required for brushless motors A2 – AMP-43140 (-D3140), pg 214 Brushed A3 – AMP-43240 (-D3240), pg 217 Trapezoidal Halls required for brushless motors A4 – AMP-435x0 (-D3540,-D3520), pg 223 Sinusoidal Halls optional for brushless motors A5 –...
  • Page 28 Step 8a. Commutation of 3-phased Brushless Motors If a motor is not correctly commutated it will not function as expected. Commutation is the act of properly getting each of the 3 internal phases of a servo motor to switch at the correct time to allow smooth, 360 degree rotation in both directions.
  • Page 29 6. Issue OFA= 0 or MO A to stop the motors. Power down the controller and amplifiers system and swap 2 wires of the hall sensors or motor power leads—whichever method is being used (Remember, chose one or the other, not both!). Keep track of what cable combinations have been tested (labeling the phases maybe useful) in the example table in Table 2.11, motor phases were recorded based upon their insulation color.
  • Page 30 state. If the motor and encoder polarity are correct than TP A should report a smaller number when QH A reports 1 than when QH A reports 3. If TP A is larger when QH A reports 1 than 3, then the motor is in a positive feedback state and will runaway when sent movement commands;...
  • Page 31 Method • Can be used with vertical or unbalanced loads • Can cause significant motor movement • Less sensitive to noise than BX • May fail at hard stops • Does not require halls • Quick first-time set-up • Provides the least amount of movement (If no •...
  • Page 32 The following sections discuss how to wire and configure a motor for sinusoidal commutation using the different commutation methods: BZ/BX Method The BZ command must move the motor to find the zero commutation phase. This WARNING movement is sudden and will cause the system to jerk. Larger applied voltages will cause more severe motor jerk.
  • Page 33 The halls, motor phases, and encoder feedback must all be wired to the DMC. The hall inputs must be aligned so that hall A aligns with the excitement of motor phase A and B, hall B aligns with the excitement of motor phases B and C, and hall C aligns with the excitement of motor phases C and A.
  • Page 34 Motor Type Connection Requirements Servo motors • Power to controller and amplifier (Brushed and Brushless) • Amplifier enable • Encoder feedback • Motor command line • See amplifier documentation for motor connections Stepper motor • Power to controller and amplifier •...
  • Page 35 The amplifier enable signal is defaulted to 5V, high amp enable. The amplifier enable signal will be high when the controller expects the amplifier to be enabled. It is recommended that if an amplifier requires a different configuration, the controller should be be ordered with the desired configuration. See the ordering options below: Amplifier Enable Configurations, pg 186 Pin-outs for the amplifier enable signal is found under the ICM being used:...
  • Page 36 Step E. Issue the appropriate configuration Commands Command Description The motor type command configures what type of control method to use (switches axis between motor command or step/dir options) Servo only. Limits the motor command line's continuous output in Volts Servo only.
  • Page 37: Chapter 3 Connecting Hardware

    Chapter 3 Connecting Hardware Overview The DMC-500x0 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 high power optoisolated outputs and 8 analog inputs configured for voltages between ±10 volts. This chapter describes the inputs and outputs and their proper connection.
  • Page 38 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 39 Abort Input The function of the Abort input is to immediately stop the controller upon transition of the logic state. Note: The response of the abort input is significantly different from the response of an activated limit switch. When the abort input is activated, the controller stops generating motion commands immediately, whereas the limit switch response causes the controller to make a decelerated stop.
  • Page 40: 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 41 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 42 Figure 3.3: ELO, Abort and Reset Inputs Chapter 3 Connecting Hardware ▫ 37 DMC-500x0 User Manual...
  • Page 43: High Power Optoisolated Outputs

    High Power Optoisolated Outputs The DMC-500x0 has different interconnect module options, this section will describe the 500mA optically isolated outputs that are used on the ICM-42x00. The amount of uncommitted, optoisolated outputs the DMC-500x0 has depends on the number of axis. For instance, 1-4 axis models come with a single bank of 8 outputs, Bank 0 (DO[8:1]).
  • Page 44: Ttl Inputs And Outputs

    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 45 Electrical Specifications Maximum Voltage 12 VDC Minimum Voltage -12 VDC '+' inputs are internally pulled-up to 5V through a 4.7kΩ resistor '-' inputs are internally biased to ~1.3V pulled up to 5V through a 7.1kΩ resistor pulled down to GND through a 2.5kΩ resistor Output Compare The output compare signal is a TTL ouput signal and is available on the I/O (A-D) D-Sub connector labeled as CMP.
  • Page 46: Analog Inputs

    Analog Inputs The DMC-500x0 has eight analog inputs configured for the range between -10V and 10V. The inputs are decoded by a 12-bit A/D decoder giving a voltage resolution of approximately .005V. A 16-bit ADC is available as an option (Ex.
  • Page 47: External Amplifier Interface

    Electrical Specifications (5V – Option) Inputs Max Input Voltage 5.25 VDC Guarantee High Voltage 2.0 VDC Guarantee Low Voltage 0.8 VDC Inputs are internally pulled up to 5V through a 4.7kΩ resistor  Outputs Sink/Source 20mA External Amplifier Interface External Stepper Control The controller provides step and direction (STPn, DIRn) outputs for every axis available on the controller.
  • Page 48 If your amplifier requires a different configuration than the default 5V HAEN sinking it is highly recommended that the DMC-500x0 is ordered with the desired configuration. See the DMC-500x0 ordering information in the catalog (http://www.galil.com/download/datasheet/ds_500x0.pdf) or contact Galil for more information on ordering different configurations.
  • Page 49 Sinking Configuration (pin1 of LTV8441 chip in pin2 of socket U4) Logic State RP2 (square pin next to RP2 label is 5V) 5V, HAEN (Default configuration) 5V - AECOM1 GND – AECOM2 Dot on R-pack next to RP2 label 5V, LAEN 5V –...
  • Page 50 ICM-42200 Amplifier Enable Circuit This section describes how to configure the ICM-42200 for different Amplifier Enable outputs. The ICM-42200 is designed to be used with external amplifiers. As a result, the amplifier enable circuit for each axis is individually configurable through jumper settings. The user can choose between High-Amp-Enable (HAEN), Low-Amp-Enable (LAEN), 5V logic, 12V logic, external voltage supplies up to 24V, sinking, or sourcing.
  • Page 51 DMC-500x0 User Manual Chapter 3 Connecting Hardware ▫ 46...
  • Page 52 Chapter 3 Connecting Hardware ▫ 47 DMC-500x0 User Manual...
  • Page 53 DMC-500x0 User Manual Chapter 3 Connecting Hardware ▫ 48...
  • Page 54: Chapter 4 Software Tools And Communication

    Chapter 4 Software Tools and Communication Introduction The default configuration DMC-500x0, with the CMB-41023 communication board, has two RS232 ports and two Ethernet ports. The main RS-232 port is the data set and can be configured through the jumpers on the top of the controller.
  • Page 55: Unsolicited Messages Generated By Controller

    question mark (?) if the instruction was not valid. For example, the controller will respond to commands which are sent via the main RS-232 port back through the RS-232 port, and to commands which are sent via the Ethernet port back through the Ethernet port.
  • Page 56 Configure your PC for 8-bit data, one start-bit, one stop-bit, full duplex and no parity. The baud rate for the RS232 communication can be selected by setting the proper switch configuration on the front panel according to the table below. Baud Rate Selection JP1 JUMPER SETTINGS BAUD RATE...
  • Page 57: 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-500x0 supports two industry standard protocols, TCP/IP and UDP/IP. The controller will automatically respond in the format in which it is contacted.
  • Page 58 Note: if multiple boards are on the network – use the serial numbers to differentiate them. 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-500x0 controller upon linking it to the network.
  • Page 59: Modbus

    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 60 The third level of Modbus communication uses standard Galil commands. Once the slave has been configured, the commands that may be used are @IN[], @AN[], SB, CB, OB, and AO. For example, AO 2020,8.2 would tell I/O number 2020 to output 8.2 volts. If a specific slave address is not necessary, the I/O number to be used can be calculated with the following: I/O Number = (HandleNum*1000) + ((Module-1)*4) + (BitNum-1) Where HandleNum is the handle number from 1 (A) to 8 (H).
  • Page 61 Example #2 DMC-50040 connected as a Modbus master to a 3rd party PLC. The DMC-50040 will read the value of analog inputs 3 and 4 on the PLC located at addresses 40006 and 40008 respectively. The PLC stores values as 32-bit floating point numbers which is common.
  • Page 62: Data Record

    Data Record The DMC-500x0 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 63 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 64 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 S Block Present in Data Record in Data Record in Data Record BIT 7...
  • Page 65 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 66: Galilsuite (Windows And Linux)

    GalilSuite (Windows and Linux) GalilSuite is Galil's latest set of development tools for the latest generation of Galil controllers. It is highly recommended for all first-time purchases of Galil controllers as it provides easy set-up, tuning and analysis. GalilSuite replaces GalilToolS with an improved user-interface, real-time scopes, advanced tuning methods, and communications utilities.
  • Page 67: Creating Custom Software Interfaces

    Creating Custom Software Interfaces Galil provides programming tools so that users can develop their own custom software interfaces to a Galil controller. For new applications, Galil recommends the GalilTools Communication Libraries. HelloGalil – Quick Start to PC programming For programmers developing Windows applications that communicate with a Galil controller, the HelloGalil library of quick start projects immediately gets you communicating with the controller from the programming language of your choice.
  • Page 68 C++ Library (Windows and Linux) Both Full and Lite versions of GalilTools ship with a native C++ communication library. The Linux version (libGalil.so) is compatible with g++ and the Windows version (Galil1.dll) with Visual C++ 2008. Contact Galil if another version of the C++ library is required.
  • Page 69: Chapter 5 Command Basics

    Chapter 5 Command Basics Introduction The DMC-500x0 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-500x0 instruction set is BASIC-like and easy to use. Instructions consist of two uppercase letters that correspond phonetically with the appropriate function.
  • Page 70: Controller Response To Data

    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. If no data is specified for an axis, the previous value is maintained.
  • Page 71: Interrogating The Controller

    ?TC1 Tell Code command 1 Unrecognized command Returned response There are many reasons for receiving an invalid command response. The most common reasons are: unrecognized command (such as typographical entry or lower case), command given at improper time (such as during motion), or a command out of range (such as exceeding maximum speed).
  • Page 72 Operands Most DMC-500x0 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: MG ‘operand’ where ‘operand’ is a valid DMC operand All of the command operands begin with the underscore character (_).
  • Page 73: Chapter 6 Programming Motion

    Chapter 6 Programming Motion Overview The DMC-500x0 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-50010 are single axis controllers and use X-axis motion only. Likewise, the DMC-50020 use X and Y, the DMC-50030 use X,Y, and Z, and the DMC-50040 use X,Y,Z, and W.
  • Page 74: Independent Axis Positioning

    Master/slave where slave axes must follow a Electronic Gearingwith Ramped Gearing GA, GD, _GP, GR master such as conveyer speed. 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- CM, CD, DT, RA, RD, Back)
  • Page 75 Command Summary - Independent Axis COMMAND DESCRIPTION PR x,y,z,w Specifies relative distance PA x,y,z,w Specifies absolute position Specifies slew speed SP x,y,z,w AC x,y,z,w Specifies acceleration rate Specifies deceleration rate DC x,y,z,w BG XYZW Starts motion ST XYZW Stops motion before end of move IP x,y,z,w Changes position target IT x,y,z,w...
  • Page 76: Independent Jogging

    This example will specify a relative position movement on X, Y and Z axes. The movement on each axis will be separated by 20 msec. Figure 6.1 shows the velocity profiles for the X,Y and Z axis. Begin Program PR 2000,500,100 Specify relative position movement of 2000, 500 and 100 counts for X,Y and Z axes.
  • Page 77 Command Summary - Jogging COMMAND DESCRIPTION AC x,y,z,w Specifies acceleration rate BG XYZW Begins motion DC x,y,z,w Specifies deceleration rate Increments position instantly IP x,y,z,w IT x,y,z,w Time constant for independent motion smoothing ± Specifies jog speed and direction x,y,z,w ST XYZW Stops motion Parameters can be set with individual axes specifiers such as JGY=2000 (set jog speed for Y axis to 2000).
  • Page 78: Position Tracking

    Position Tracking The Galil controller may be placed in the position tracking mode to support changing the target of an absolute position move on the fly. New targets may be given in the same direction or the opposite direction of the current position target.
  • Page 79 The output from this code can be seen in Figure 6.2, a screen capture from the GalilTools scope. Figure 6.2: 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 2000 counts at that time.
  • Page 80 Example - Motion 3: 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 6.4 shows the plot of position vs. time and velocity vs. time.
  • Page 81: Linear Interpolation Mode

    Trippoints Most trippoints are valid for use while in the position tracking mode. There are a few exceptions to this; the AM and MC commands may not be used while in this mode. It is recommended that MF, MR, or AP be used, as they involve motion in a specified direction, or the passing of a specific absolute position.
  • Page 82 can be sent. A zero means the buffer is full and no additional segments can be sent. As long as the buffer is not full, additional LI segments can be sent at PC bus speeds. The instruction _CS returns the segment counter. As the segments are processed, _CS increases, starting at zero. This function allows the host computer to determine which segment is being processed.
  • Page 83 As an example, consider the following program. #ALT Label for alternative program DP 0,0 Define Position of X and Y axis to be 0 LMXY Define linear mode between X and Y axes. LI 4000,0 <4000 >1000 Specify first linear segment with a vector speed of 4000 and end speed 1000 LI 1000,1000 <...
  • Page 84 Now suppose that the interrogation is repeated at the second segment when Y=2000. The value of _AV at this point is 7000, _CS equals 1, _VPX=5000 and _VPY=0. Example - Linear Move Make a coordinated linear move in the ZW plane. Move to coordinates 40000,30000 counts at a vector speed of 100000 counts/sec and vector acceleration of 1000000 counts/sec2.
  • Page 85: Vector Mode: Linear And Circular Interpolation Motion

    JP #LOOP,COUNT<750 Loop if array not full Label LM XY Specify linear mode for XY COUNT=0 Initialize array counter #LOOP2;JP#LOOP2,_LM=0 If sequence buffer full, wait JS#C,COUNT=500 Begin motion on 500 segment LI VX[COUNT],VY[COUNT] Specify linear segment COUNT=COUNT+1 Increment array counter JP #LOOP2,COUNT<750 Repeat until array done End Linear Move...
  • Page 86 The Clear Sequence (CS) command can be used to remove previous VP and CR commands which were stored in the buffer prior to the start of the motion. To stop the motion, use the instructions STS or AB1. ST stops motion at the specified deceleration.
  • Page 87 Trippoints: The AV n command is the After Vector trippoint, which waits for the vector relative distance of n to occur before executing the next command in a program. Tangent Motion: Several applications, such as cutting, require a third axis (i.e. a knife blade), to remain tangent to the coordinated motion path.
  • Page 88 Command Summary - Coordinated Motion Sequence COMMAND DESCRIPTION VM m,n Specifies the axes for the planar motion where m and n represent the planar axes and p is the tangent axis. Return coordinate of last point, where m=X,Y,Z or W. VP m,n Specifies arc segment where r is the radius, ...
  • Page 89 Suppose that the interrogation is repeated at a point, halfway between the points C and D.  The value of _AV is 4000+1500 +2000=10,712 The value of _CS is 2 _VPX,_VPY contain the coordinates of the point C C (-4000,3000) D (0,3000) R = 1500 B (-4000,0)
  • Page 90 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 points C and D.
  • Page 91: Electronic Gearing

    The total motion time, Tt, is given by:    0 407 The velocities along the X and Y axes are such that the direction of motion follows the specified path, yet the vector velocity fits the vector speed and acceleration requirements. For example, the velocities along the X and Y axes for the path shown in Figure A.8 are given in Figure A.10.
  • Page 92 An alternative gearing method is to synchronize the slave motor to the commanded vector motion of several axes performed by GAS. For example, if the X and Y motor form a circular motion, the Z axis may move in proportion to the vector move.
  • Page 93 does have one consequence. There isn’t a true synchronization of the two axes, until the gearing ramp is complete. The slave will lag behind the true ratio during the ramp period. If exact position synchronization is required from the point gearing is initiated, then the position must be commanded in addition to the gearing. The controller keeps track of this position phase lag with the _GP operand.
  • Page 94: Electronic Cam

    Example - Electronic Gearing Objective: Run two geared motors at speeds of 1.132 and -0.045 times the speed of an external master. The master is driven at speeds between 0 and 1800 RPM (2000 counts/rev encoder). Solution: Use a DMC-50030 controller, where the Z-axis is the master and X and Y are the geared axes. MO Z Turn Z off, for external master GA Z, Z...
  • Page 95 To illustrate the procedure of setting the cam mode, consider the cam relationship for the slave axis Y, when the master is X. Such a graphic relationship is shown in Figure 6.13. Step 1. Selecting the master axis The first step in the electronic cam mode is to select the master axis. This is done with the instruction EAp where p = X,Y,Z,W,E,F,G,H p is the selected master axis For the given example, since the master is x, we specify EAX...
  • Page 96 Step 5. Enable the ECAM To enable the ECAM mode, use the command EB n where n=1 enables ECAM mode and n=0 disables ECAM mode. Step 6. Engage the slave motion To engage the slave motion, use the instruction EG x,y,z,w where x,y,z,w are the master positions at which the corresponding slaves must be engaged.
  • Page 97 INSTRUCTION INTERPRETATION #SETUP Label Select X 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 Y = N*10+S Define slave position...
  • Page 98 Set ECAM cycle count Example - Electronic CAM The following example illustrates a cam program with a master axis, Z, and two slaves, X and Y. INSTRUCTION INTERPRETATION #A;V1=0 Label; Initialize variable PA 0,0;BGXY;AMXY Go to position 0,0 on X and Y axes EA Z Z axis as the Master for ECAM EM 0,0,4000...
  • Page 99: Pvt Mode

    PVT Mode The DMC-500x0 controllers 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. By specifying the target position, velocity and time to achieve those parameters the user has control over the velocity profile.
  • Page 100 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 101 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 102: Contour Mode

    The resultant DMC program is shown below. The position points are dictated by the application requirements and the velocities and times were chosen to create smooth yet quick motion. For example, in the second segment the B axis is slowed to 0 at the end of the move in anticipation of reversing direction during the next segment. INSTRUCTION INTERPRETATION #PVT...
  • Page 103 Specifying Contour Segments The Contour Mode is specified with the command, CM. For example, CMXZ specifies contouring on the X and Z axes. Any axes that are not being used in the contouring mode may be operated in other modes. A contour is described by position increments which are described with the command, CD x,y,z,w over a time interval, DT n.
  • Page 104 Issuing the CM command will clear the contour buffer. Command Summary - Contour Mode COMMAND DESCRIPTION CM XYZW Specifies which axes for contouring mode. Any non-contouring axes may be operated in other modes. CM ABCDEFGH Contour axes for DMC-50080 CD x,y,z,w ±...
  • Page 105 The DMC-500x0 can compute trigonometric functions. However, the argument must be expressed in degrees. Using our example, the equation for X is written as: X = 50T - 955 sin 3T A complete program to generate the contour movement in this example is given below. To generate an array, we compute the position value at intervals of 8 ms.
  • Page 106: 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 107: 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 108 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 value of the position as determined by the motion profiler.
  • Page 109: 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 110 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 111 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 112: Dual Loop (Auxiliary Encoder)

    Example: Friction Correction The following example illustrates how the SPM mode can be useful in correcting for X axis friction after each move when conducting a reciprocating motion. The drive is a 1/64th microstepping drive with a 1.8 step motor and 4000 count/rev encoder.
  • Page 113 Using the CE Command Main Encoder Second Encoder Normal quadrature Normal quadrature Pulse & direction Pulse & direction Reverse quadrature Reversed quadrature Reverse pulse & direction Reversed pulse & direction For example, to configure the main encoder for reversed quadrature, m=2, and a second encoder of pulse and direction, n=4, the total is 6, and the command for the X axis is: CE 6 Additional Commands for the Auxiliary Encoder...
  • Page 114: Motion Smoothing

    activates the dual loop for the four axes and 0,0,0,0 disables the dual loop. Note: that the dual loop compensation depends on the backlash magnitude, and in extreme cases will not stabilize the loop. The proposed compensation procedure is to start with KP=0, KI=0 and to maximize the value of KD under the condition DV1.
  • Page 115 IT x,y,z,w Independent time constant The command, IT, is used for smoothing independent moves of the type JG, PR, PA and to smooth vector moves of the type VM and LM. The smoothing parameters, x,y,z,w and n are numbers between 0 and 1 and determine the degree of filtering. The maximum value of 1 implies no filtering, resulting in trapezoidal velocity profiles.
  • Page 116: 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.
  • Page 117 The 4 different motion possibilities for the home sequence are shown in the following table. Direction of Motion Switch Type CN Setting Initial _HMX state Stage 1 Stage 2 Stage 3 Normally Open CN,-1 Reverse Forward Forward Normally Open CN,1 Forward Reverse Forward...
  • Page 118: High Speed Position Capture (The Latch Function)

    Example: Find Edge #EDGE Label AC 2000000 Acceleration rate DC 2000000 Deceleration rate SP 8000 Speed Find edge command Begin motion After complete MG “FOUND HOME” Send message DP 0 Define position as 0 Command Summary - Homing Operation Command Description FE XYZW Find Edge Routine.
  • Page 119: Chapter 7 Application Programming

    Chapter 7 Application Programming Overview The DMC-500x0 provides a powerful programming language that allows users to customize the controller for their particular application. Programs can be downloaded into the DMC-500x0 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 120 #SQUARE #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 121: 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 GalilTools software The GalilTools software will treat an apostrophe (') commend different from an NO when the compression algorithm is activated upon a program download (line >...
  • Page 122: Debugging Programs

    Debugging Programs The DMC-500x0 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 123: Program Flow Commands

    Operands In general, all operands provide information which may be useful in debugging an application program. Below is a list of operands which are particularly valuable for program debugging. To display the value of an operand, the message command may be used. For example, since the operand, _ED contains the last line of program execution, the command MG _ED will display this line number.
  • Page 124 DMC-500x0 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 125 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 126 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 127 Conditional Jumps The DMC-500x0 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 128 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 129 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-500x0 allows for IF conditional statements to be included within other IF conditional statements.
  • Page 130 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 131 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 132 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 133 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 134 #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 135 WT 500 SH A 'The Yaskawa Drive must be power cycled to clear an encoder error 'ZS clears the subroutine stack, allowing EN to end program execution 'instead of returning to the main program #yaserr IF(_EZB = $0C90) MG "Encoder Error on B Axis Yaskawa Drive" MG "Check Encoder and power cycle drive to clear error"...
  • Page 136 'notes: 'do not use spaces when working with ^ 'If using global variables, they MUST be created before the subroutine is run Executed program from program2.dmc 36.0000 36.0000 Example: Working with Arrays #Array speeds[8] other[256] JS#zeroAry("speeds",0) ;'zero out all buckets in speeds[] JS#zeroAry("other",0) ;'zero out all buckers in other[] #zeroAry...
  • Page 137 ^d=1 ^b=@ABS[^b] ELSE ^d=0 ENDIF #PWRHLPR ^c=^c*^a ^b=^b-1 JP#PWRHLPR,^b>0 ^d=1 ;'if inversion required ^c=(1/^c) ENDIF EN,,^c Executed program from program1.dmc 4.0000 65536.0000 0.0039 Example: Recursion 'although the stack depth is only 16, Galil DMC code does support recursion JS#AxsInfo(0) MG{Z2.0}"Recursed through ",_JS," stacks" #AxsInfo ;NO(axis ^a) List info for axes ~h=^a...
  • Page 138 case the software will remove all (') comments as part of the compression and it will download all NO comments to the controller. Note: Actual processing time will vary depending upon number of axes, communication activity, number of threads currently executing etc. i=0;'initialize a counter t= TIME;' set an initial time reference #loop...
  • Page 139: Mathematical And Functional Expressions

    REM inputs 1 and 2 are high, and input 3 is low REM else output 3 will be low REM if input 4 is low, output 1 will be high REM and ouput 3 will be low regardless of the REM states of inputs 1,2 or 3 #plcscan AT0;'set initial time reference...
  • Page 140 :MG var;' Prints variable "var" to screen 111999.5117 The reason for this error relies in the precision of the controller. 1.4 must be stored to the nearest multiple of 1/65536, which is 91750/65536 = 1.3999. Thus, (91750/65536)*80000 = 111999.5117 and reveals the source of the error.
  • Page 141: Variables

    Response from command MG len3 {S4} Response from command MG len2 {S4} Response from command MG len1 {S4} 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-bit fractional resolution) ...
  • Page 142 Valid Variable Names posx pos1 speedZ Invalid Variable Names RealLongName ; ‘Cannot have more than 8 characters ; ‘Cannot begin variable name with a number speed Z ; ‘Cannot have spaces in the name Assigning Values to Variables: Assigned values can be numbers, internal variables and keywords, functions, controller parameters and strings. The range for numeric variable values is 4 bytes of integer (231) followed by two bytes of fraction (±2,147,483,647.9999).
  • Page 143: Operands

    Operands Operands allow motion or status parameters of the DMC-500x0 to be incorporated into programmable variables and expressions. Most DMC commands have an equivalent operand - which are designated by adding an underscore (_) prior to the DMC-500x0 command. The command reference indicates which commands have an associated operand.
  • Page 144 Defining Arrays An array is defined with the command DM. The user must specify a name and the number of entries to be held in the array. An array name can contain up to eight characters, starting with an uppercase alphabetic character. The number of entries in the defined array is enclosed in [ ].
  • Page 145 QD array[],start,end where array is an array name such as A[]. start is the first element of array (default=0) end is the last element of array (default=last element) delim specifies whether the array data is separated by a comma (delim=1) or a carriage return (delim=0).
  • Page 146: Input Of Data (Numeric And String)

    DM XPOS[300],YPOS[300] Define X,Y position arrays DM XERR[300],YERR[300] Define X,Y error arrays RA XPOS[],XERR[],YPOS[],YERR[] Select arrays for capture RD _TPX,_TEX,_TPY,_TEY Select data types PR 10000,20000 Specify move distance Start recording now, at rate of 2 msec BG XY Begin motion #A;JP #A,_RC=1 Loop until done MG “DONE”...
  • Page 147 To capture and decode characters in the Operator Data Mode, the DMC-500x0 provides special the following keywords: Keyword Function P2CH Contains the last character received P2ST Contains the received string P2NM Contains the received number P2CD Contains the status code: -1 mode disabled 0 nothing received 1 received character, but not <enter>...
  • Page 148: Output Of Data (Numeric And String)

    End of main program #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 Stop motion on S...
  • Page 149 MG "Analog input is", @AN[1] MG "The Position of A is", _TPA Specifying the Port for Messages: The port can be specified with the specifier, {P1} for the main serial port {P2} for auxiliary serial port, or {En} for the Ethernet port.
  • Page 150 {Fn.m} Formats numeric values in decimal n digits to the left of the decimal point and m digits to the right {P1}, {P2} or {En} Send message to Main Serial Port, Auxiliary Serial Port or Ethernet Port {$n.m} Formats numeric values in hexadecimal {^n} Sends ASCII character specified by integer n Suppresses carriage return/line feed...
  • Page 151 Example Instruction Interpretation :DP21 Define position :TPA Tell position 0000000021 Default format :PF4 Change format to 4 places :TPA Tell position 0021 New format :PF-4 Change to hexadecimal format :TPA Tell Position $0015 Hexadecimal value :PF2 Format 2 places :TPA Tell Position Returns 99 if position greater than 99 Adding Leading Zeros from Response to Interrogation Commands...
  • Page 152 $0A.00 Response - Hex value Change format Return v1 Response - Overflow Local Formatting of Variables PF and VF commands are global format commands that affect the format of all relevant returned values and variables. Variables may also be formatted locally. To format locally, use the command, {Fn.m} or {$n.m} following the variable name and the ‘=’...
  • Page 153: Hardware I/O

    Hardware I/O Digital Outputs The DMC-500x0 has an 8-bit uncommitted output port and an additional 32 I/O which may be configured as inputs or outputs with the CO command for controlling external events. Each bit on the output port may be set and cleared with the software instructions SB (Set Bit) and CB (Clear Bit), or OB (define output bit).
  • Page 154 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 the user flips a panel switch to on.
  • Page 155 Example - Input Interrupt Instruction Interpretation Label #A II 1 Enable input 1 for interrupt function JG 30000,-20000 Set speeds on A and B axes BG AB Begin motion on A and B axes Label #B TP AB Report A and B axes positions WT 1000 Wait 1000 milliseconds JP #B...
  • Page 156: Extended I/O Of The Dmc-500X0 Controller

    Instruction Interpretation #CONT Label AC 80000;DC 80000 Acceleration rate JG 0 Start job mode Start motion #LOOP vp=@AN[1]*1000 Compute desired position ve=vp-_TPA Find position error vel=ve*20 Compute velocity JG vel Change velocity JP #LOOP Change velocity Example – Low Pass Digital Filter for the Analog inputs Because the analog inputs on the Galil controller can be used to close a position loop, they have a very high bandwidth and will therefor read noise that comes in on the analog input.
  • Page 157 8-Bit I/O Block Block Binary Representation Decimal Value for Block 17-24 25-32 33-40 41-48 The simplest method for determining n: Step 1. Determine which 8-bit I/O blocks to be configured as outputs. Step 2. From the table, determine the decimal value for each I/O block to be set as an output. Step 3.
  • Page 158: Example Applications

    the controller will return the state of the least significant bit of block 2 (assuming block 2 is configured as an input). 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.
  • Page 159 X-Y Table Controller An X-Y-Z system must cut the pattern shown in Figure 7.2. The X-Y table moves the plate while the Z-axis raises and lowers the cutting tool. 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.
  • Page 160 VS 40000 PR,,80000 Raise Z 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 161 Position Control by Joystick This system requires the position of the motor to be proportional to the joystick angle. Furthermore, the ratio between the two positions must be programmable. For example, if the control ratio is 5:1, it implies that when the joystick voltage is 5 Volts, corresponding to 1028 counts, the required motor position must be 5120 counts.
  • Page 162: Using The Dmc Editor To Enter Programs

    is only 995, implying that X has a position error of 5 counts, which will be eliminated once the motor settles. This implies that the correction needs to be only 15 counts, since 5 counts out of the 20 would be corrected by the X- axis.
  • Page 163 Typing the return key causes the current line of entered instructions to be saved. The editor will automatically advance to the next line. Thus, hitting a series of <RETURN> will cause the editor to advance a series of lines. Note, changes on a program line will not be saved unless a <return> is given. <cntrl>P The <cntrl>P command moves the editor to the previous line.
  • Page 164: Chapter 8 Hardware & Software Protection

    Chapter 8 Hardware & Software Protection Introduction The DMC-500x0 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 165: Software Protection

    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 166 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. These signals include: Signal or Function State if Error Occurs # POSERR...
  • Page 167 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-500x0 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 168 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 169: 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. DMC-500x0 User Manual Chapter 9 Troubleshooting ▫...
  • Page 170 Installation SYMPTOM DIAGNOSIS CAUSE REMEDY Motor runs away with no Adjusting offset causes the 1. Amplifier has an internal 1. Adjust amplifier offset. Amplifier connections from controller to motor to change speed. offset. offset may also be compensated by use amplifier input.
  • Page 171 Error Light (Red LED) The red error LED has multiple meanings for Galil controllers. Here is a list of reasons the error light will come on and possible solutions: Under Voltage If the controller is not receiving enough voltage to power up. Under Current If the power supply does not have enough current, the red LED will cycle on and off along with the green power LED.
  • Page 172: 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, as illustrated in Figure 10.2.
  • Page 173 LEVEL MOTION PROGRAMMING MOTION PROFILING CLOSED-LOOP CONTROL Figure 10.2: Levels of Control Funtions The three levels of control may be viewed as different levels of management. The top manager, the motion program, may specify the following instruction, for example. PR 6000,4000 SP 20000,20000 AC 200000,00000 BG X...
  • Page 174: Operation Of Closed-Loop Systems

    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 to keep the temperature at a comfortable level, say 90 degrees F.
  • Page 175: System Modeling

    The following section describes the operation in a detailed mathematical form, including modeling, analysis and design. System Modeling The elements of a servo system include the motor, driver, encoder and the controller. These elements are shown in Figure 10.4. The mathematical model of the various components is given below. CONTROLLER DIGITAL ...
  • Page 176 J = 0.0283 oz-in-s = 2 * 10 kg . m L = 0.004H Then the corresponding time constants are = 0.04 sec = 0.002 sec Assuming that the amplifier gain is K = 4, the resulting transfer function is P/V = 40/[s(0.04s+1)(0.002s+1)] Current Drive The current drive generates a current I, which is proportional to the input voltage, V, with a gain of K...
  • Page 177 The resulting functions derived above are illustrated by the block diagram of Figure 10.6. VOLTAGE SOURCE +1)(ST CURRENT SOURCE VELOCITY LOOP 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, Channel A and B, which are in quadrature. Due to the quadrature relationship between the encoder channels, the position resolution is increased to 4N quadrature counts/rev.
  • Page 178 1  Low-pass L(z) =    Notch N(z) =   The filter parameters, K, A, C and B are selected by the instructions KP, KD, KI and PL, respectively. The relationship between the filter coefficients and the instructions are: K = (KP + KD) A = KD/(KP + KD) C = KI...
  • Page 179: System Analysis

    The ZOH, or zero-order-hold, represents the effect of the sampling process, where the motor command is updated once per sampling period. The effect of the ZOH can be modeled by the transfer function H(s) = 1/(1+sT/2) If the sampling period is T = 0.001, for example, H(s) becomes: H(s) = 2000/(s+2000) However, in most applications, H(s) may be approximated as one.
  • Page 180 G(s) = 50 + 0.98s = .098 (s+51) The system elements are shown in Figure 10.7. FILTER MOTOR 2000  50+0.980s 0.0003 S+2000 ENCODER 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(s) = 390,000 (s+51)/[s (s+2000)] To analyze the system stability, determine the crossover frequency, ω...
  • Page 181: System Design And Compensation

    System Design and Compensation The closed-loop control system can be stabilized by a digital filter, which is pre-programmed in the DMC-500x0 controller. The filter parameters can be selected by the user for the best compensation. The following discussion presents an analytical design method. The Analytical Method The analytical design method is aimed at closing the loop at a crossover frequency, ω...
  • Page 182 Arg[L(j500)] = -180° - tan-1(500/2000) = -194° G(s) is selected so that A(s) has a crossover frequency of 500 rad/s and a phase margin of 45°. This requires that |A(j500)| = 1 Arg [A(j500)] = -135° However, since A(s) = L(s) G(s) then it follows that G(s) must have magnitude of |G(j500)| = |A(j500)/L(j500)| = 160 and a phase...
  • Page 183 In a similar manner, other filters can be programmed. The procedure is simplified by the following table, which summarizes the relationship between the various filters. Equivalent Filter Form - DMC-500x0 Digital D(z) =[K(z-A/z) + Cz/(z-1)]∙(1-B)/(Z-B) KP, KD, KI, PL K = (KP + KD) A = KD/(KP+KD) C = KI B = PL...
  • Page 184: Appendices

    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 185 Input / Output Opto-isolated Inputs: DI[8: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 186: Performance Specifications

    Performance Specifications Minimum Servo Loop Update Time/Memory: Normal Minimum Servo Loop Update Time DMC-50010 375 µsec DMC-50020 375 µsec DMC-50030 375 µsec DMC-50040 375 µsec DMC-50050 750 µsec DMC-50060 750 µsec DMC-50070 750 µsec DMC-50080 750 µsec Position Accuracy ± 1 quadrature count Velocity Accuracy Long Term...
  • Page 187: Ordering Options

    Ordering Options Overview The DMC-500x0 can be ordered in many different internal boards, the DMC, ICM, and CMB are required, and the AMP/SMD are optional. See Part Numbers, pg 2 for a full explanation of the internal layout and the Integrated Components, pg 206 for a description of the different board options.
  • Page 188 Figure A.1: Encoder Inputs with -TRES option Part number ordering example: DMC-50010(TRES)-C023-I000 -16 bit – 16 bit Analog Inputs The -16 bit option provides 16 bit analog inputs on the DMC-500x0 motion controller. The standard resolution of the analog inputs is 12 bits. Part number ordering example: DMC-50010(-16bit)-C023-I000 4-20mA –...
  • Page 189 Part number ordering example: DMC-50010(ETL)-C023-I000 MO – Motor Off Jumpers Installed When a jumper is installed on the “MO” pins, the controller will be powered up in the “motor off” state. This option will cause jumper to be installed at the factory. Part number ordering example: DMC-50010(MO)-C023-I000 CMB, “-CXXX(Y)”...
  • Page 190 RS-232/422 Configuration Jumpers Location Label Function (If jumpered) JP3 (-C023) ARXD 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 Connects a 120 Ω Termination resistor between the differential “Clear To Send”...
  • Page 191 Amplifier Enable Configurations The default amplifier enable configuration for the ICM interconnect modules is 5V, HAEN, SINK. This is 5V logic, high amplifier enable, and sinking. The amplifier enable configuration can be configured at the factory or in the field. It is recommended that the correct amplifier enable configuration be ordered from the factory when using the ICM-42000 (-I000).
  • Page 192 AMP/SDM, “-DXXXX(Y)” Internal Amplifier Options SR90 – SR-49000 Shunt Regulator Option The SR-49000 is a shunt regulator for the DMC-500x0 controller and internal amplifiers. This option is highly recommended for any application where there is a large inertial load, or a gravitational load. To calculate if your system requires a Shut Regulator, see Application Note #5448: “Shunt Regulator Operation”...
  • Page 193: Power Connector Part Numbers

    Power Connector Part Numbers Overview The DMC-500x0 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-500x0.
  • Page 194: 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 195: Serial Cable Connections

    Serial Cable Connections The DMC-500x0 requires the transmit, receive, and ground for slow communication rates. (i.e. 9600 baud) For faster rates the handshake lines are required. The connection tables below contain the handshake lines. Standard RS-232 Specifications 25 pin Serial Connector (Male, D-type) This table describes the pinout for standard serial ports found on most computers.
  • Page 196 9 Pin Serial Connector (Male, D-type) Standard serial port connections found on most computers. Pin # Function DMC-500x0 Serial Cable Specifications Cable to Connect Computer 25 pin to Main Serial Port 25 Pin (Male - computer) 9 Pin (female - controller) 5 CTS 8 RTS 3 RXD...
  • Page 197: Configuring The Amplifier Enable Circuit

    Configuring the Amplifier Enable Circuit ICM-42000 The following section details the steps needed to change the amplifier enable configuration for the DMC-500x0 controller with an ICM-42000. For detailed instruction on changing the amplifier enable configuration on a DMC- 500x0 with an ICM-42200 see the section in Chapter 3 labeled ICM-42200 Amplifier Enable Configuration. For electrical details about the amplifier enable circuit, see the ICM-42000 Amplifier Enable Circuit section in Chapter Note: From the default configuration, the configuration for +12V High Amp Enable Sinking Configuration does not require the remove of the metal cover.
  • Page 198 Step 3: Configure Circuit Reference the instructions below for the desired configuration, and then proceed to Step 4. +5V High Amp Enable Sinking Configuration (Default) pg 193  +5V Low Amp Enable Sinking Configuration pg 194  +5V High Amp Enable Sourcing Configuration pg 195 ...
  • Page 199: +5V Low Amp Enable Sinking Configuration

    +5V Low Amp Enable Sinking Configuration From Default Configuration: Reverse RP2 DMC-500x0 User Manual Appendices ▫ 194...
  • Page 200: +5V High Amp Enable Sourcing Configuration

    +5V High Amp Enable Sourcing Configuration From Default Configuration: Move U4 up one pin location on socket Reverse RP2 Change JP1 to GND Change JP2 to +5V +5V Low Amp Enable Sourcing Configuration From Default Configuration: Move U4 up one pin location on socket Change JP1 to GND Change JP2 to +5V Appendices ▫...
  • Page 201: +12V High Amp Enable Sinking Configuration

    +12V High Amp Enable Sinking Configuration (Does not require the removal of Metal) From Default Configuration: Change JP1 to +12V +12V Low Amp Enable Sinking Configuration From Default Configuration: Reverse RP2 Change JP1 to +12V DMC-500x0 User Manual Appendices ▫ 196...
  • Page 202: +12V High Amp Enable Sourcing Configuration

    +12V High Amp Enable Sourcing Configuration From Default Configuration: Move U4 up one pin location on socket Reverse RP2 Change JP1 to GND Change JP2 to +12V +12V Low Amp Enable Sourcing Configuration From Default Configuration: Move U4 up one pin location on socket Change JP1 to GND Change JP2 to +12V Appendices ▫...
  • Page 203: Isolated Power High Amp Enable Sinking Configuration

    Isolated Power High Amp Enable Sinking Configuration AEC1 = V+ AEC2 = V- For +5V to +12V, RP6 = 820 Ω For +13V to +24V, RP6 = 4.7 kΩ From Default Configuration: Change JP1 to AEC1 Change JP2 to AEC2 If AEC1 is +13V to +24V, Replace RP6 with 4.7K Resistor Pack Isolated Power Low Amp Enable Sinking Configuration...
  • Page 204: Isolated Power High Amp Enable Sourcing Configuration

    Isolated Power High Amp Enable Sourcing Configuration AEC1 = V- AEC2 = V+ For +5V to +12V, RP6 = 820 Ω For +13V to +24V, RP6 = 4.7 kΩ From Default Configuration: Move U4 up one pin location on socket Reverse RP2 Change JP1 to AEC1 Change JP2 to AEC2...
  • Page 205 Step 4: Replace ICM Step 5: Replace Cover Notes: Cover Installation: Install Jack Screws (20 Places) Install #6-32x3/16” Button Head Cover Screws(4 Places) DMC-500x0 User Manual Appendices ▫ 200...
  • Page 206: Signal Descriptions

    Signal Descriptions 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.
  • Page 207 Inputs Encoder MA+ and MB+ Position feedback from incremental encoder with two channels in quadrature, MA and MB. The encoder may be analog or TTL. Any resolution encoder may be used as long as the maximum frequency does not exceed 22,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 208: 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 209: 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 Web: http://www.galil.com/ DMC-500x0 User Manual Appendices ▫ 204...
  • Page 210: Warranty

    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 211: Integrated Components

    Integrated Components Overview When ordered, the following components will reside inside the box of the DMC-500x0 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. For a complete understanding of where th internal components reside in the DMC-500x0 controller, please see Part Numbers, pg 2.
  • Page 212 A7 – SDM-440x0 (-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. The current is selectable with options of 0.5, 0.75, 1.0, and 1.4 Amps/Phase. The step resolution is selectable with options of full, half, 1/4 and 1/16.
  • Page 213: A1 - Amp-430X0 (-D3040,-D3020)

    A1 – AMP-430x0 (-D3040,-D3020) Description The AMP-43040 resides inside the DMC-500x0 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 214: Electrical Specifications

    Electrical Specifications The amplifier is a brush/brushless trans-conductance PWM amplifier. The amplifier operates in torque mode, and will output a motor current proportional to the command signal input. Supply Voltage: 20-80 V Continuous Current: Peak Current 10 A Nominal Amplifier Gain 0.7 A/V Switching Frequency 60 kHz (up to 140 kHz available-contact Galil)
  • Page 215: Operation

    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 216 Note:For most applications, unless the motor has more than 5 mH of inductance with a 24V supply, or 10 mH of inductance with a 48 volts supply, the normal current loop bandwidth option should be chosen. AW will return the current loop bandwidth in Hertz.
  • Page 217: 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 218 Over-Temperature Protection The amplifier is also equipped with over-temperature protection. Rev A and Rev B amplifiers: If the average heat sink temperature rises above 100°C, then the amplifier will be disabled. The over-temperature condition will trigger the #AMPERR routine if included in the program on the controller. The amplifier will re-enable when the temperature drops below 100 °C.
  • Page 219: A2 - Amp-43140 (-D3140)

    A2 – AMP-43140 (-D3140) Description The AMP-43140 resides inside the DMC-500x0 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 220: Operation

    Mating Connectors On Board Connector Terminal Pins Molex Mini-Fit, Jr.™ 4-pin POWER MOLEX#44476-3112 MOLEX# 39-01-2045 Molex Mini-Fit, Jr.™ A,B,C,D: 4-pin Motor 2-pin MOLEX#44476-3112 Power Connectors MOLEX# 39-01-2025 For mating connectors see http://www.molex.com/ Power Connector Pin Number Connection Power Supply Ground -VS (-DC Power) +VS (DC Power) Motor Connector...
  • Page 221 Using External Amplifiers Use the connectors on top of the controller to access necessary signals to run external amplifiers. For more information on connecting external amplifiers, see Step A in Chapter 2. DMC-500x0 User Manual A2 – AMP-43140 (-D3140) ▫ 216...
  • Page 222: A3 - Amp-43240 (-D3240)

    A3 – AMP-43240 (-D3240) Description The AMP-43240 resides inside the DMC-500x0 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 223: Electrical Specifications

    Electrical Specifications The amplifier is a brush/brushless trans-conductance PWM amplifier. The amplifier operates in torque mode, and will output a motor current proportional to the command signal input. Supply Voltage: 20-80 VDC Continuous Current: 10 Amps Peak Current 20 Amps Nominal Amplifier Gain 1.0 Amps/Volt Switching Frequency...
  • Page 224: Operation

    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 225 AU and AW commands: With the AMP-43240, the user is also given the ability to choose between normal and high current bandwidth (AU). In addition, the user can calculate what the bandwidth of the current loop is for their specific combination (AW). To select normal current loop gain for the X axis and high current loop gain for the Y axis, issue AU 0,1.
  • Page 226: 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 227 Over-Temperature Protection The amplifier is also equipped with over-temperature protection. If the average heat sink temperature rises above 80°C, then the amplifier will be disabled. The over-temperature condition will trigger the #AMPERR routine if included in the program on the controller. The amplifier will not be re-enabled until the temperature drops below 80°C and then either an SH command is sent to the controller, or the controller is reset (RS command or power cycle).
  • Page 228: A4 - Amp-435X0 (-D3540,-D3520)

    A4 – AMP-435x0 (-D3540,-D3520) Description The AMP-43540 resides inside the DMC-500x0 enclosure and contains four sinusoidally commutated, PWM amplifiers for driving brushed or brushless servo motors. Each amplifier drives motors operating at up to 8 Amps continuous, 15 Amps peak, 20–80 VDC. The gain settings of the amplifier are user-programmable at 0.4 Amp/Volt, 0.8 Amp/Volt and 1.6 Amp/Volt.
  • Page 229: Electrical Specifications

    Electrical Specifications The amplifier is a brush/brushless transconductance PWM amplifier. The amplifier operates in torque mode, and will output a motor current proportional to the command signal input. Supply Voltage: 20-80 VDC Continuous Current: 8 Amps Peak Current 15 Amps Nominal Amplifier Gain 0.8 Amps/Volt Switching Frequency...
  • Page 230: Operation

    Operation Commutation Related Velocity When using sinusoidal commutation and higher speed applications, it is a good idea to calculate the speed at which commutation can start to affect performance of the motor. In general, it is recommended that there be at least 8 servo samples for each magnetic cycle.
  • Page 231 Issue either the BZ or BX command. Either the BX or BZ command must be executed on every reset or power- up of the controller. BZ Command: • Issue the BZ command to lock the motor into a phase. Note that this will cause up to ½ a magnetic cycle of motion.
  • Page 232 Vsupply VDC Inductance L (mH) L < 1 1 < L < 2.3 2.3 < L < 4.2 4.2 < L L < 2.4 2.4 < L < 4.2 4.2 < L < 7 7 < L Table A4.23: Amplifier Current Loop Gain Settings Setting Peak and Continuous Current (TL and TK) To set TL and TK for a particular motor, find the continuous current and peak current ratings for that motor and divide that number by the amplifier gain.
  • Page 233: Error Monitoring And Protection

    Using External Amplifiers The BR command must be set to a -1 for any axis where an AMP-43540 is installed but the use of an external axis is required. This setting will disable the requirement to have the BA, BM and BX or BZ commands executed prior to being able to issue the SH command for that axis.
  • Page 234 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 30 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 235: A5 - Amp-43640 (-D3640)

    A5 – AMP-43640 (-D3640) Introduction The AMP-43640 contains four linear drives for sinusoidally commutating brushless motors. The AMP-43640 requires a single 15–30VDC 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. Typically a 24VDC supply will deliver 1A continuous and 2A peak while a 30VDC will be able to provide 1.0 A continuous and 2.0 A peak.
  • Page 236: Electrical Specifications

    Electrical Specifications The amplifier is a brushless type trans-conductance linear amplifier for sinusoidal commutation. The amplifier outputs a motor current proportional to the command signal input. DC Supply Voltage: 15-30 VDC In order to run the AMP-43640 in the range of 15-20 VDC, the ISCNTL –...
  • Page 237 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 238: Operation

    Operation Commutation Related Velocity When using sinusoidal commutation and higher speed applications, it is a good idea to calculate the speed at which commutation can start to affect performance of the motor. In general, it is recommended that there be at least 8 servo samples for each magnetic cycle.
  • Page 239 Issue either the BZ or BX command. Either the BX or BZ command must be executed on every reset or power- up of the controller. BZ Command: • Issue the BZ command to lock the motor into a phase. Note that this will cause up to ½ a magnetic cycle of motion.
  • Page 240 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 241: A6 - Amp-43740 (-D3740)

    A6 – AMP-43740 (-D3740) Description The AMP-43740 resides inside the DMC-40x0 enclosure and contains four sinusoidally commutated, PWM amplifiers for driving brushed or brushless servo motors. Each amplifier drives motors operating at up to 16 Amps continuous, 30 Amps peak, 20–80 VDC. The gain settings of the amplifier are user-programmable at 0.8 Amp/Volt, 1.6 Amp/Volt and 3.2 Amp/Volt.
  • Page 242: Electrical Specifications

    Electrical Specifications The amplifier is a brush/brushless transconductance PWM amplifier. The amplifier operates in torque mode, and will output a motor current proportional to the command signal input. Supply Voltage: 20-80 VDC Continuous Current: 16 Amps Peak Current 30 Amps Nominal Amplifier Gain 1.6 Amps/Volt Switching Frequency...
  • Page 243: Operation

    Operation Commutation Related Velocity When using sinusoidal commutation and higher speed applications, it is a good idea to calculate the speed at which commutation can start to affect performance of the motor. In general, it is recommended that there be at least 8 servo samples for each magnetic cycle.
  • Page 244 BZ Command: • Issue the BZ command to lock the motor into a phase. Note that this will cause up to ½ a magnetic cycle of motion. Be sure to use a high enough value with BZ to ensure the motor is locked into phase properly. BX Command: •...
  • Page 245 Setting Peak and Continuous Current (TL and TK) To set TL and TK for a particular motor, find the continuous current and peak current ratings for that motor and divide that number by the amplifier gain. For example, a particular motor has a continuous current rating of 14.0 A and peak current rating of 28.0 A.
  • Page 246: 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 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, 2, or 3.
  • Page 247: A7 - Sdm-440X0 (-D4040,-D4020)

    A7 – SDM-440x0 (-D4040,-D4020) Description The SDM-44040 resides inside the DMC-500x0 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 248: Electrical Specifications

    Electrical Specifications DC Supply Voltage: 12-30 VDC In order to run the SDM-44040 in the range of 12-20 VDC, the ISCNTL – Isolate Controller Power option must be ordered Max Current (per axis) 1.4 Amps/Phase Amps (Selectable with AG command) Maximum Step Frequency: 6 MHz Motor Type:...
  • Page 249: Operation

    Operation The SDM-44040 should be setup for Active High step pulses (MT-2 or MT-2.5). The AG command sets the current on each axis, the LC command configures each axis’s behavior when holding position and the YA command sets the step driver resolution. These commands are detailed below, see also the command reference for more information: Current Level Setup (AG Command) AG configures how much current the SDM-44040 delivers to each motor.
  • Page 250 Step Drive Resolution Setting (YA command) When using the SDM-44040, the step drive resolution can be set with the YA command Step Drive Resolution per Axis: YA n,n,n,n,n,n,n,n n = 1 Full n = 2 Half n = 4 n = 16 1/16 When running in full step mode –...
  • Page 251: A8 - Sdm-44140 (-D4140)

    A8 – SDM-44140 (-D4140) Description The SDM-44140 resides inside the DMC-500x0 enclosure and contains four microstepping drives for operating two- phase bipolar stepper motors. The drives produce 64 microsteps per full step or 256 steps per full cycle 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.
  • Page 252: Electrical Specifications

    Electrical Specifications DC Supply Voltage: 20-60 VDC Max Current (per axis) 3.0 Amps (Selectable with AG command) Max Step Frequency: 6 MHz Motor Type: Bipolar 2 Phase Switching Frequency: 60 kHz Minimum Load Inductance: 0.5 mH Mating Connectors On Board Connector Terminal Pins Molex Mini-Fit, Jr.™...
  • Page 253: Operation

    Operation The SDM-44140 should be setup for Active High step pulses (MT-2 or MT-2.5). The AG command sets the current on each axis and the LC command configures each axis’s behavior when holding position. These commands are detailed below: Current Level Setup (AG Command) AG configures how much current the SDM-44140 delivers to each motor.
  • Page 254: Error Monitoring And Protection

    Using External Amplifiers Use the connectors on top of the controller to access necessary signals to run external amplifiers. For more information on connecting external amplifiers, see Step A in Chapter 2. 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.
  • Page 255: A9 - Cmb-41023 (-C023)

    A9 – CMB-41023 (-C023) Description The CMB provides the connections for EtherCAT, Ethernet, and Serial communication as well as the 44-pin HD D- Sub connector for the Extended I/O. An 8x2 character LCD screen is used to display the status of each axis, or can display a custom message if desired.
  • Page 256: Connectors For Cmb-41023 Interconnect Board

    Connectors for CMB-41023 Interconnect Board CMB-41023 Extended I/O 44 pin HD D-Sub Connector (Male) Label Description Label Description Label Description IO18 I/O bit 18 IO17 I/O bit 17 IO19 I/O bit 19 IO21 I/O bit 21 IO20 I/O bit 20 IO22 I/O bit 22 IO24...
  • Page 257 JP2 - RS-232-Main Port Standard 9-pin male D-sub connector. Signal JP3 - RS-232-Auxiliary Port Standard 9-pin female D-sub connector. Signal 5V with APWR Jumper J1/J6 - Ethernet The Ethernet connection is Auto MDIX, 100bT/10bT. Signal On the each Ethernet port there are two LEDs that indicate the status of the port's Ethernet connection. Green Link LED (LNK): The green LED indicates there is a valid Ethernet connection.
  • Page 258 Jumper Description for CMB-41023 Jumper Label Function (If jumpered) Option Jumper Reserved Motor Off Jumper When controller is powered on or reset, Amplifier Enable lines will be in a Motor Off state. A SH will be required to re-enable the motors. Baud Rate Jumper 38.4K Baud Rate setting –...
  • Page 259 The following table describes the information shown when the LCD update is enabled (LU 1): Axis Status Description Idle Lower power idle Motor Off Axis Moving in independent mode Position Error exceeded TE > ER Stopped from ST command Decelerating or stopped by Limit switch Stopped by Abort Running in Vector or Lienar Interpolation Mode Running in Contour Mode...
  • Page 260: A10 - Icm-42000 (-I000)

    A10 – ICM-42000 (-I000) Description The ICM-42000 resides inside the DMC-500x0 enclosure and breaks out the internal CPU board connector into convenient D-sub connectors for interface to external amplifiers and I/O devices.The ICM-42000 provides a 15-pin HD D-sub connector for the encoders on each axis, a 15-pin D-sub for analog inputs, a 44-pin HD D-sub for I/O, and a 44-pin D-sub for the motor command signals.Eight 500 mA highside drive outputs are available (total current not to exceed 3 A).The ICM-42000 is user-configurable for a broad range of amplifier enable options including: High amp enable, Low amp enable, 5 V logic, 12 V logic, external voltage supplies up to 24 V and sinking or sourcing.
  • Page 261: Connectors For Icm-42000 Interconnect Board

    Connectors for ICM-42000 Interconnect Board ICM-42000 I/O (A-D) 44 pin HD D-Sub Connector (Female) Label Description Label Description Label Description Error Output Reset Input Digital Ground Digital Input 1/ A latch INCOM Input Common Digital Input 2 / B latch Digital Input 4 / D latch Digital Input 3 / C latch Digital Input 5...
  • Page 262 ICM-42000 Encoder 15 pin HD D-Sub Connector (Female) Label Description I+ Index Pulse Input B+ Main Encoder Input A+ Main Encoder Input B+ Aux Encoder Input Digital Ground I- Index Pulse Input B- Main Encoder Input A- Main Encoder Input A- Aux Encoder Input HALA A Channel Hall Sensor...
  • Page 263: A11 - Icm-42200 (-I200)

    A11 – ICM-42200 (-I200) Description The ICM-42200 interconnect option resides inside the DMC-500x0 enclosure and provides a pin-out that is optimized for easy connection to external drives. The ICM-42200 uses 26-pin HD D-sub connectors for each axis that includes encoder, limit, home, and motor command signals. Other connectors include a 44-pin HD D-sub for digital I/O, and a 15-pin LD D-sub for analog I/O.
  • Page 264: Connectors For Icm-42200 Interconnect Board

    Connectors for ICM-42200 Interconnect Board ICM-42200 I/O (A-D) 44 pin HD D-Sub Connector (Female) Label Description Label Description Label Description Error Output Reset Input Digital Ground Digital Input 1/ A latch INCOM Input Common Digital Input 2 / B latch Digital Input 4 / D latch Digital Input 3 / C latch Digital Input 5...
  • Page 265 ICM-42200 Encoder 26 pin HD D-Sub Connector (Female) Label Description Label Description Reserved / Hall 2 Forward Limit Switch Input Amplifier Enable B+ Aux Encoder Input Direction I- Index Pulse Input Home B+ Main Encoder Input LSCOM Limit Switch Common Digital Ground A- Aux Encoder Input MCMD...
  • Page 266 Jumper Description for ICM-42200 Jumper Label Function (If jumpered) Q and P Sink/Source Selection Sink/Source Selection Sink/Source Selection HAEN/LAEN Selection 5V/12V/External Power Selection 5V/12V/External Power Selection See ICM-42200 Amplifier Enable Circuit in Chapter 3 for detailed information regarding the PQ jumpers. A11 –...

This manual is also suitable for:

Dmc-50080

Table of Contents