Home
        DMC-1410/1411/1417 USER MANUAL
         Contents
1.                                        Description Connection    ACMD                   Channel A  MA   Channel B  MB   Channel A  MA   Channel B  MB   Index   1   Index   1          GND   5V 5V  Red Wire cH Red Connector  CPS Power Supply Black Wire  Motor                            Black Connector                 O  5 high volt                4 power gnd                                2 motor           1 motor    MSA 12 80  11 INHIBIT    4   REF IN  2 SIGNALGND             Figure 2 4 System Connections with a separate amplifier  MSA 12 80   This diagram shows the connections  for a standard DC Servo Motor and encoder     Step 7b  Connect brushless motors for sinusoidal commutation   DMC  1410 1417 only     Please consult the factory before operating with sinusoidal commutation  The sinusoidal  commutation option is available only on the DMC 1410 1417  When using sinusoidal  commutation  the parameters for the commutation must be determined and saved in the controller  non volatile memory  The servo can then be tuned as described in Step 8     Step A  Disable the motor amplifier  Use the command  MO  to disable the motor amplifiers   Step B  Connect the motor amplifier to the controller     The sinusoidal commutation amplifier requires 2 signals  usually denoted as Phase A   amp  Phase B  These inputs should be connected to the two sinusoidal signals  generated by the controller  The first signal is the main controller motor output   ACMD  The second signal utilizes the seco
2.            Computer                   DMC 1400 Controller                         Encoder                              Figure 1 2   Elements of Servo systems    Motor    Amplifier  Driver                 A motor converts current into torque  which produces motion  Each axis of motion requires a  motor sized properly to move the load at the desired speed and acceleration  Galil s Motion  Component Selector software can help you calculate motor size and drive size requirements     Contact Galil at 800 377 6329 if you would like this product     DMC 1410 1411 1417 Series    Chapter 1 Overview e 3    The motor may be a step or servo motor and can be brush type or brushless  rotary or linear  For  step motors  the controller can control full step  half step  or microstep drives     Amplifier  Driver     For each axis  the power amplifier converts a    10 Volt signal from the controller into current to  drive the motor  The amplifier should be sized properly to meet the power requirements of the  motor  For brushless motors  an amplifier that provides electronic commutation is required  The  amplifiers may be either pulse width modulated  PWM  or linear  They may also be configured  for operation with or without a tachometer  For current amplifiers  the amplifier gain should be set  such that a 10 Volt command generates the maximum required current  For example  if the motor  peak current is 10A  the amplifier gain should be 1 A V  For velocity mode amplifiers  10 Volts  should run
3.            MOTOR          ENCODER             Figure 10 4   Functional Elements of a Motion Control System    Motor Amplifier  The motor amplifier may be configured in three modes     1  Voltage Drive    126 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    2  Current Drive  3  Velocity Loop    The operation and modeling in the three modes is as follows     Voltage Source    The amplifier is a voltage source with a gain of Kv  V V   The transfer function relating the input  voltage  V  to the motor position  P  is    P V   K    K S ST    1  ST   1      where  2  T     RJ K  is   and  T  L R  5   and the motor parameters and units are  Kt Torque constant  Nm A   R Armature Resistance Q  J    Combined inertia of motor and load  kg m2   L Armature Inductance  H     When the motor parameters are given in English units  it is necessary to convert the quantities to  MKS units  For example  consider a motor with the parameters     K   14 16 oz   in A   0 1 Nm A  R 2Q0    J   0 0283 oz in s    2 10 4 kg  m2    L   0 004H   Then the corresponding time constants are  Tm   0 04 sec   and  Te   0 002 sec    Assuming that the amplifier gain is Kv   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 Ka  The resulting transfer function in this case is    P V  K  K Js2    where Kt and J are as defined previously  For example  a current 
4.            bres 109  Programmable Hardware V O                    enne nennen trennen eene 110  Digital Outputs          pen e e p He i ae 110   Digital Inputs tite aero omete arn enero d 111   Input Interrupt Function                          entente nennen 111  Example Applications    iaia 112  Mire  Cutter    ue data ioter o deo e d EHE d 112  Backlash Compensation by Dual L00p                   eese 113    DMC 1410 1411 1417 Series Contents e iii    iv e Contents    Chapter 8 Error Handling 115     troduction   ici ta etr    eH Te RS 115  Hardware  Protection    rec ee I E eie te eed e xe decus 115  Output  Protection        oco ertet Ue ete page e aaa oasi 115   Input Protection Lines    212 tre aD epo b Rp endi 116  S  ftware  ProtectiOmn i  RE      Rr ERROR n e RE br RA TR 116  Programmable Position Limits                  i 116                        ita AR ELLI omaia a e Rn 117  Automatic Error                                           117   Limit Switch          lana Lana                               117  Chapter 9 Troubleshooting 119  OVERVIEW diver or eee iare debet te e o a OI OU 119  Installation e          R                             119  evite                                        120  Stability  sica              ae ee anes al ee beet bees 121  Operation  EE 121  Chapter 10 Theory of Operation 123  wc                                     123  Operation of Closed Loop Systems                  ii 125  System Modeling  eiut ia ee tdi Bei de thc ae ana 126  Mo
5.       i 66  Additional Commands  i tte eel riali 67   Teach  Record and  Play Back   ss occ ert e eee eR rai t   70  Stepper Motor Operation nars ritoriale odia  71  Specifying Stepper Motor Operation                     i 71    DMC 1410 1411 1417 Series    Using an Encoder with Stepper Motors                  eese eene 72    Command Summary   Stepper Motor                                                     72  Operand Summary   Stepper Motor Operation                      ii 72   Dual Loop  Auxiliary Encoder                           inni iena neon 73  Backlash Compensation  sii    iii ai te pe REI TH 73   Motion  Smoothing wis  5 30 a EEE ao et alal aa E E e ei 75  Usimep the  IT Cormmnand        tate pe Rr p eio red 75   Hoinmg  a 5  diente a atate rp e EE rana iii 76  High Speed Positi  n Capture  oorpore P P en E bep entera 79  Chapter 7 Application Programming 81  Introduction  uere eden eG eer eate ep oc ep etes 81  Using the DMC 141X Editor to Enter Programs                 iii 81  Edit Mode Commands                      eese eene nennen nennen rennen iaia 82  Program Format  aententia eB ee 82  Using Labels in Programs                 eese rennen enne enne nennen 83   Special L  b  ls              eod e a d Up m 83  Commenting Programs  oneness nee e m t e o t eg      enge 84  Executing Programs   Multitasking                  i 85  Debugging  PrOSratns     1 4 n oe efe d ee D Re ai m ge i edem 86  Program Flow Commands                     enne             enne enne
6.      Note  The DMC 1417 is only supported in Windows 98 SE  NT 4  ME  2000 and XP    Using DOS    Using the Galil Software CD ROM  go to the directory  July2000 CD DMCDOS DISK1  Type  INSTALL at the DOS prompt and follow the directions    Using Windows 3 x  16 bit versions      Explore the Galil Software CD ROM and go to the directory  July2000 CD DMCWIN  Run  DMCWINI16 and follow the directions  The Windows Servo Design Kit  WSDK16   which 15    DMC 1410 1411 1417 Series Chapter 2 Getting Started e 7    useful for tuning servos and viewing useful controller information  can be downloaded off the CD  as well  However  WSDK16 is a purchase only software package and is password protected on  the CD  Contact Galil for purchase information     Using Windows 95 or 98 First Edition     The HTML page that opens automatically from the CD ROM does not contain the necessary  software for Windows 95 or Windows 98 First Edition  Instead  Explore the CD and go to the  July2000 CD folder  To install the basic communications software click on DMCTERM and  then run the application  DMCTERM  Another terminal software is called DMCWIN32 and is  located under July2000 CD DMCWIN  The Windows Servo Design Kit  WSDK32   which is  useful for tuning servos and viewing useful controller information  can be downloaded off the CD  as well  However  WSDK32 is a purchase only software package and is password protected on  the CD  Contact Galil for purchase information     Using Windows 98 Second Edition 
7.     WTn Halts program execution until specified time in msec  has elapsed     Event Trigger Examples        Event Trigger   Multiple Move Sequence    The AM trippoint is used to separate the two PR moves  If AM is not used  the controller returns a    for the second PR command because a new PR cannot be given until motion is complete     Instruction Interpretation   TWOMOVE Label   PR 2000 Position Command   BG Begin Motion   AM Wait for Motion Complete  PR 4000 Next Position Move   BG Begin 2nd move   EN End program    Event Trigger   Set Output after Distance    Set output bit 1 after a distance of 1000 counts from the start of the move  The accuracy of the  trippoint is the speed multiplied by the sample period     Instruction Interpretation   SETBIT Label   SP 10000 Speed is 10000   PA 20000 Specify Absolute position  BG Begin motion    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 89    AD 1000 Wait until 1000 counts  SB1 Set output bit 1  EN End program    Event Trigger   Repetitive Position Trigger    To set the output bit every 10000 counts during a move  the AR trippoint is used as shown in the  next example     Instruction Interpretation   TRIP Label   JG 50000 Specify Jog Speed  BG n 0 Begin Motion   REPEAT   Repeat Loop  AR 10000 Wait 10000 counts  TP Tell Position   SB1 Set output 1  WT50 Wait 50 msec         Clear output 1  n n 1 Increment counter  JP  REPEAT n lt 5 Repeat 5 times   ST Stop   EN End    Event Trigger   Start Motion on Input    Thi
8.    652  656  660  664  668  Address  672  676  680  684  688  692  696  700  704  708  712  716  720  724  732  736  740  744  748  752  756  760  764  768  776  780  784  788  792  796  800  804  808  812             DMC 1410 1411 1417 Series    144 e Appendices          816  820  824  828  832  836  840  844  848  852  856  Address  860  864  868  872  876  880  884  888  892  896  900  904  908  912  916  920  924  928  932  936  940  944  948  952  956  960  964  968  972  976                DMC 1410 1411 1417 Series    Appendices e 145                1000  1004  1008  1012  1016  1020                         ICM 1460 Interconnect Module  Rev F     The ICM 1460 Interconnect Module provides easy connections between the DMC 141X series  controllers and other system elements  such as amplifiers  encoders  and external switches  The  ICM 1460 accepts the 37 pin cable from the DMC 1410 and 1417 or the 40 pin to 37 pin cable  from the DMC 1411 and breaks it into screw type terminals  Each screw terminal is labeled for  quick connection of system elements     The ICM 1460 is packaged as a circuit board mounted to a metal enclosure  A version of the    ICM 1460 is also available with a servo amplifier  see AMP 1460    Features    e Breaks out 37 pin ribbon cable into individual screw type terminals   e Clearly identifies all terminals   e Available with on board servo drive  see AMP 1460     e 10 pin IDC connectors for encoders    e Amplifier enable buffer chip allowing for vario
9.    E Galil DMC 17x0 Motion Controller  3 Hard disk controllers  F   Keyboard         Monitors        Mouse        Network adapters  gg Dther devices    PCI Multimedia Audio Device    cm VR mea  een 9 mm       Device Manager in Win 98 SE    DMC 1410 1411 1417 Series Chapter 2 Getting Started e 19    Select the device from the list  go to the resource tab  and reassign the resources to  those that match the address and interrupt  IRQ  jumpers on the controller  see the  appendix for    Address Settings    and Step 3 for installing jumpers      Galil DMC 14x0 Motion Controller Properties    A        Use automate setings    Basic configuration 0                      Changing the Resources in Win 98 SE    20 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    ii     DMC 1410 1411 1417 Series    Edit Input Output Range      2        Enter the input output range you would like to set for this device     You may either enter a specific range and the nearest valid range will be  automatically selected  or you may select a range using the up and  down arrows     This resource is assigned to the following child device s      Value    338  0338          Conflict information    The setting you have chosen does not conflict with any other  devices     No devices are conflicting           conca         Edit Input Output Range in Win 98 SE    When changing the settings  the operating system will inform the user of any  resource conflicts  If there are resource conflicts  it is necessary
10.    In order for the Windows software to communicate with a Galil controller  the controller must be  entered in the Windows Registry  In Windows 98 SE  ME 2000 and XP operating systems  OS    the DMC 1417 is plug and play  This means that on power up the computer will automatically  detect the card and install the appropriate device driver  A    Found New Hardware    dialog box  may appear during installation of the device driver  The controller will be identified by model  name and entered into the Galil Registry  Now the user can communicate to the controller using  DMCTERM  DMCWIN32  or WSDK32     Note  In order for the PC to recognize the plug and play controller as a Galil device  the Galil  software must be loaded prior to installing the card     Select Motion Controller E x     Controller  DMC 14x7  PCI  Address 57332  Interrupt Level 18  Serial  0  Controller  DMC 1800  PCI  Address 57248  Interrupt Level 18  Serial  1234       DMC 1800 and DMC 1417 in the Galil Registry    Using either an DMC 1410 or DMC 1411 card in a plug and play OS  Win 98 SE  2000  ME  XP   will require adding the controller to the system in the Windows Device Manager  In Win 98 SE  and ME this feature is accessed through the Start Settings Control Panel Add New Hardware  shortcut  In Win 2000 and XP it can be accessed through My  Computer Properties Hardware Hardware Wizard  The procedures on the two operating systems  are nearly identical  but the dialog boxes look a little different  The foll
11.    USER MANUAL    DMC 1410 1411 1417    Manual Rev  2 6    By Galil Motion Control  Inc     Galil Motion Control  Inc   270 Technology Way  Rocklin  California 95765  Phone   916  626 0101  Fax   916  626 0102  Internet Address  support galilme com  URL  www galilmc com    Rev Date  03 06    Using This Manual    Your DMC 1400 SERIES motion controller has been designed to work with both servo and stepper  type motors  Installation and system setup will vary depending upon whether the controller will be  used with stepper motors  or servomotors  To make finding the appropriate instructions faster and  easier  icons will be next to any information that applies exclusively to one type of system  Otherwise   assume that the instructions apply to all types of systems  The icon legend is shown below     Attention  Pertains to servo motor use     Attention  Pertains to stepper motor use     THIS PAGE LEFT BLANK INTENTIONALLY    Contents    Contents 1  Chapter 1 Overview 1  Intiod  ctioh          t e Re ien er ete RERO it ac US 1  Overview of Motor Types    isso sla AGLA LI Asa terit a ii 2  Standard Servo Motors with     10 Volt Command Signal                ii 2  Stepper Motor with Step and Direction Signals                iii 2  DMC 1400 Functional Elements                    i 2  Microcomputer Section    iis oust stick esse nA rete deste pue e ater ies 3  MotorInterface     aa e no pucr na rt RR IA Lie 3  Comunication cia ete cute AIA tui ad tete      i es 3  General O x  oce oe d
12.   NOTE  The  POSERR routine will continue to be executed until the position error is cleared  is    less than the ER limit      Example   Input Interrupt    Instruction    A             30000   BG   LOOP JP LOOP EN   ININT   ST AM    TEST JP  TEST   IN 1  0  JG 30000   BG RI   EN    Interpretation   Label   Input Interrupt on 1   Jog   Begin Motion   Loop   Input Interrupt   Stop Motion   Test for Input 1 still low  Restore Velocities    Begin motion and Return to Main Program    When Input   changes in state from high to low  the  ININT subroutine will be executed   NOTE  Use the RI command to return from  ININT subroutine     Example   Motion Complete Timeout    Instruction   BEGIN   TW 1000   PA 10000  BG   MC    DMC 1410 1411 1417 Series    Interpretation   Begin main program   Set the time out to 1000 ms  Position Absolute command  Begin motion    Motion Complete trip point    Chapter 7 Application Programming e 95    EN    MCTIME   MG    X Fell Short     EN    End main program  Motion Complete Subroutine  Send out a message    End subroutine    This simple program will issue the message    X Fell Short    if the axis does not reach the  commanded position within 1 second of the end of the profiled move     Example   Command Error    Instruction    BEGIN   IN  ENTER SPEED   SPEED  JG SPEED BG    JP  BEGIN   EN    CMDERR  JP DONE _ED lt  gt 2  JP DONE _TC lt  gt 6   MG  SPEED TOO HIGH   MG  TRY AGAIN    751   JP  BEGIN    DONE   ZSO   EN    The above program prompts    In
13.   Tell Position   Returned Position data  Request Position Command  Returned data   Enter invalid command  Controller response  Request error code    Controller response    Chapter 5 Programming Basics e 57    THIS PAGE LEFT BLANK INTENTIONALLY    58 e Chapter 5 Programming Basics DMC 1410 1411 1417 Series    Chapter 6 Programming Motion    Overview    The DMC 141X provides several modes of motion  including independent positioning and  Jogging  electronic cam electronic gearing  and contouring  Each one of these modes is discussed  in the following sections     The example applications described below will help guide you to the appropriate mode of motion      Example Application   Application Mode of Motion   Mode of Motion   Motion  Commands      Absolute or relative positioning where axis Point to Point Positioning   PA PR  follows prescribed velocity profile  SP AC DC IT    Velocity control where no final endpoint is Independent Jogging  prescribed  Motion stops on Stop command     Motion Path described as incremental Contour Mode  position points versus time     Electronic gearing where axis is scaled to Electronic Gearing  auxiliary encoder that can move in both  directions     Master slave where slave axis must follow a   Electronic Gearing GR  master such as conveyer speed     Moving along arbitrary profiles or Contour Mode  mathematically prescribed profiles such as  sine or cosine trajectories     Teaching or Record and Play Back Contour Mode with  Automatic Array C
14.   The filter parameters are represented by the three constants KP  KI and KD  which correspond to  the proportional  integral and derivative term respectively     The damping element of the filter acts as a predictor  thereby reducing the delay associated with  the motor response     The integrator function  represented by the parameter KI  improves the system accuracy  With the  KI parameter  the motor does not stop until it reaches the desired position exactly  regardless of  the level of friction or opposing torque     The integrator also reduces the system stability  Therefore  it can be used only when the loop is  stable and has a high gain     The output of the filter is applied to a digital to analog converter  DAC   The resulting output  signal in the range between  10 and  10 Volts is then applied to the amplifier and the motor     The motor position  whether rotary or linear is measured by a sensor  The resulting signal  called  position feedback  is returned to the controller for closing the loop     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 Fig  10 4  The mathematical model of the various components is given                                                                         below   CONTROLLER  R X DIGITAL   Y V E  FILTER 1 ZOH   DAC               
15.   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  We will reship at our expense only to destinations in the United States     Any defect in materials or workmanship determined by Galil Motion Control to be attributable to  customer alteration  modification  negligence or misuse is not covered by this warranty     EXCEPT AS SET FORTH ABOVE  GALIL MOTION CONTROL WILL MAKE NO  WARRANTIES EITHER EXPRESSED OR IMPLIED  WITH RESPECT TO SUCH  PRODUCTS  AND SHALL NOT BE LIABLE OR RESPONSIBLE FOR ANY INCIDENTAL  OR CONSEQUENTIAL DAMAGES     COPYRIGHT  10 94     The software code contained in this Galil product is protected by copyright and must not be  reproduced or disassembled in any form without prior written consent of Galil Motion Control   Inc     154 e Appendices DMC 1410 1411 1417 Series    Index    Abort  41  Off On Error  27  43  Abort Motion  55  Absolute Position  62  95  Absolute Value  65  95  Address  122  Jumpers  143  Almost Full Flags  48  Amplifier  AMP 1460  8  143  Amplifier Enable  44  Amplifier Gain  6  Amplifiers  9  44  142  Connections  41  148  Analysis  SDK  35  Arithmetic Functions  94  99  Array  5  88  94  99  102  Arrays  57  72  83  103  140  Automatic Subroutine  LIMSWI  42  A
16.   resulting in decreasing  error     38 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    Chapter 3 Hardware Interface    Overview    The DMC 141X provides TTL digital inputs for forward limit  reverse limit  home  and abort  signals  The controller also has 7 uncommitted inputs  for general use  as well as 3 TTL outputs   This chapter describes the inputs and outputs and their proper connection     All of the controller signal lines are accessible through the main 37 pin connector  J3  for the  DMC 1410 and 1417 or the main 40 pin connector for the DMC 1411  The ICM 1460 provides  easy access to these signals through screw terminals     Encoder Interface    The DMC 141X accepts inputs from incremental encoders with two channels in quadrature  or 90  electrical degrees out of phase  The DMC 141X performs quadrature decoding of the two signals   resulting in bi directional position information with a resolution of four times the number of full  encoder cycles  For example  a 500 line encoder is decoded into 2000 quadrature counts per  revolution  An optional third channel or index pulse may be used for homing or synchronization   Several types of incremental encoders may be used  linear or rotary  analog or digital  single   ended or differential  Any line resolution may be used  the only limitation being that the encoder  input frequency must not exceed 2 000 000 full cycles sec  or 8 000 000 quadrature counts sec    The DMC 141X also accepts inputs from an additional 
17.  40 msec from reference and reset reference  SB1 Set Output 1   JP  LOOP Loop   EN    Conditional Jumps    The DMC 141X 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  Conditional jumps are useful for testing events in real time  They allow the DMC   141X to make decisions without a host computer  For example  the DMC 141X can decide  between two motion profiles based on the sate of an input line     Command Format   JP and JS    Format  Description _      JS destination  logical condition Jump to subroutine if logical condition is satisfied       DMC 1410 1411 1417 Series Chapter 7 Application Programming e 91    JP destination  logical condition Jump to location if logical condition is satisfied    The destination is a program line number or label where the program sequencer will jump if the  specified condition is satisfied  Not that the line number of the first line of program memory is 0   The comma designates  IF   The logical condition tests two operands with logical operators        Logical operators               less than or equal to  greater than or equal to       Conditional Statements    The conditional statement is satisfied if it evaluates to any value
18.  6   The DMC 141X can be programmed with the instruction     KP 20 6  KD 68 6    In a similar manner  other filters can be programmed  The procedure is simplified by the  following table  which summarizes the relationship between the various filters     Equivalent Filter Form    Digital    Digital  KP  KD  KI    Digital  GN  ZR  KI    Continuous    PID  T    DMC 1410 1411 1417 Series    DMC   1410  D z    K z A z    Cz  z 1     D z    4 KP  4 KD 1 271    KI2 1 z l                     4        KD  KP KD        KI 2    D z    4 GN z ZR  z   KI z 2 z 1   K 4GN   A ZR   C   KI 2    G s   P   Ds   I s  P   4KP  D 4T KD   I  KI2T    Chapter 10 Theory of Operation e 135    THIS PAGE LEFT BLANK INTENTIONALLY    136 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    Appendices    Electrical Specifications    Servo Control  ACMD Amplifier Command     A  A  B  B  IDX  IDX   Main Encoder Input  A   A   B   B  Aux Encoder input    Stepper Control  Pulse    Direction    Input Output    Limits  Home  Abort Inputs               thru OUT 3  Outputs   IN 1  through IN 7  Inputs    Power Requirements  45V   12V   12V    DMC 1410 1411 1417 Series       10 Volts analog signal  Resolution 16 bit   0003 Volts  3  mA maximum    TTL compatible  but can accept up to    12 Volts  Quadrature  phase on CHA CHB  Can accept single ended  A  B  only  or  differential  A  A  B  B    Maximum A B edge rate  8 MHz   Minimum IDX pulse width  120 nsec     TTL  0 5 Volts  level at 50  duty cycle  2 000 
19.  AT 10 Wait 10 msec from reference time  SB1 Set Output 1  AT  40 Wait 40 msec from reference time  then initialize reference         Clear Output 1  JP  LOOP1 Repeat Loopl   TASK2 Task2 label  XQ  TASK1 1 Execute Task1   LOOP2 Loop2 label  PR 1000 Define relative distance  BGX Begin motion  AMX After motion done  WT 10 Wait 10 msec    JP  LOOP2  IN 2  1 Repeat motion unless Input 2 is low    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 85    HX Halt all tasks    The program above is executed with the instruction XQ  TASK2 0 which designates TASK2 as  the main thread   TASK1 is executed within TASK2     Debugging Programs    The DMC 141X provides commands and operands that 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 that can help to debug a  program     Trace Commands    The trace command causes the controller to send each line in a program to the host computer  immediately prior to execution  Tracing is enabled with the command          TRO turns the trace  function off  Note  When the trace function is enabled  the line numbers as well as the command  line will be displayed as each command line is executed     Data that is output from the controller is stored in an output FIFO buffer  The output FIFO buffer  can store u
20.  Application Programming Interface  software is available from Galil  The API software is  written in C and is included in DMCWIN download  They can be used for development under  DOS and Windows environments  16 and 32 bit Windows   With the API s  the user can  incorporate already existing library functions directly into a C program     Galil has also developed an ActiveX Toolkit  This provides VBXs  16 bit        and 32 bit  OCXs for handling all of the DMC 141X communications including support of interrupts  These  objects install directly into Visual Basic  Labview  Visual C    and Delphi and are part of the run   time environment  For more information  contact Galil     DMC 1410 1411 1417 Series Chapter 4 Communication e 49    THIS PAGE LEFT BLANK INTENTIONALLY    50 e Chapter 4 Communication DMC 1410 1411 1417 Series    Chapter 5 Programming Basics    Introduction    The DMC 141X provides over 100 commands for specifying motion and machine parameters   Commands are included to initiate action  interrogate status and configure the digital filter     The DMC 141X instruction set is BASIC like and easy to use  Instructions consist of two  uppercase letters that correspond phonetically with the appropriate function  For example  the  instruction BG begins motion  and ST stops the motion     Commands can be sent  live  over the bus for immediate execution by the DMC 141X  or an  entire group of commands can be downloaded into the DMC 141X memory for execution at a  later ti
21.  ICM 1460  rev F and above only                                                  148  AMP 1460 Mating Power Amplifiers                    i 149  AMP 1460 20 Watt Linear Amplifier Option                    i 150  ICM AMP 1460 Dra WNS soreness perie tert fe tee dart ipt erede pne da Degas da yes 151  List of Other Publications                             enne                       nennen nennen nre 152  Traming Seminars     tpi tate e ete rd o pete tdt 152    DMC 1410 1411 1417 Series    Contacting Us  WARRANTY    Index    DMC 1410 1411 1417 Series    Contents e v    Chapter 1 Overview    Introduction    The DMC 1400 series of motion controllers was developed specifically for one axis applications  allowing it to be smaller in size  1 2 size card  and lower in cost than multi axis controllers  This  manual covers the three bus based controllers in the DMC 1400 Econo series lineup  The DMC   1410 is a state of the art motion controller that plugs into the ISA bus  The DMC 1411 is the  equivalent in the PC 104 bus format whereas the DMC 1417 is a PCI controller  Performance  capability of these controllers includes  8 MHz encoder input frequency  16 bit motor command  output DAC     2 billion counts total travel per move  up to 250 usec sample rate  bus interrupts  and non volatile memory for parameter storage  Designed for maximum system flexibility  the  DMC 141X can be interfaced to a variety of motors and drives including step motors  servomotors  and hydraulics     The contr
22.  Introduction                        a ete db di e ef dote 45  Communication with Controller                         ener                   45  Communi cation Reglsters             reed rt etd e d e deemed et 45  Simplified Communication Procedure for DMC 1410 1411                         sess 45  Simplified Communication Procedure for DMC 1417                     see 46  Iss t                                      47  Controller Response to  DATA risi i nde e ete esr 49  Galil Software Tools        Libraries                      ii 49  Chapter 5 Programming Basics 51  Introduction  nc eo Reli np EDI eS 51  Command Syntax  nean ete een e hee t eU 51  Controller Response to Commands                     sess nennen een rennen 52  Interrogating the Controller              2 oce              t ere ie e eoe e sare lae sete 52  Interrogation Commands                  essere ener nennen rennes 32  Operands  i ese hae n E aea e heat es 53  Command Summary                                                                                     53  Instruction Set Examples   isisisi e ia aaa 57  Chapter 6 Programming Motion 59  Overview sarai di en aaa  59  Point   to  Point Positioning    4 eee ASL UU petes de te ce reti iut 60  Independent Joz ering    oet eere mtcr i lager 61  Electronic Gearlng cete rete E m tco besote ve eset toi ene 62  Electronic  Catia riore den eR a cette tempe ui 62                    HR eh ERU RA e tet rte Eie aii 66  Specifying Contour Segments                   
23.  Next we need to construct the ECAM table  The table is specified at uniform intervals of master  positions  Up to 256 intervals are allowed  The size of the master interval and the starting point  are specified by the instruction     EP m n  where m is the interval width in counts  and n is the starting point     For the given example  we can specify the table by specifying the position at the master points of  0  2000  4000 and 6000  We can specify that by    EP 2000 0    Step 3  Specify the slave positions     Next  we specify the slave positions with the instruction    ET n  x    DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 63    where n indicates the order of the point     The value  n  starts at zero and may go up to 256  The parameter x indicate the corresponding  slave position  For this example  the table may be specified by    This specifies the ECAM table     Step 4  Enable the ECAM    To enable the ECAM mode  use the command  EBn  where n 1 enables ECAM mode and n 0 disables ECAM mode     Step 5  Engage the slave motion    To engage the slave motion  use the instruction  EGn  where n is the master position at which the slave must be engaged     If the value of any parameter is outside the range of one cycle  the cam engages immediately   When the cam is engaged  the slave position is redefined  modulo one cycle     Step 6  Disengage the slave motion    To disengage the cam  use the command  EQn    where n is the master position at which the slave axis 
24.  SE   NT 4  ME  2000 or XP     The Galil Software CD ROM will open an HTML page automatically as soon a Instead  Explore  the CD and go to the July2000 CD folder  To install the basic communications software click on  DMCTERM and then run the application  DMCTERM  The other basic terminal software is  called DMCWIN32 and is located under July2000 CD DMCWIN  The Windows Servo Design  Kit  WSDK32   which is useful for tuning servos and viewing useful controller information  can  be downloaded off the CD as well  However  WSDK32 is a purchase only software package and  is password protected on the CD  Contact Galil for purchase information     Step 2  Determine Overall Motor Configuration    Before setting up the motion control system  the user must determine the desired motor  configuration  The DMC 141X can control standard servomotors  brush or brushless  or stepper  motors  For control of other types of actuators  such as hydraulics  please contact Galil     The following configuration information is necessary to determine the proper motor configuration     Standard Servo Motor Operation     The DMC 141X has been setup by the factory for standard servo motor operation providing an  analog command signal of     10 volt  No hardware or software configuration is required for  standard servo motor operation     Stepper Motor Operation     To configure the DMC 141X for stepper motor operation  the controller requires that the  command  MT  be given and a jumper placed to designat
25.  SP 10000   REM SPEED IS 10000   AC 100000   REM ACCELERATION IS 100000  DC 100000   REM DECELERATION IS 100000  BG       84 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    REM BEGIN MOTION   AM   REM WAIT FOR AFTER MOTION  EN   REM END OF PROGRAM    These REM statements will be removed when this program is downloaded to the controller     Executing Programs   Multitasking    The DMC 141X can run up to two programs simultaneously  The programs  called threads  are  numbered 0 and 1  where 0 is the main thread     The main thread differs from the others in the following points     1  Only the main thread may use the input command  IN  Note  This is NOT the  IN used  to check general input status     2  Inacase of interrupts  due to inputs  limit switches  position errors or command errors  it is  the program in thread 0 which jumps to those subroutines     The execution of the various programs is done with the instruction   XQ  A  n   Where n indicates the thread number  To halt the execution of any thread  use the instruction  HX n   where n is the thread number    Note that both the XQ and HX functions can be performed by an executing program     Multitasking is useful for executing independent operations such as PLC functions that occur  independently of motion  The example below produces a waveform on Output 1 independent of a    move   Instruction Interpretation   TASKI Taskl label  ATO Initialize reference time         Clear Output 1   LOOP1 Loop  label 
26.  String variables with up to six characters may be input using the identifier   Sn  where n  represents the number of string characters to be input  If n is not specified  six characters  will be accepted  For example  IN    Enter X  Y or Z    V S  specifies a string variable to be  input     Output of Data  Numeric and String     Numerical and string data can be output from the controller using several methods  The message  command  MG  can output string and numerical data  Also  the controller can be commanded to  return the values of variables and arrays  as well as other information using the interrogation  commands  the interrogation commands are described in Chapter 5      Sending Messages    Messages may be sent to the bus using the message command  MG  This command sends  specified text and numerical or string data from variables or arrays to the screen     Text strings are specified in quotes and variable or array data is designated by the name of the  variable or array  For example     MG    The Final Value is    RESULT    In addition to variables  functions and commands  responses can be used in the message  command  For example     MG  Input 1 is    IN 1   MG  The Proportional Gain of X is   _KP    Formatting Messages    String variables can be formatted using the identifier   Sn  where n is the number of  characters  1 through 6  For example     MG STR  S3     This statement returns 3 characters of the string variable named STR     DMC 1410 1411 1417 Series Chapt
27.  any associated commands  All keywords are listed in the Command Summary  Chapter  11     Examples of Keywords   V1  LF Assign V1 the logical state of the Forward Limit Switch  V3 TIME Assign V3 the current value of the time clock   V4 _HM Assign V4 the logical state of the Home input    Example Program     Instruction Interpretation   TIMER Timer  INITIME TIME Initialize time variable  PR50000 BG Begin move   AM After move  ELAPSED TIME  Compute elapsed time  INTIME    100 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    Arrays    EN End program     LIMSWI Limit Switch Routine   JP  FORWARD _LF 0 Jump if Forward Limit   AM Wait for Motion Done   PR 1000 BG AM Move Away from Reverse Limit  JP  END Exit    FORWARD Forward Label   PR  1000 BG AM Move Away from Forward Limit   END Exit   RE Return to Main Program    For storing and collecting numerical data  the DMC 141X provides array space for 1000 elements   The arrays are one dimensional and up to 6 different arrays may be defined  Each array element  has a numeric range of 4 bytes of integer  2    followed by two bytes of fraction      2 147 483 647 9999      Arrays can be used to capture real time data  such as position  torque and error values  In the  contouring mode  arrays are convenient for holding the points of a position trajectory in a record  and playback application     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
28.  are shown in Fig  7 1     The program starts at a state that we define as  A  Here the controller waits for the input pulse on  Il  As soon as the pulse is given  the controller starts the forward motion     Upon completion of the forward move  the controller outputs a pulse for 20 ms and then waits an  additional 80 ms before returning to  A for a new cycle     Instruction Function    A Label   All Wait for input 1   PR 6370 Distance   SP 3185 Speed   BG Start Motion   AM After motion is complete       Set output bit 1   WT 20 Wait 20 ms          Clear output bit 1    112 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    WT 80 Wait 80 ms  JP HA Repeat the process    alt Www     START PULSE 11    MOTOR VELOCITY    OUTPUT PULSE           output    TIME INTERVALS  move wait ready move    Figure 7 1   Motor Velocity and the Associated Input Output signals    Backlash Compensation by Dual Loop    This design example addresses the basic problems of backlash in motion control systems  The  objective is to control the position of a linear slide precisely  The slide is to be controlled by a  rotary motor  which is coupled to the slide by a lead screw  Such a lead screw has a backlash of 4  micron  and the required position accuracy is for 0 5 micron     The basic dilemma is where to mount the sensor  If you use a rotary sensor  you get a 4 micron  backlash error  On the other hand  if you use a linear encoder  the backlash in the feedback loop  will cause oscillations
29.  consider this same example with an  additional condition     JP  TEST    V1 lt V2   amp   V3 lt V4      V5 lt V6     92 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    This statement will cause the program to jump to the label  TEST under two conditions  1  If V1  is less than V2 and V3 is less than V4  OR 2  If V5 is less than V6     Using the JP Command     If the condition for the JP command is satisfied  the controller branches to the specified label or  line number and continues executing commands from this point  If the condition is not satisfied   the controller continues to execute the next commands in sequence     Conditional Meaning  JP  Loop COUNT lt 10 Jump to  Loop if the variable  COUNT  is less than 10    JS  MOVE2  IN 1  1 Jump to subroutine  MOVE  if input 1 is logic level high  After the subroutine  MOVE  is executed  the program sequencer returns to the main program location  where the subroutine was called     JP  BLUE  ABS V2  gt 2 Jump to  BLUE if the absolute value of variable  V2  is greater than 2  JP  C V1 V7 lt  V8 V2 Jump to  C if the value of V1 times V7 is less than or equal to the value of V8 V2          Jump to  A    Example Using JP command     Move the X motor to absolute position 1000 counts and back to zero ten times  Wait 100 msec  between moves     Instruction Interpretation   BEGIN Begin Program  COUNT 10 Initialize loop counter   LOOP Begin loop   PA 1000 Position absolute 1000  BGX Begin move   AMX Wait for motion com
30.  due to instability     An alternative approach is the dual loop  where we use two sensors  rotary and linear  The rotary  sensor assures stability  because the position loop is closed before the backlash  whereas the linear  sensor provides accurate load position information  The operation principle is to drive the motor  to a given rotary position near the final point  Once there  the load position is read to find the  position error and the controller commands the motor to move to a new rotary position which  eliminates the position error     Since the required accuracy is 0 5 micron  the resolution of the linear sensor should preferably be  twice finer  A linear sensor with a resolution of 0 25 micron allows a position error of    2 counts     The dual loop approach requires the resolution of the rotary sensor to be equal or better than that  of the linear system  Assuming that the pitch of the lead screw is 2 5mm  approximately 10 turns  per inch   a rotary encoder of 2500 lines per turn or 10 000 count per revolution results in a rotary  resolution of 0 25 micron  This results in equal resolution on both linear and rotary sensors     To illustrate the control method  assume that the rotary encoder is used as a feedback for the X   axis  and that the linear sensor is read and stored in the variable LINPOS  Further assume that at  the start  both the position of X and the value of LINPOS are equal to zero  Now assume that the  objective is to move the linear load to the p
31.  en 88  Command Summary   Program Flow                      essen 88   Event Triggers  amp  Trippoints               i 88   Bvent Trigger Examples  avai necne epu ee A bm 89  Conditional JUMPS 2n tp ete eA PRO 91  Subro  tibes 5  subire e As Ee E e eg i e ei ates 93   Stack Manipulation  2 2  bete e ege A e ea d ep ee EA do Ro 94  Automatic Subroutines for Monitoring Conditions                       eee 94  Mathematical and Functional Expressions                        enne eene 96  Mathematical Operators                          tee aa 96   Bit  Wise Operatols  o eiecti      eerte e tetro Men      ABO      97  FUDCtons   ico casa ERRR 98                 4 4 aco Mr etie p eei e Ri cia le La  98  Programmable  Variables 2    iiim te ete RTL m debet eth 98  Scu M              gado 99  ATA VS i RR D ORUM HER CREE i A             101  Defimmg AITys our etenim DR aaa  101  Assignment of Array Entries    oe e Doer Cp b pri pee o Red 101  Automatic Data Capture into Arrays           i 102   Input of Data  Numeric and String                    iii 104                 inanem memet eoo eant iced 104  Inputung String  Vanables        store e ea reete 105   Output of Data  Numeric and String                   i 105  Sending Messages  aiias epa aiat br ap serpit 105  Displaying Variables and ArrayS            iii 106  Interrogation  Commands    pane ana lena adio eoi 107  Formatting Variables and Array Elements                 eene 108  Converting to User Units  tenia eee ORE b           
32.  external supply of    10V to    35V  Care  should be taken to ensure the average power dissipation across the amplifier is less than 20watts     150 e Appendices DMC 1410 1411 1417 Series    ICM AMP 1460 Drawing                                        37 PIN FEMALE D TYPE CONNECTOR                                    O 1 500  4 PLACES    E 4   1    1 I  1    1               4 945  3 265           i      00 200  4 PLACES  1                  D0 360  4 PLACES  O    0 825  0 175   x         DMC 1410 1411 1417 Series Appendices e 151    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 250 000 controllers working worldwide  has a proud  reputation for anticipating and setting the trends in motion control  Galil understands your need to  keep abreast with these trends in order to remain resourceful and competitive  Through a series of  seminars and workshops held over the past 15 years  Galil has actively shared their market  insights in a no nonsense way for a world of engineers on the move  In fact  over 10 000  engineers have attended Galil seminars  The tradition continues with three different seminars   each designed for your particular skill set  from beginner to the most advanced     MOTION CONTROL MADE EASY  WHO SHOULD ATTEND    Those who need a basic intro
33.  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  Since the DMC 141X is an  integral part of the machine  the engineer should design his overall system with protection against  a possible component failure on the DMC 141X  Galil shall not be liable or responsible for any  incidental or consequential damages     Hardware Protection    The DMC 141X includes hardware input and output protection lines for various error and  mechanical limit conditions  These include     Output Protection Lines    Amp Enable   This signal goes low when the motor off command is given  when the position  error exceeds the value specified by the Error Limit  ER  command or when off on error condition  is enabled  OE1  and the abort command is given  This signal also goes low when the watch dog  timer is activated  or upon reset  Note  The standard configuration of the AEN signal is TTL  active low  Both the polarity and the amplitude can be changed if you are using the ICM 1460  interface board  To make these changes  see section entitled    Amplifier Interface    pg  3 42     Error Output   The error output is a TTL signal which indicates an error condition in the  controller  This signal is available on the interconnect module as ERROR  When the error si
34.  is enabled for any given axis  the motor for that axis will  be turned off when the abort signal is generated  This could cause the motor to    coast    to a stop  since it is no longer under servo control  If the Off On Error function is disabled  the motor will  decelerate to a stop as fast as mechanically possible and the motor will remain in a servo state     All motion programs that are currently running are terminated when a transition in the Abort input  is detected  For information on setting the Off On Error function  see the Command Reference   OE     Uncommitted Digital Inputs    The general use inputs are TTL and are accessible through the ICM 1460 as INI IN7  These  inputs can be interrogated with the use of the command TI  Tell Inputs   the operand _TI and the  function  IN n    see Chapter 7  Mathematical Functions and Expressions      NOTE  For systems using the ICM 1460 interconnect module  there is an option to provide opto   isolation on the inputs  In this case  the user provides an isolated power supply   5V to  24V and  ground   For more information  consult Galil     The inputs can be accessed directly from the 37 pin or 40 pin connector on the controller  also   For a description of the pinouts  consult the appendix     DMC 1410 1411 1417 Series Chapter 3 Hardware Interface e 41    Outputs    The DMC 141X provides three general use outputs and an error signal output     The general use outputs are TTL and are accessible through the ICM 1460 as OUTO  O
35.  must be executing an applications program from memory   This can be a very simple program that does nothing but loop on a statement  such as   LOOP JP LOOP EN  Motion commands  such as JG5000 can still be sent from the PC even  while the    dummy    applications program is being executed     Instruction Interpretation    TEST Test program   JG1000 Set jog speed on X axis   BG Begin motion on the X axis   LOOP Dummy Program for endless loop  JP HLOOP EN Jump to  LOOP label    LIMSWI Limit Switch Label   MG  LIMIT OCCURRED  Print Message   RE Return to main program    Now  when a forward limit switch occurs  the  LIMSWI subroutine will be executed     NOTE  The RE command is used to return from the  LIMSWI subroutine     94 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    NOTE  The  LIMSWI will continue to be executed until the limit switch is cleared     NOTE  The  LIMSWI routine is only executed when the motor is being commanded to move     Example   Position Error    Instruction   MAIN  JG10000   BG    LOOP   JP  LOOP EN   POSERR    1          MG  EXCESS POSITION ERROR     MG  ERROR   V1   RE    Interpretation  Main program   Set jog speed   Begin jog   Dummy Program  Loop   Position Error Routine  Read Position Error  Print Message   Print Error    Return from Error    Now  if the position error on the X axis exceeds that specified by the ER command  the  POSERR    routine will execute     NOTE  The RE command is used to return from the  POSERR subroutine  
36.  of as a simple Resistor Capacitor  single pole  filter  The filter occurs after the motion  profiler and has the effect of smoothing out the spacing of pulses for a more smooth operation of  the stepper motor  Use of KS is most applicable when operating in full step or half step operation   KS will cause the step pulses to be delayed in accordance with the time constant specified     When operating with stepper motors  you will always have some amount of stepper motor  smoothing  KS  Since this filtering effect occurs after the profiler  the profiler may be ready for  additional moves before all of the step pulses have gone through the filter  It is important to  consider this effect since steps may be lost if the controller is commanded to generate an  additional move before the previous move has been completed  See the discussion below   Monitoring Generated Pulses vs  Commanded Pulses     The general motion smoothing command  IT  can also be used  The purpose of the command  IT   is to smooth out the motion profile and decrease  jerk  due to acceleration     Monitoring Generated Pulses vs  Commanded Pulses    For proper controller operation  it is necessary to make sure that the controller has completed  generating all step pulses before making additional moves  This is most particularly important if  you are moving back and forth  For example  when operating with servo motors  the trippoint AM   After Motion  is used to determine when the motion profiler is complete and 
37.  of the  brushless motor  In this case  the controller could become unstable until the commutation phase  has been set using the BZ command  see next step   It is highly recommended that the motor off  command be given before executing the BN command  In this case  the motor will be disabled  upon power up or reset and the commutation phase can be set before enabling the motor     Step F  Set Zero Commutation Phase    DMC 1410 1411 1417 Series Chapter 2 Getting Started e 31    When an axis has been defined as sinusoidally commutated  the controller must have  an estimate for commutation phase  When hall sensors are used  the controller  automatically estimates this value upon reset of the controller  If no hall sensors are  used  the controller will not be able to make this estimate and the commutation phase  must be set before enabling the motor     If Hall Sensors are Not Available     To initialize the commutation without Hall effect sensor use the command  BZ  This function  drives the motor to a position where the commutation phase is zero  and sets the phase to zero     The BZ command argument is a real number which represents the voltage to be applied to the  amplifier during the initialization  When the voltage is specified by a positive number  the  initialization process will end up in the motor off  MO  state  A negative number causes the  process to end in the Servo Here  SH  state     Warning  This command must move the motor to find the zero commutation phase  T
38.  or  12V made through  jumper location JP4  Removing the jumper  allows the user to connect their own supply to  the desired voltage level  Up t024V                      12V                     SERVO  SM cone MOTOR  AMPLIFIER    37   40  Pin Cable                      7407 Open Collector  Buffer  The Enable signal  can be inverted by using  a 7406     Analog Switch    Figure 3 1   Connecting AEN to an amplifier    Other Inputs    The reset input is a TTL level  non isolated signal  The reset is used to locally reset the DMC   141X without resetting the PC     DMC 1410 1411 1417 Series Chapter 3 Hardware Interface e 43    THIS PAGE LEFT BLANK INTENTIONALLY    44 e Chapter 3 Hardware Interface DMC 1410 1411 1417 Series    Chapter 4 Communication    Introduction    The DMC 1410  DMC 1411  DMC 1417 receive commands from a PC  The controllers are  configured as standard ISA  PC 104  or PCI cards respectively that are mapped into the I O space   Communication between the controller and the computer is in the form of ASCII characters where  data is sent and received via READ and WRITE registers on the controller  A handshake is  required for sending and receiving data     The DMC 141X contain a 256 character write FIFO buffer  which permits sending commands at  high speeds ahead of their actual processing by the controller  It also contains a 256 character read  buffer     This chapter on communication discusses Communication Register Description  A Simplified  Method of Communicati
39.  other than zero  The conditional  statement can be any valid DMC 141X numeric operand  including variables  array elements   numeric values  functions  keywords  and arithmetic expressions  If no conditional statement is  given  the jump will always occur     Examples    Number V1 6   Numeric Expression V1 V7 6   ABS V1  gt 10   Array Element V1 lt Count 2    Variable   1 lt   2   Internal Variable _TPX 0  _TVX gt 500   VO V1 gt  AN 2    IN 1  0    Multiple Conditional Statements    The DMC 141X will accept multiple conditions in a single jump statement  The conditional  statements are combined in pairs using the operands     amp     and          representing the logical AND  and logical OR  The     amp     operand between any two conditions  requires that both statements must  be true for the combined statement to be true  The         operand between any two conditions   requires that only one statement be true for the combined statement to be true  Note  Each  condition must be placed in parentheses for proper evaluation by the controller  In addition  the  DMC 141X executes operations from left to right  For further information on Mathematical  Expressions and the bit wise operators     amp     and          see pg 7  96     For example  using variables named V1  V2  V3 and V4   JP  TEST   V1 lt V2   amp   V3 lt V4     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 
40.  properly entered into the Windows registry  it should also be  present in the Galil Registry  The address and IRQ jumpers on the controller may need  to be changed depending on the resources available in Windows  see Step 3 for setting  address and IRQ jumpers   Connect to the controller through the Terminal utility in  DMCWIN32  WSDK32  or DMCTERM     Using Galil Software for Windows NT 4    In Windows NT 4  the DMC 1417 is also plug and play  This means that on power up the  computer will automatically detect the card and install the appropriate device driver  A    Found  New Hardware    dialog box may appear during installation of the device driver  The controller  will be identified by model name and entered into the Galil Registry  Now the user can  communicate to the controller using DMCTERM  DMCWIN32  or WSDK32     To use a DMC 1410 or DMC 1411 in Win NT4  add the controller using the Galil Registry  dialog  To access the registry in DMCTERM and WSDK  click on the File menu and    Register  Controller     In DMCWIN32  select the Registry menu     22 e Chapter 2 Getting Started DMC 1410 1411 1417 Series       Edit Registry             Once in the Galil Registry  click New Controller under Non PnP Tools  Select the appropriate  controller from the pull down menu and adjust the timeout as seen fit  Click Next to continue        Select Model and General Parameters          The registry information for the DMC 1410 and 1411 cards will show a default address of 1000   This 
41.  that the hot water faucet should be turned at the  right  rate  If  you turn it too slowly  the temperature response will be slow  causing discomfort  Such a slow  reaction is called overdamped response     The results may be worse if we turn the faucet too fast  The overreaction results in temperature  oscillations  When the response of the system oscillates  we say that the system is unstable   Clearly  unstable responses are bad when we want a constant level     What causes the oscillations  The basic cause for the instability is a combination of delayed  reaction and high gain  In the case of the temperature control  the delay is due to the water  flowing in the pipes  When the human reaction is too strong  the response becomes unstable     Servo systems also become unstable if their gain is too high  The delay in servo systems is  between the application of the current and its effect on the position  Note that the current must be    DMC 1410 1411 1417 Series Chapter 10 Theory of Operation e 125    applied long enough to cause a significant effect on the velocity  and the velocity change must last  long enough to cause a position change  This delay  when coupled with high gain  causes  instability     This motion controller includes a special filter which is designed to help the stability and accuracy   Typically  such a filter produces  in addition to the proportional gain  damping and integrator  The  combination of the three functions is referred to as a PID filter   
42.  the TE command     Programmable Position Limits    The DMC 141X provides programmable forward and reverse position limits  These are set by the  BL and FL software commands  Once a position limit is specified  the DMC 141X will not accept  position commands beyond the limit  Motion beyond the limit is also prevented     Example   Instruction Interpretation  DPO Define Position  BL  2000 Set Reverse position limit  FL 2000 Set Forward position limit    116 e Chapter 8 Error Handling DMC 1410 1411 1417 Series    JG 2000 Jog  BG Begin    In this example  the motor will jog forward at a speed of 2000 cts sec   until it is stopped by the  forward software limit at position 2000     Off On Error    The DMC 141X controller has a built in function which can turn off the motors under certain error  conditions  This function is known as    Off On Error     To activate the OE function  specify a 1   To disable this function  specify a0  When this function is enabled  the motor will be disabled  under the following 3 conditions     1  The position error for the specified axis exceeds the limit set with the command  ER   2  The abort command is given   3  The abort input is activated with a low signal     Note  If the motors are disabled while they are moving  they may    coast    to a stop because they  are no longer under servo control     To re enable the system  use the Reset  RS  or Servo Here  SH  command     Examples   OE 1 Enable off on error       0 Disable off on error    Autom
43.  the address  If the address jumpers are changed  the Galil registry must be  modified to reflect these changes     Once communication is established  click on the menu for terminal and you will receive a colon  prompt  Communicating with the controller is described in later sections   Sending Test Commands to the Terminal     After you connect your terminal  press  lt carriage return gt  or the  lt enter gt  key on your keyboard  In    66 97    response to carriage return  CR   the controller responds with a colon       Now type  TPX  CR     This command directs the controller to return the current position of the X axis  The controller  should respond with a number such as    0000000    24 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    Step 6  Make connections to amplifier and encoder    Once you have established communications between the software and the DMC 141X  you are  ready to connect the rest of the motion control system  The motion control system generally  consists of an ICM 1460 Interface Module  a servo amplifier  and a motor to transform the current  from the servo amplifier into torque for motion  Galil also offers the AMP 1460 Interface Module  which is an ICM 1460 equipped with a servo amplifier for a DC brush motor     A signal breakout board of some type is strongly recommended  If you are using a breakout board  from a third party  consult the documentation for that board to insure proper system connection     If you are using the ICM 1460 or AM
44.  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        Example   DM           7  Defines an array names POSX with seven entries  DM SPEED 100  Defines an array named speed with 100 entries  DM          0  Frees array space    Assignment of Array Entries    Like variables  each array element can be assigned a value  Assigned values can be numbers or  returned values from instructions  functions and keywords     Array elements are addressed starting at count 0  For example the first element in the POSX array   defined with the DM command  DM POSX 7   would be specified as POSX 0      Values are assigned to array entries using the equal sign  Assignments are made one element at a  time by specifying the element number with the associated array name     NOTE  Arrays must be defined using the command  DM  before assigning entry values     Examples   DM SPEED 10  Dimension Speed Array  SPEED 1  7650 2 Assigns the first element of the array  SPEED the value 7650 2  SPEED 1   Report array element value  POSX 10  _TP Assigns the 10th element of the array POS the returned value from the tell position    command     DMC 1410 1411 1417 Series Chapter 7 Application Programming e 101    CON 2   COS POS  2 Assigns the second element of the array CON the cosine of the variable POS  multiplied by 2     TIMER 1  TIME Assigns the first element of the array timer the returned
45.  the motor at the maximum speed      nn  For stepper motors  the amplifier converts step and direction signals into current     Encoder    An encoder translates motion into electrical pulses that are fed back into the controller  The  DMC 141X accepts feedback from either a rotary or linear encoder  Typical encoders provide  two channels in quadrature  known as CHA and CHB  This type of encoder is known as a  quadrature encoder  Quadrature encoders may be either single ended  CHA and CHB  or  differential  CHA  CHA   CHB  CHB    The DMC 141X decodes either type into quadrature  states or four times the number of cycles  Encoders may also have a third channel  or index  for  synchronization     The DMC 141X can also interface to encoders with pulse and direction signals     There is no limit on encoder line density  however  the input frequency to the controller must not  exceed 2 000 000 full encoder cycles second or 8 000 000 quadrature counts sec  For example  if  the encoder line density is 10 000 cycles per inch  the maximum speed is 200 inches second     The standard voltage level is TTL  zero to five volts   however  voltage levels up to 12 Volts are  acceptable  If using differential signals  12 Volts can be input directly to the DMC 141X  Single   ended 12 Volt signals require a 6 volt bias voltage input to the complementary inputs     Watch Dog Timer    The DMC 141X provides an internal watchdog timer which checks for proper microprocessor  operation  The timer toggl
46.  the next window will  display a list of devices  Select    Add a new device    from the top of the list        Add Remove Hardware Wizard    Choose a Hardware Device    DMC 1410 1411 1417 Series           Which hardware device do you want to troubleshoot        The following hardware is already installed on your computer  If pou are having problems  with one of these devices  select the device  and then click Next     If you are attempting to add a device and it is not shown below  select Add a new  device  and then click Next          Devices          Add a new device    PCI Device   m ACPI Fixed Feature Button   m Intel r  82802 Firmware Hub Device  m System timer   m  Direct memory access controller         Chapter 2 Getting Started e 15    4  The Hardware Wizard prompts for Windows to search for the new device  This feature  is for devices such as modems that can be found by    random    queries of all available  communication ports  Select     No    and proceed to the next dialog        Add Remove Hardware Wizard    Find New Hardware  Windows can also detect hardware that is not Plug and Play compatible           16 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    5  With DMCWIN32 or DMCTERM already installed  the following window will say      Select the type of hardware you want to install     Click on the Diamond with either     Galil    or    Galil Motion Control    written to the side of it  and the list of Galil controllers  will be displayed  Select the D
47.  to compare the  available resources to those on the jumpers  and select a configuration that is  compatible  If all configurations have a resource conflict  then the user will have to  reconfigure or remove another card to free up some resources  This is most likely to  happen with IRQs  as they can be scarce     Note  The    Input Output Range    is used to assign a communication address to the  controller  This address is given in hexadecimal  which means the user should use  the scientific calculator in Start Programs Accessories to convert the decimal address  desired into its hexadecimal equivalent  The user can just enter a single hexadecimal  number into the    Value     box and the OS will assign an I O range to it     In Win 2000  the procedure is the same except the user has the opportunity to set  resources examine conflicts without rebooting first  Highlight the    Interrupt  Request    and    Input Output Range    individually and select    Change Setting       to  make the appropriate adjustments  Similar to Windows 98  the    Input Output  Range    must be assigned as a hexadecimal number     Chapter 2 Getting Started e 21    Add New Hardware Wizard Properties   7 2  xl    Resources      S Unknown Device    Resource settings         Resource type Setting  Interrupt Request       Input Output Range            Setting based on   Basic configuration 0000       F Use automatic settings Change Setting         Conflicting device list        7  Once the controller is
48.  used as a trippoint  When Complete   This allows the DMC 141X to use  the next increment only when it is finished with the previous one  Zero parameters for DT or CD  exit the contour mode     If no new data record is found and the controller is still in the contour mode  the controller waits  for new data  No new motion commands are generated while waiting  If bad data is received  the  controller responds with a       DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 67    Command Summary   Contour Mode    Specifies contouring mode     Specifies position increment over time interval  Range is    32 000  Zero ends contour mode     Specifies time interval 2  msec for position increment  where n is an integer between 1 and 8  Zero  ends contour mode  If n does not change  it does not need to be specified with each CD     Waits for previous time interval to be complete before next data record is processed        General Velocity Profiles    The Contour Mode is ideal for generating any arbitrary velocity profiles  The velocity profile can  be specified as a mathematical function or as a collection of points     The design includes two parts  Generating an array with data points and running the program     Generating an Array   An Example    Consider the velocity and position profiles shown in Fig  6 3  The objective is to rotate a motor a  distance of 6000 counts in 120 ms  The velocity profile is sinusoidal to reduce the jerk and the  system vibration  If we describe th
49.  value of the TIME  keyword     Using a Variable to Address Array Elements    An array element number can also be a variable  This allows array entries to be assigned  sequentially using a counter     For example     Instruction Interpretation    A Begin Program   COUNT 0 DM POS 10  Initialize counter and define array   LOOP Begin loop   WT 10 Wait 10 msec   POS COUNT  _TP Record position into array element  POS COUNT   Report position   COUNT COUNT 1 Increment counter   JP  LOOP COUNT lt 10 Loop until 10 elements have been stored  EN End Program    The above example records 10 position values at a rate of one value per 10 msec  The values are  stored in an array named POS  The variable  COUNT  is used to increment the array element  counter  The above example can also be executed with the automatic data capture feature  described below   Uploading and Downloading Arrays to On Board Memory  Arrays may be uploaded and downloaded using the QU and QD commands    QU array   start end delim   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 carriage return   delim 0      The file is terminated using  lt control gt Z   lt control gt Q   lt control gt D or       Automatic Data Capture into Arrays    The DMC 141X provides a special feature for automatic capture of data such as position  
50. 000 pulses sec  maximum frequency     TTL  0 5 Volts      Line receiver inputs biased for 0 5v operation  Can accept up to  a 12 V signal    TTL buffer output  0 5V     Line receiver inputs biased for 0 5V operation  Can accept up to  a  12 V signal    400 mA  20 mA  20mA    Appendices e 137    Performance Specifications    Minimum Servo Loop Update Time     Position Accuracy   Velocity Accuracy   Long Term  Short Term  Position Range   Velocity Range   Velocity Resolution   Motor Command Resolution   Variable Range     Variable Resolution     Array Size     Program Size     250 usec       1 quadrature count    Phase locked  better than  005    System dependent      2147483647 counts per move   Up to 8 000 000 counts sec   2 counts sec   16 bit DAC over     10V range   0003V      2 billion  4 bytes integer 32 bits  2 bytes fraction 16 bits    1 104  4 bytes integer 32 bits  2 bytes fraction 16 bits  1000 elements  6 arrays    250 lines x 40 characters       Connectors    DMC 1410  1417  J3 General I O  37  PIN D type          1 Reset   2 Amp Enable   3 Output 3   4 Output 1   5 PWM or Step Out  6 Input 7   7 Input 5   8 Input 3   9 Input 1  and latch    10 5V   11 Ground   12  12V   13 Ground   14A    15        16I    17 Auxiliary A     18 Auxiliary B            20 Error    21 Amp Command for Servo motors  22 Output 2   23 Reserved   24 Sign or Direction  25 Input 6   26 Input 4   27 Input 2   28 Forward Limit   29 Reverse Limit   30 Home   31  12v   32 A    33 B    34 I    3
51. 1  41  Index  41  56  142  Quadrature  41  142  Error  Automatic Error Routine  119  Codes  58  Handling  1  85  117  Error Handling  42  Error Limit  27  29  Off On Error  27  43  Excessive Error  1  Execute Program  39  56  Feedforward  57  FIFO  5  49  Filter Parameter  Damping  36  Integrator  36  PID  30  Proportional Gain  36  Find Edge  42  Flags  Almost full  48  Formatting  55  109 11  Hexadecimal  108 12  Variable  40  83  140  Frequency  6  Function  43  94  Functions  Arithmetic  94  99  Gain  9  44  57  102  127  151  Proportional  36  Gearing  1  61  Halt  Off On Error  27  43  Hardware  Address  122  Amplifier Enable  44  Jumper  122  123    4 e Index    TTL  6  41  Home Input  42  Home Inputs  42  56  78  139  Homing  42  Find Edge  42  I O  Amplifier Enable  44  Digital Input  41  Home Input  42  TTL  6  41  ICB 1460  8  143  ICM 1100  27  Index  41  56  142  Index Pulse  28  42  Inputs  Digital Inputs  1  42  113  Index  41  56  142  Interconnect Module  148  Limit Switch  120  Installation  9  121  Integrator  36  57  128  Interconnect Board  8  143  Interconnect Module  148  ICM 1100  27  Internal Variable  94  Interrogation  36  54   55  109  Interrupt  49  56  85  143  Jog  55  63  Jumper  122  123  Jumpers  143  Keyword  94  99  TIME  102  Label  67   68  72  Latch  54  Record  72  Teach  72  Limit  Torque Limit  29  Limit Switch  42 43  102  120  Limit Switch Routine  103  119  LIMSWI  42  Masking  Bit Wise  94  Master Reset  143  Math Function  Absolu
52. 2 e Chapter 5 Programming Basics DMC 1410 1411 1417 Series    For example  the following example illustrates how to display the current position of the X axis   TP  lt enter gt  Tell position    0000000000 Controllers Response    Interrogating Current Commanded Values     Most commands can be interrogated by using a question mark      Type the command followed  by a    PR  Request X axis value    The controller can also be interrogated with operands     Operands    Most DMC 141X 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  _   For example  the value of  the current position on the X axis can be assigned to the variable    V    with the command     V _TP    The Command Reference denotes all commands which have an equivalent operand as  Used as an  Operand   Also  see description of operands in Chapter 7     Command Summary    Each DMC 141X command is described fully in the DMC 1400 Series Command Reference  A  summary of the commands follows     The commands are grouped in this summary by the following functional categories   Motion  Program Flow  General Configuration  Control Settings  Status and Error Limits     Motion commands are those to specify modes of motion such as Jog Mode o
53. 45   250 s    ZOH    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     This completes the modeling of the system elements  Next  we discuss the system analysis     130 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    System Analysis    To analyze the system  we start with a block diagram model of the system elements  The analysis  procedure is illustrated in terms of the following example     Consider a position control system with the DMC 141X controller and the following parameters           0 1       Torque constant  J 2 1074 kg m  System moment of inertia  R 2 Q Motor resistance   K  4 Amp Volt Current amplifier gain  KP   12 5 Digital filter gain   KD   245 Digital filter zero   KI 0 No integrator   N  500 Counts rev Encoder line density    ms Sample period    The transfer functions of the system elements are     Motor   M s    P I   Kt Js2   500 52  rad A   Amp   K4 4  Amp V   DAC   Kg   0 0003  V count   Encoder   Kg 4N 2n   318  count rad   ZOH   2000  s 2000   Digital Filter   KP   12 5  KD 245  T 0 001  Therefore     D z    12 5   245  1 z 1   Accordingly  the coefficients of the continuous filter are   P 50  D 0 98  The filter eq
54. 5 Auxiliary A     36 Auxiliary B     37 Abort           138 e Appendices    DMC 1410 1411 1417 Series                19 Reserved                DMC 1411  J3 General I O  40  PIN IDC          1 Reset    3 Amp Enable   5 Output 3   7 Output 1   9 PWM or Step Out   11 Input 7   13 Input 5   15 Input 3   17 Input 1  and latch    19 5V   21 Ground   23  12V   25 Ground   27 A     29        311    33 Auxiliary A     35 Auxiliary B     37 Reserved   39 NC   P1  64 PIN PC 104 BUS  P2  40 PIN PC 104 BUS            Active low    2 Error    4 Amp Command for Servo motors  6 Output 2   8 Reserved   10 Sign or Direction  12 Input 6   14 Input 4   16 Input 2   18 Forward Limit   20 Reverse Limit   22 Home   24  12v   26 A    28 B    30 I    32 Auxiliary A    34 Auxiliary B    36 Abort   38 NC   40 NC          Pin Out Description          OUTPUTS     Analog Motor   Command       Amp Enable          OE1         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     Signal to disable and enable an amplifier  Amp Enable goes low on Abort and          DMC 1410 1411 1417 Series    Appendices e 139                            PWM STEP OUT    PWM STEP OUT    Sign Direction    Error    Output 1 Output 3    IPWM STEP OUT is used for directly driving power bridges for DC servo  motors or for driving step motor amplifiers     For servo motors  If you are using a co
55. 7 Response from Interrogation Command     With Leading Zeros   LZI Enables the LZ function  TP Tell Position Interrogation Command   9  5 0  7 Response from Interrogation Command     Without Leading Zeros     Local Formatting of Response of Interrogation Commands    The response of interrogation commands may be formatted locally  To format locally  use the  command   Fn m  or   n m  on the same line as the interrogation command  The symbol F  specifies that the response should be returned in decimal format and   specifies hexadecimal  n is  the number of digits to the left of the decimal  and m is the number of digits to the right of the  decimal  For example     Examples   TP  F2 2  Tell Position in decimal format 2 2   05 00  05 00  00 00  07 00 Response from Interrogation Command  TP   4 2  Tell Position in hexadecimal format 4 2  FFFB 00  0005 00  0000 00  0007 00 Response from Interrogation Command    Formatting Variables and Array Elements    The Variable Format  VF  command is used to format variables and array elements  The VF  command is specified by          m n    where m is the number of digits to the left of the decimal point  0 thru 10  and n is the number of  digits to the right of the decimal point  0 thru 4      A negative sign for m specifies hexadecimal format  The default format for VF is VF 10 4    Hex values are returned preceded by a   and in 2 s complement      V1 10 Assign VI   Vl  Return V1  0000000010 0000 Default format    108 e Chapter 7 Applicati
56. 951 GL 1800    Microcomputer                                     O     7 In Interface       ERRON 9   0 Motor Encoder e Limits    256 EEPROM Interface wi  Encoders  Watch Dog  Timer             Figure 1 1   DMC 141X Functional Elements    2 e Chapter 1 Overview DMC 1410 1411 1417 Series    Microcomputer Section    The main processing unit of the DMC 141X is a specialized 32 bit Motorola 68331 Series  Microcomputer with 32K RAM  256K available as an option   64K EPROM and 256 bytes  EEPROM  The RAM provides memory for variables  array elements and application programs   The EPROM stores the firmware of the DMC 141X  The EEPROM allows certain parameters to    be saved in non volatile memory upon power down     Motor Interface    For each axis  a GL 1800 custom  sub micron gate array performs quadrature decoding of the  encoders at up to 8 MHz  generates a    10 Volt analog signal  16 Bit D to A  for input to a servo  amplifier  and generates step and direction signal for step motor drivers     Communication    The communication interface with the host PC occurs over the ISA  PC 104 or PCI bus  uses a bi   directional FIFO  7201   and includes PC interrupt handling circuitry     General I O    The DMC 141X provides interface circuitry for seven TTL inputs and three TTL outputs     System Elements    As shown in Fig  1 2  the DMC 141X is part of a motion control system that includes amplifiers     motors and encoders  These elements are described below              Power Supply  
57. FO is full     Write Procedure    To send data to the DMC 141X  read the status register at address N 1 and check bit 1  If bit 1 is  one  the DMC 141X FIFO buffer is not full and up to 256 characters may be written to the  WRITE register at address N  If bit 1 is zero  the buffer is full and no additional data should be  sent     Clear FIFO Procedure    The FIFO buffer may be cleared by writing a zero to CLEAR BUFFER register at N   1  This   however  will erase all previous data sent to the controller     Interrupts    The DMC 141X provides a hardware interrupt line that will  when enabled  interrupt the PC   Interrupts free the host from having to poll for the occurrence of certain events such as motion  complete or excess position error     The DMC 141X uses only one of the PC s interrupts  however  it is possible to interrupt on  multiple conditions  The controller provides a register that contains a byte designating each  condition     The user can select the interrupt request level in addition to the interrupt conditions  The user can  also send an interrupt with the UI command     Configuring Interrupts  To use the DMC 141X interrupt  you must complete the following steps     1  The DMC 1410 and 1411 board must contain one jumper to designate the  interrupt line for the PC bus  The available lines are IRQ5  IRQ9  IRQ10   IRQ11  IRQ12 and IRQ15  Place a jumper on the desired line  Only one line  may be jumped  Note that for the ISA or PC 104 bus  only one I O card can 
58. MC 1410 or 1411 card from the list     Note  If there is no Galil diamond on the Hardware Type window  click on Other  Devices instead  At that point  the list of Galil ISA and PC 104 cards will appear     Add Remove Hardware Wizard       Select a Device Driver  a  Which driver do you want to install for this device  CY       Select the manufacturer and model of your hardware device and then click Next  If you  have a disk that contains the driver you want to install  click Have Disk     Models   Galil DMC 10x0 Motion Controller       Galil DMC 14x0 Motion Controller  Galil DMC 14x1 Motion Controller  Galil DMC 1 4x7 Motion Controller  Galil DM C 16x0 Motion Controller  Galil DMC 17x0 Motion Controller  Galil        1 8  0 Motinn Controller z     Have Disk             lt  Back Cancel         DMC 1410 1411 1417 Series Chapter 2 Getting Started e 17    6  With the device selected  the OS then needs to allocate any required resources     i  In Win98 SE and ME the OS automatically assigns resources that are most likely  incompatible     Add New Hardware Wizard    QN    Input Output Range 0214   0217  Interrupt Request 05       Automatically Assigned resources in Win 98 SE    18 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    At this point the user must reboot and go to the Device Manager under My  Computer Properties     System Properties    E Display adapters  H 6 Floppy disk controllers  EX Gail     Galil DMC 14x0 Motion Controller  RE Galil DMC 14x1 Motion Controller 
59. P 1460 with the DMC 1410 or DMC 1417  connect the 37   pin cable between the controller and interconnect module  If you are using the DMC 1411   connect the 40 pin cable between the controller and interconnect module     System connection procedures will depend on which components are included in your system   Here are the first steps for connecting a motion control system     Step A  Connect the motor to the amplifier with no connection to the controller  Consult the  amplifier documentation for instructions regarding proper connections  Connect and  turn on the amplifier power supply  If the amplifiers are operating properly  the  motor should stand still even when the amplifiers are powered up     Step B  Connect the amplifier enable signal  Before making any connections from the  amplifier to the controller  you need to verify that the ground level of the amplifier is  either floating or at the same potential as earth     WARNING  When the amplifier ground is not isolated from the power line or when it has a different    potential than that of the computer ground  serious damage may result to the computer controller  and amplifier        If you are not sure about the potential of the ground levels  connect the two ground  signals  amplifier ground and earth  by a 10 kQ resistor and measure the voltage  across the resistor  Only if the voltage is zero  proceed to connect the two ground  signals directly     The amplifier enable signal is used by the controller to disable t
60. UTI and  OUT2  These outputs can be turned On and Off with the commands  SB  Set Bit   CB  Clear Bit    OB  Output Bit   and OP  Output Port   For more information about these commands  see the  Command Summary  The value of the outputs can be checked with the operand _OP and the  function     OUT n   see Chapter 7  Mathematical Functions and Expressions      The error signal output is available on the interconnect module as ERROR  This is a TTL signal  which is low when the controller has an error     Note  When the error signal is active  the LED on the controller will be on  An error condition  indicates one of the following conditions     1  Atleast one axis has a position error greater than the error limit  The error limit is  set by the command ER     2  The reset line on the controller is held low or is being affected by noise   3  There is a failure on the controller and the processor is resetting itself   4  There is a failure with the output IC which drives the error signal     The outputs can be accessed directly from the 37 pin or 40 pin connector on the controller  For a  description of the pinouts  consult the appendix     Amplifier Interface    The DMC 141X generates a    10 Volt range analog signal  ACMD  pin 21   and ground for input  to power amplifiers which have been sized to drive the motor and load  For best performance  the  amplifier should be configured for a current mode of operation with no additional compensation   The gain should be set such that 
61. VE   IP  TE  TP    The numeric values may be formatted in decimal or hexadecimal with a specified number of digits  to the right and left of the decimal point using the PF command     Position Format is specified by        m n    where m is the number of digits to the left of the decimal point  0 thru 10  and n is the number of  digits to the right of the decimal point  0 thru 4  A negative sign for m specifies hexadecimal  format     Hex values are returned preceded by a   and in 2 s complement  Hex values should be input as  signed 2 s complement  where negative numbers have a negative sign  The default format is PF  10 0     If the number of decimal places specified by PF is less than the actual value  a nine appears in all  the decimal places     Examples    DP21 Define position   TPX Tell position  0000000021 Default format   PF4 Change format to 4 places   TPX Tell position    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 107    0021 New format     PF 4 Change to hexadecimal format    TPX Tell Position    0015 Hexadecimal value    PF2 Format 2 places    TPX Tell Position   99 Returns 99 if position greater than 99    Removing Leading Zeros from Response to Interrogation Response    The leading zeros on data returned as a response to interrogation commands can be removed by  the use of the command  LZ     Example   Using the LZ command  LZO Disables the LZ function    TP Tell Position Interrogation Command     0000000009  0000000005  0000000000  000000000
62. a 10 Volt input results in the maximum required current     The DMC 141X also provides an AEN  amplifier enable signal  to control the status of the  amplifier  This signal toggles when the watchdog timer activates  when a motor off command is  given  or when     1  Off on error is enabled  command is given and the position error exceeds the  error limit  As shown in Figure 3 1  AEN can be used to disable the amplifier for these conditions     The standard configuration of the AEN signal is TTL active high  In other words  the AEN signal  will be high when the controller expects the amplifier to be enabled  The polarity and the  amplitude can be changed if you are using the ICM 1460 interface board  To change the polarity  from active high  5 volts  enable  zero volts   disable  to active low  zero volts   enable  5 volts   disable   replace the 7407 IC with a 7406  Note that many amplifiers designate the enable input as     inhibit       To change the voltage level  note the state of the jumper on the ICM 1460  When JP4 has a  jumper from    AEN    to    5V     default setting   the output voltage is 0 5V  To change to 12 volts   pull the jumper and rotate it so that it connects the pins marked    AEN    and     12V     If the  jumper is removed entirely  the output is an open collector signal  allowing the user to connect to  external supplies with voltages up to 24V     42 e Chapter 3 Hardware Interface DMC 1410 1411 1417 Series       DMC 141X ICM 1460    Connection to  5V
63. ables the periodic synchronization of the  motor with the auxiliary encoder that is the master     The electronic cam is a more general type of electronic gearing that allows a table based  relationship between the motor and master     62 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    To illustrate the procedure of setting the cam mode  consider the cam relationship shown in Figure  6 1     Step 1  Specify the master cycle and the change in the slave axis    In the electronic cam mode  the position of the master is always expressed within one cycle  In  this example  the position of the master is always expressed in the range between 0 and 6000   Similarly  the slave position is also redefined such that it starts at zero and ends at 1500  At the  end of a cycle when the master is 6000 and the slave is 1500  the positions of both the aux encoder  and the x axis are defined to zero  To specify the master cycle and the slave cycle change  we use  the instruction EM     EM n m  where n specifies the cycle of the slave axis  and m specifies the cycle of the master aux encoder     The cycle of the master is limited to 8 388 607 whereas the slave change per cycle is limited to  2 147 483 647  If the change is a negative number  the absolute value is specified  For the given  example  the cycle of the master is 6000 counts and the change in the slave is 1500  Therefore  we  use the instruction     EM 1500 6000    Step 2  Specify the master interval and starting point    
64. ally open switch will make _HMX read 1 initially  and a normally closed switch will  make _HMX read zero  Furthermore  with CN 1 a normally open switch will make HMX  read O initially  and a normally closed switch will make _HMX read 1  Therefore  the CN  command will need to be configured properly to ensure the correct direction of motion in the  home sequence     Upon detecting the home switch changing state  the motor begins decelerating to a stop     Note  The direction of motion for the FE command also follows these rules for the state of the  home input     Stage 2     The motor then traverses at 256 counts sec in the opposite direction of Stage 1 until the home  switch toggles again  If Stage 3 is in the opposite direction of Stage 2  the motor will stop  immediately at this point and change direction  If Stage 2 is in the same direction as Stage 3   the motor will never stop  but will smoothly continue into Stage 3     Stage 3     The motor traverses forward at 256 counts sec until the encoder index pulse is detected  The  motor then stops immediately     The DMC 141X defines the home position as the position at which the index was detected  and sets the encoder reading at this point to zero     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 3    Normally Open Reverse Forward Forward    ne ow  e     Normally Closed         from free     Forwar
65. ample  V1  returns  the value of the variable V1     Operands    Operands allow motion or status parameters of the DMC 141X to be incorporated into  programmable variables and expressions  Most DMC 141X commands have an equivalent    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 99    operand   which are designated by adding an underscore  _  prior to the DMC 141X command   The command reference indicates which commands have an associated operand     Status commands such as Tell Position return actual values  whereas action commands such as KP  or SP return the values in the DMC 141X registers     Examples of Operands   POSX _TP Assigns value from Tell Position to the variable POSX   GAIN _KP 2 Assigns value from KP multiplied by two to variable  GAIN   JP  LOOP _TE gt 5 Jump to  LOOP if the position error is greater than 5         ERROR _TC 1 Jump to  ERROR if the error code equals 1     Operands can be used in an expression and assigned to a programmable variable  but they cannot  be assigned a value  For example  _KP 2 is invalid     Special Operands  Keywords     The DMC 141X also provides a few additional operands that give access to internal variables that  are not accessible by standard DMC 141X commands     Dmm      Free Running Real Time Clock  off by 2 4    Resets with power on    Note  TIME does not use an underscore character  _  as other keywords            These keywords have corresponding commands while the keywords _LF  LR and TIME do  not have
66. ample  an operator can be    prompted to input a number in revolutions  A program could be used such that the input number  is converted into counts by multiplying it by the number of counts revolution     Example   Instruction Interpretation   RUN Label  IN  ENTER   OF REVOLUTIONS  N1 Prompt for revs  PR N1 2000 Convert to counts  IN  ENTER SPEED IN RPM  S1 Prompt for RPMs  SP S1 2000 60 Convert to counts sec    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 109    IN  ENTER ACCEL IN RAD SEC2  A1 Prompt for ACCEL    AC A1 2000  2 3 14  Convert to counts sec 2  BG Begin motion  EN End program    Programmable Hardware I O    Digital Outputs    The DMC 141X has a 3 bit uncommitted output port 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   OB  define output bit  and OP  Output port      For example     Instruction Function   SB2 Set bit 2 of output port         Clears bit 1 of output port  CB3 Clear bit 3 of output port    The Output Bit  OB  instruction is useful for setting or clearing outputs depending on the value of  a variable  array  input or expression  Any non zero value results in a set bit     Instruction Function  OB1  POS Set Output 1 if the variable POS is non zero  Clear Output 1 if POS equals 0   OB 2   IN  1  Set Output 2 if Input 1 is high  If Input 1 is low  clear Output 2          3   IN  1  amp  IN        Output 3 only if Input 1 and Input 2 
67. ample Time   ZR Zero  STATUS   RP Report Command Position   RL Report Latch   SC Stop Code   TB Tell Status   TC Tell Error Code   TD Tell Dual Encoder   TE Tell Error   TI Tell Input   TP Tell Position   TR Trace   TS Tell Switches   TT Tell Torque   TV Tell Velocity  ERROR AND LIMITS   BL Reverse Software Limit   ER Error Limit   FL Forward Software Limit   OE Off on Error  EDITOR   ED Edit mode      return   Save line     lt cntrl gt P Previous line     lt cntrl gt  I Insert line      cntrl    D Delete line      cntrl   Q Quit Editor    ARITHMETIC FUNCTIONS   SIN Sine   COS Cosine   ABS Absolute value   FRAC Fraction portion     INT Integer portion   RND Round   SQR Square root    DMC 1410 1411 1417 Series    56 e Chapter 5 Programming Basics     IN Return digital input   AN Return analog input    Add     Subtract     Multiply     Divide    amp  And     Or      Parentheses    Instruction Set Examples    Below are some examples of simple instructions  It is assumed your system is hooked up and the  motors are under stable servo control  Note  the colon     is returned by the controller and appears  on the screen  You do not need to type the        DP 0  lt enter gt     PF 6  lt enter gt     PR 100  lt enter gt     BG  lt enter gt     TP  lt enter gt   00100    PR   lt enter gt   00100               TC1  lt enter gt     1 Unrecognized command    DMC 1410 1411 1417 Series    Define axis position as 0  Define position format as 6 digits  Specify position command  Begin Motion 
68. amplifier with K    2 A V with    the motor described by the previous example will have the transfer function     P V   1000 s2  rad V     DMC 1410 1411 1417 Series Chapter 10 Theory of Operation e 127    If the motor is a DC brushless motor  it is driven by an amplifier that performs the commutation   The combined transfer function of motor amplifier combination is the same as that of a similar  brush motor  as described by the previous equations     Velocity Loop    The motor driver system may include a velocity loop where the motor velocity is sensed by a  tachometer and is fed back to the amplifier  Such a system is illustrated in Fig  10 5  Note that the  transfer function between the input voltage V and the velocity    is     0 V    Ka KyJs   1 Ka      Kg Js    1  Kg sT   1   where the velocity time constant  T1  equals  TI   VKa Kc Kg    This leads to the transfer function    P V   VIK  s sT1 1            K e                                            Figure 10 5   Elements of velocity loops    The functions derived above are illustrated by the block diagram of Fig  10 6     128 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    VOLTAGE SOURCE             V E W P    ei co ii LIL   ST_ 1  ST  1  S                               CURRENT SOURCE             V   W                                         VELOCITY LOOP          V W P    K ST  1  S                             Figure 10 6   Mathematical model of the motor and amplifier in three operational modes    En
69. an be monitored by  the command  TD  Tell Dual   TD gives the absolute value of the position as determined by  actual output of the buffer  The command  DP sets the value of the step count register as well as  the value of the reference position  For example  DP 0  defines the reference position of the X  axis to be zero                    Stepper Smoothing Filter Output Buffer Output    Motion Profiler        Adds a Delay             3      To Stepper Driver                                      Reference Position  RP  Step Count Register  TD                       Motion Complete Trippoint    When used in stepper mode  the MC command will hold up execution of the proceeding  commands until the controller has generated the same number of steps out of the step count  register as specified in the commanded position  The MC trippoint  Motion Complete  is  generally more useful than AM trippoint  After Motion  since the step pulses can be delayed from  the commanded position due to stepper motor smoothing     Using an Encoder with Stepper Motors    An encoder may be used on a stepper motor to check the actual motor position with the  commanded position  If an encoder is used  it must be connected to the main encoder input  Note   The auxiliary encoder is not available while operating with stepper motors  The position of the  encoder can be interrogated by using the command  TP  The position value can be defined by  using the command  DE     Note  Closed loop operation with a stepp
70. ands  from TCI diagnoses error        Motor Doesn t Move Response of controller 2  Anything Correct problem reported by SC  from TCI diagnoses error     DMC 1410 1411 1417 Series Chapter 9 Troubleshooting e 121    THIS PAGE LEFT BLANK INTENTIONALLY    122 e Chapter 9 Troubleshooting DMC 1410 1411 1417 Series    Chapter 10 Theory of Operation    Overview    The following discussion covers the operation of motion control systems  A typical motion  control system consists of the elements shown in Fig 10 1              COMPUTER                CONTROLLER                       gt        DRIVER             ah        Figure 10 1   Elements of Servo Systems    The operation of such a system can be divided into three levels  as illustrated in Fig  10 2  The    levels are     1  Closing the Loop  2  Motion Profiling    3  Motion Programming    The first level  the closing of the loop  assures that the motor follows the commanded position    This is done by closing the position loop using a sensor  The operation at the basic level of closing  the loop involves the subjects of modeling  analysis  and design  These subjects will be covered in  the following discussions     The motion profiling is the generation of the desired position function  this function  R t    describes where the motor should be at every sampling period  Note that the profiling and the  closing of the loop are independent functions  The profiling function determines where the motor  should be and the closing of the l
71. apter 2 Getting Started DMC 1410 1411 1417 Series    Example 2   Profiled Move    Objective  Rotate a distance of 10 000 counts at a slew speed of 20 000 counts sec and an  acceleration and deceleration rates of 100 000 counts s      Instruction Interpretation  PR 10000 Distance   SP 20000 Speed   DC 100000 Deceleration   AC 100000 Acceleration   BG Start Motion    In response  the motor turns and stops     Example 3   Position Interrogation    The position of the axis may be interrogated with the instruction    TP Tell position    which returns the position of the main encoder     The position error  which is the difference between the commanded position and the actual  position can be interrogated by the instructions  TE Tell error    Example 4   Absolute Position    Objective  Command motion by specifying the absolute position     Instruction Interpretation   DP 0 Define the current position as 0  PA 7000 Sets the desired absolute position  BG Start motion    Example 5   Velocity Control  Jogging     Objective  Drive the motor at specified speeds     Instruction Interpretation  JG 10000 Set Jog Speed  AC 100000 Set acceleration  DC 50000 Set deceleration  BG Start motion    after a few seconds  command     JG  40000 New speed and Direction   TV Returns speed  This causes velocity changes including direction reversal  The motion can be stopped with the  instruction   ST Stop    DMC 1410 1411 1417 Series Chapter 2 Getting Started e 35    Example 6   Operation Under Torque Li
72. apture       Backlash Correction Dual Loop    DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 59    Following a trajectory based on a master Electronic Cam  encoder position    Motion Smoothing Applies to all of the above  motion  Smoothes motion  to eliminate vibrations due  to jerk  discontinuities in  acceleration        Point   to   Point Positioning    In this mode  motion between the specified axes is independent  and each axis follows its own  profile  The user specifies the desired absolute position  PA  or relative position  PR   slew speed   SP   acceleration ramp  AC   and deceleration ramp  DC   for each axis  On begin  BG   the  DMC 141X profiler generates the corresponding trapezoidal or triangular velocity profile and  position trajectory  The controller determines a new command position along the trajectory every  sample period until the specified profile is complete  Motion is complete when the last position  command is sent by the DMC 141X profiler  Note  The actual motor motion may not be complete  when the profile has been completed  however  the next motion command may be specified     The speed  SP  and the acceleration  AC  can be changed at any time during motion  however  the  deceleration  DC  and position  PR or PA  cannot be changed until motion is complete   Remember  motion is complete when the profiler is finished  not when the actual motor is in  position  The Stop command  ST  can be issued at any time to decelerate the motor to a sto
73. are high    2     The output port may also be written to as an 3 bit word using the instruction    OP  Output Port   This instruction allows a single command to define the state of the entire 3 bit    output port  where 20 is output 1  2  is output 2 and 2   is output 3  A 1 designates that bit is on   The value in the output port is the sum of bits 0  1  and 2     For example     Instruction Function  OP6 Sets outputs 2 and 3 of output port to high  All other bits are 0   21  22  6   OPO Clears all bits of output port to zero    The output port is useful for firing relays or controlling external switches and events during a  motion sequence     Example   Turn on Output After Move    Instruction Interpretation   OUTPUT Label   PR 2000 Position Command  BG Begin   AM After move   SB1 Set Output 1   WT 1000 Wait 1000 msec    110 e Chapter 7 Application Programming DMC 1410 1411 1417 Series           Clear Output 1  EN End    Digital Inputs    The DMC 141X has seven digital inputs for controlling motion by local switches  The  IN n   function returns the logic level of the specified input 1 through 7  For example  a Jump on  Condition instruction can be used to execute a sequence if a high condition is noted on an input 3   To halt program execution  the After Input  AI  instruction waits until the specified input has  occurred     Example   JP HA OIN 1  0 Jump to A if input 1 is low  JP EB   IN 2  1 Jump to B if input 2 is high  AI7 Wait until input 7 is high  AI  6 Wait until 
74. are labeled PWM and SIGN on the ICM   1460   Consult the documentation for your step motor amplifier     Step C  Configure DMC 141X for motor type using MT command     You can configure the DMC 141X for active high or active low pulses  Use the  command MT 2 for active high step motor pulses and MT  2 for active low step  motor pulses  See description of the MT command in the Command Reference     Step 8  Tune the Servo System    The system compensation provides fast and accurate response by adjusting the filter parameters   The following presentation suggests a simple and easy way for compensation  More advanced  design methods are available with software design tools from Galil  such as the Windows Servo  Design Kit  WSDK software      DMC 1410 1411 1417 Series Chapter 2 Getting Started e 33    If the torque limit was set as a safety precaution in the previous step  you may want to increase  this value  See Step B of the section Setting Torque Limit as a Safety Precaution     The filter has three parameters  the damping  KD  the proportional gain  KP  and the integrator   KI  The parameters should be selected in this order     To start  set the integrator to zero with the instruction    KIO   CR   Integrator gain  and set the proportional gain to a low value  such as   KP 1   CR   Proportional gain   KD 100  lt CR gt  Derivative gain    For more damping  you can increase KD  maximum is 4095   Increase gradually and stop after  the motor vibrates  A vibration is noticed by a
75. ata Capture    Returns a 0 or 1 where 0 denotes not recording  1 denotes recording in progress           RD   Returns address of next array element     Example   Recording into An Array       During a position move  store the position and position error every 2 msec     Instruction Interpretation    RECORD Begin program   DM XPOS 300  Define position array   DM XERR 300  Define error array   RA XPOS   XERR   Select arrays for capture  RD_TP _TE Select data types   PR 10000 Specify move distance   RCI Start recording now  at rate of 2 msec    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 103    BG     A JP   A  RC 1    Begin motion    Loop until done    MG  DONE  Print message   EN End program   PLAY Play back   N 0 Initial Counter   DONE label   N  Print Counter  XPOSI N   Print position  XERR N   Print error   N N 1 Increment Counter  JP DONE  N lt 300 Jump to  DONE as long as there are positions left  EN End Program    Deallocating Array Space    Array space may be deallocated using the DA command followed by the name  DA  0   deallocates all the arrays     Input of Data  Numeric and String     Input of Data    The command  IN  is used to prompt the user to input numeric or string data  Using the IN  command  the user may specify a message prompt by placing a message in quotations  When the  controller executes an IN command  the controller will wait for the input of data  The input data is  assigned to the specified variable or array element     An Example 
76. atic Error Routine    The  POSERR label causes the statements following to be automatically executed if error on any  axis exceeds the error limit specified by ER  The error routine must be closed with the RE  command  The RE command returns from the error subroutine to the main program     NOTE  The Error Subroutine will be entered again unless the error condition is gone     Example   Instruction Interpretation   A JP           Dummy  program   POSERR Start error routine on error  MG  error  Send message  SB 1 Fire relay  ST Stop motor  AM After motor stops  SH Servo motor here to clear error  RE Return to main program    NOTE  An applications program must be executing for the  POSERR routine to function     Limit Switch Routine    The DMC 141X provides forward and reverse limit switches which inhibit motion in the  respective direction  There is also a special label for automatic execution of a limit switch  subroutine  The  LIMSWI label specifies the start of the limit switch subroutine  This label  causes the statements following to be automatically executed if any limit switch is activated and  that axis motor is moving in that direction  The RE command ends the subroutine     DMC 1410 1411 1417 Series Chapter 8 Error Handling e 117    The state of the forward and reverse limit switches may also be tested during the jump on   condition statement  The _LR condition specifies the reverse limit and _LF specifies the forward  limit  The CN command can be used to configure t
77. be  attached to each interrupt request line  The DMC 1417 does not require IRQ  jumpers to be set  the interrupt line is set automatically by the computer   s  BIOS or operating system     DMC 1410 1411 1417 Series Chapter 4 Communication e 47    2  Your host software code must contain an interrupt service routine and must  initialize the interrupt vector table in the PC  The interrupt vector table and an  example interrupt service routine  DMCINTRP C  are included in the  DMCWIN software  Failure to have proper interrupt servicing in your host  program could cause disastrous results including resetting or  hanging  your  computer     3  The Interrupt conditions must be enabled with the EI instruction   The UI  instruction does not require EN  The EI instruction has the following format          where n     2               DO mee   DOS  ecs                 s mer         mee       These conditions must be re enabled after each occurrence        If you want an interrupt for Input 2 and motion complete  you would enable bit 1 and bit 8  N 2  2     258  EI 258  The DMC 141X also provides a User Interrupt that can be sent by sending the command UI to the  DMC 141X  The UI command does not require the EI command   Servicing Interrupts    Once an interrupt occurs  the host computer can read information about the interrupt by using the  command IV  Returned data has the following meaning  The bit information shown in the table  below is sent to screen automatically  The IV command do
78. bel for timeout on Motion Complete trip point     POSERR Label for excess Position Error subroutine   CMDERR Label for incorrect command subroutine       DMC 1410 1411 1417 Series Chapter 7 Application Programming e 83    Commenting Programs    Using the Command  NO    The DMC 141X provides a command  NO  for commenting programs  This command allows the  user to include up to 38 characters on a single line after the NO command and can be used to  include comments from the programmer as in the following example     MOVE    NO ABSOLUTE POINT TO POINT MOVE  NO SPEED 10000 COUNTS SECOND   SP 10000   NO ACCELERATION 100000 COUNTS SEC 2  AC 100000   NO DECELERATION 100000 COUNTS SEC 2  DC 100000   NO MOVE TO ABSOLUTE POSITION 150000  PA 150000   NO BEGIN MOVE   BG   NO AFTER MOVE COMPLETES   AM   NO MOVE TO ABSOLUTE POSITION 0   PAO   NO BEGIN MOVE   BG   NO AFTER MOVE   AM   NO END PROGRAM   EN       Note  The NO command is an actual controller command  Therefore  inclusion of the NO  commands will require process time by the controller     Using REM Statements with the Galil Terminal Software     If you are using Galil software to communicate with the DMC 141X controller  you may also  include REM statements     REM    statements begin with the word    REM    and may be followed by  any comments that are on the same line  The Galil terminal software will remove these statements  when the program is downloaded to the controller  For example     PATH    PA 10000   REM SIMPLE MOVE  
79. coder    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     The model of the encoder can be represented by a gain of    Kg   4N 20  count rad     For example  a 1000 lines rev encoder is modeled as          638    DMC 1410 1411 1417 Series Chapter 10 Theory of Operation e 129    DAC    The DAC or D to A converter converts a 16 bit number to an analog voltage  The input range of  the numbers is 65 536 and the output voltage range is    10V or 20V  Therefore  the effective  gain of the DAC is    K  20 65 536   0 0003  V count     Digital Filter  The digital filter has a transfer function of D z    K z A  z   Cz z 1 and a sampling time of T   The filter parameters  K  A and C are selected by the instructions KP  KD  KI or by GN  ZR and    KI  respectively  The relationship between the filter coefficients and the instructions are   K  KP KD  4 orK GN   4  A KD  KP KD  orA ZR  C KI2    This filter includes a lead compensation and an integrator  It is equivalent to a continuous PID  filter with a transfer function G s      G s    P   sD   I s    P 4KP  D  4T  KD  I  KINT  For example  if the filter parameters of the DMC 141X are  KP 4  KD   36  KI 0 5  T 20 001 s  the digital filter coefficients are  K 40  A 0 9  C 0 25    and the equivalent continuous filter  G s   is    G s    4   0 14
80. 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  To achieve that  our skin serves as a  temperature sensor and reports to the brain  controller   The brain compares the actual  temperature  which is called the feedback signal  with the desired level of 90 degrees F  The  difference between the two levels is called the error signal  If the feedback temperature is too low   the error is positive  and it triggers an action which raises the water temperature until the  temperature error is reduced sufficiently     The closing of the servo loop is very similar  Suppose that we want the motor position to be at 90  degrees  The motor position is measured by a position sensor  often an encoder  and the position  feedback is sent to the controller  Like the brain  the controller determines the position error   which is the difference between the commanded position of 90 degrees and the position feedback   The controller then outputs a signal that is proportional to the position error  This signal produces  a proportional current in the motor  which causes a motion until the error is reduced  Once the  error becomes small  the resulting current will be too small to overcome the friction  causing the  motor to stop     The analogy between adjusting the water temperature and closing the position loop carries further   We have all learned the hard way 
81. d    Normally Closed   CN 1 Reverse Forward Forward                         Example  Homing    Instruction Interpretation    HOME Label   CN  1 Configure the polarity of the home input  AC 1000000 Acceleration Rate   DC 1000000 Deceleration Rate   SP 5000 Speed for Home Search   HM Home   BG Begin Motion   AM After Complete   MG  AT HOME  Send Message    DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 77    EN End    Figure 6 6 shows the velocity profile from the homing sequence of the example program above     For this profile  the switch is normally closed and CN  1        HOME    SWITCH  HMX 0       VELOCITY    MOTION  BEGINS IN  FORWARD  DIRECTION         gt        VELOCITY    MOTION  CHANGES  DIRECTION     lt     POSITION    POSITION       VELOCITY    MOTION IN  FORWARD  DIRECTION  TOWARD  INDEX       INDEX PULSES    POSITION          POSITION          Figure 6 6     Homing Sequence for Normally Closed Switch and CN  1    78 e Chapter 6 Programming Motion    DMC 1410 1411 1417 Series    Example  Find Edge     EDGE   AC 2000000   DC 2000000   SP 8000   FE   BG   AM   MG  FOUND HOME   DP 0   EN    High Speed Position    Label   Acceleration rate  Deceleration rate  Speed   Find edge command  Begin motion   After complete  Send message  Define position as 0    End    Capture    Often it is desirable to capture the position precisely for registration applications  The DMC 141X  provides a position latch feature  This feature allows the position to be captured in les
82. d as opto input output common  See next section for detail   The screw terminal for amplifier enable output can be configured as the stepper motor direction output for Y  axis for DMC1425 controller  This needs to be specified when ordering the controller  Please contact Galil for  detailed info    The screw terminal for ERROR Output can be configured as the stepper motor pulse output for Y axis for  DMC 1425 controller  This needs to be specified when ordering the controller  Please contact Galil for detailed  info        Appendices e 147    4 The screw terminal for CMP can be configured as input output common for opto isolated I O  Please see next  section for detail     J8  9 Encoder  10pin header          1 Main Encoder A  2  5 VDC  NC  NC    Main encoder B        Main encoder I                       Opto Isolation Option for ICM 1460  rev F and above only     The ICM 1460 module from Galil has an option for opto isolated inputs and outputs  Any of the  following pins can be chosen to be the input output common  pin    labeled as  12V   pin 2   labeled as  12V  and pin 13  labeled as CMP ICOM   When pin 1 is used as input output  common  the  12V output be comes inaccessible  when pin 2 is used  the  12V becomes  inaccessible  and when pin13 is used  the output compare function is not available  The common  point needs to be specified at the time of ordering     The ICM 1460 can also be configured so that the opto common is jumped with Vcc   5V   In this  case  no screw c
83. d depends on the magnitude of the backlash  However  once  successful  this method compensates for the backlash continuously     The second method  the sampled dual loop  reads the load encoder only at the end point and  performs a correction  This method is independent of the size of the backlash  However  it is  effective only in point to point motion systems which require position accuracy only at the  endpoint     Continuous Dual Loop   Example    Connect the load encoder to the main encoder port and connect the motor encoder to the dual  encoder port  The dual loop method splits the filter function between the two encoders  It applies  the KP  proportional  and KI  integral  terms to the position error  based on the load encoder  and  applies the KD  derivative  term to the motor encoder  This method results in a stable system     Note  It is recommended that the resolution of the rotary encoder be greater than the effective  resolution of the load encoder for stability     The dual loop method is activated with the instruction DV  Dual Velocity   where  DV 1   activates the dual loop for the four axes and   DV O   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  Once KD is found  increase KP gradually  to a maximum value  and finally  increase KI  if 
84. disengaged     This disengages the slave axis at a specified master position  If the parameter is outside the master  cycle  the stopping is instantaneous     Programmed start and stop can only be used when the master moves forward    64 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series       SOOO PR           Mn m      1500  eis ots t   ea            0 2000 4000 6000 Master X             Figure 6 1  Electronic Cam Example    To illustrate the complete process  consider the cam relationship described by    the equation     Y 2 0 5    X   100 sin  0 18 X     where X is the master  with a cycle of 2000 counts     The cam table can be constructed manually  point by point  or automatically by a program  The  following program includes the set up     The cycle of the master is 2000  Over that cycle  X varies by 1000  This leads to the instruction  EM 1000 2000     Suppose we want to define a table with 100 segments  This implies increments of 20 counts each   If the master points are to start at zero  the required instruction is EP 20 0     The following routine computes the table points  As the phase equals 0 18X and X varies in  increments of 20  the phase varies by increments of 3 6   The program then computes the values  of X according to the equation and assigns the values to the table with the instruction ET N    X     Instruction Interpretation    SETUP Label   EM 1000 2000 Cam cycles   EP 20 0 Master position increments   N 0 Index    LOOP Loop to construct table fr
85. duction or refresher on how to successfully implement servo motion  control systems     TIME  4 hours  8 30 am 12 30pm     ADVANCED MOTION CONTROL  WHO SHOULD ATTEND    Those who consider themselves a  servo specialist  and require an in depth knowledge of motion  control systems to ensure outstanding controller performance  Also  prior completion of  Motion  Control Made Easy  or equivalent is required  Analysis and design tools as well as several design  examples will be provided     TIME  8 hours  8 5pm     PRODUCT WORKSHOP  WHO SHOULD ATTEND    Current users of Galil motion controllers  Conducted at Galil s headquarters in Rocklin  CA   students will gain detailed understanding about connecting systems elements  system tuning and  motion programming  This is a  hands on  seminar and students can test their application on  actual hardware and review it with Galil specialists     TIME  Two days  8 30 5pm     152 e Appendices DMC 1410 1411 1417 Series    Contacting Us  Galil Motion Control  3750 Atherton Road  Rocklin  California 95765  Phone  916 626 0101  Fax  916 626 0102    Internet address  www galilmc com       DMC 1410 1411 1417 Series Appendices e 153    WARRANTY    All products manufactured by Galil Motion Control are warranted against defects in materials and  workmanship  The warranty period for controller boards is 1 year  The warranty period for all  other products is 180 days     In the event of any defects in materials or workmanship  Galil Motion Control will
86. e     Examples   Input Interrupt    Instruction Interpretation    A Label  A   Il Enable input 1 for interrupt function  JG 30000 Set speed    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 111    BG Begin motion     B Label  B   TP Report position   WT 1000 Wait 1000 milliseconds   JP EB Jump to EB   EN End of program    ININT Interrupt subroutine   MG  Interrupt has occurred  Displays the message   ST Stops motion    LOOP JP  LOOP   IN 1  0 Loop until Interrupt cleared  JG 15000 Specify new speeds   WT 300 Wait 300 milliseconds   BG Begin motion   RI Return from Interrupt subroutine    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 that activates the cutter   Allowing 100 ms for the cutting completes the cycle     Suppose that the motor drives the wire by a roller with a 2  diameter  Also assume that the  encoder resolution is 1000 lines per revolution  Since the circumference of the roller equals 27  inches  and it corresponds to 4000 quadrature  one inch of travel equals     4000 27   637 count inch    This implies that a distance of 10 inches equals 6370 counts  and a slew speed of 5 inches per  second  for example  equals 3185 count sec     The input signal may be applied to I1  for example  and the output signal is chosen as output 1   The motor velocity profile and the related input and output signals
87. e also supported in QNX and LINUX  If compatibility  with another operating system is desired  contact Galil     Simplified Communication Procedure for DMC 1417    The following diagram shows the PCI configuration space  The I O base address  N  mentioned  in the Communication Registers section is reference in the PCI configuration space at offset 18H     IPCI CFG  To ensure software compatibility with other versions of PCI 9050 family and to PCI  ensure compatibility with future enhancements  write   0   to all unused bits Writable     Oh   DeicD            Vendor DN   Don       status   Command   Y     Y 7 0      lt   Z    a      N  Y       46 e Chapter 4 Communication DMC 1410 1411 1417 Series    The following information can be used to identify the DMC 1417 controller    DEVICE ID VENDOR ID SUBSYSTEM ID   SUBSYSTEM VENDOR ID       The DMC 1417 is only supported Windows 98 SE  ME  NT 4  and XP  If compatibility with  another operating system is desired  contact Galil     Read Procedure    To receive data from the DMC 141X  read the status register at address N 1 and check bit 0  If  bit 0 is zero  the DMC 141X has data to be read in the READ register at address N  Bit 0 must be  checked for every character read and should be read until it signifies empty  Reading data from  the READ register when the register is empty will result in reading an FF hex     NOTE  Failure to ever read the data in the read register will ultimately cause the DMC 141X to  hang up once the Read FI
88. e currently being edited  For example  if the editor is at line  number 2 and  lt ctrl gt D is applied  line 2 will be deleted  The previous line number 3 is now  renumbered as line number 2      lt ctrl gt Q  The  lt ctrl gt Q quits the editor mode  In response  the DMC 141X will return a colon     After the Edit session is over  the user may list the entered program using the LS command  If no  operand follows the LS command  the entire program will be listed  The user can start listing at a  specific line or label using the operand n  A command and new line number or label following the  start listing operand specifies the location at which listing is to stop     Example   Instruction Interpretation   LS List entire program   LS 5 Begin listing at line 5   LS 5 9 List lines 5 through 9   LS  A 9 List line label  A through line 9    Program Format    A DMC 141X program consists of several DMC 141X instructions combined to solve a machine  control application  Action instructions  such as starting and stopping motion  are combined with  Program Flow instructions to form the complete program  Program Flow instructions evaluate  real time conditions  such as elapsed time or motion complete  and alter program flow  accordingly     Each DMC 141X program instruction must be separated by a delimiter  Valid delimiters are the  semicolon     or carriage return  The semicolon is used to separate multiple instructions on a    82 e Chapter 7 Application Programming DMC 1410 1411 1417 S
89. e home switch  High level causes forward motion  The motor will then decelerate to     stop  The acceleration rate  deceleration rate and slew speed are specified by the user  prior to  the movement  using the commands AC  DC  and SP  It is recommended that a high deceleration  value be used so the motor will decelerate rapidly after sensing the Home switch     40 e Chapter 3 Hardware Interface DMC 1410 1411 1417 Series    The Find Index routine is initiated by the command sequence  FI  lt return gt   BG  lt return gt   Find  Index will cause the motor to accelerate to the user defined slew speed  SP  at a rate specified by  the user with the AC command and slew until the controller senses a change in the index pulse  signal from low to high  The motor then decelerates to a stop at the rate previously specified by  the user with the DC command  Although Find Index is an option for homing  it is not dependent  upon a transition in the logic state of the Home input  but instead is dependent upon a transition in  the level of the index pulse signal     The Standard Homing routine is initiated by the sequence of commands HM  lt return gt   BG   lt return gt   Standard Homing is a combination of Find Edge and Find Index homing  Initiating the  standard homing routine will cause the motor to slew until a transition is detected in the logic state  of the Home input  The motor will accelerate at the rate specified by the command  AC  up to the  slew speed  After detecting the transit
90. e position displacement in terms of A counts in B milliseconds   we can describe the motion in the following manner     o            1   cos  2xT B    X    AT B        2           2xT B     Note     is the angular velocity  X is the position  and T is the variable  time  in milliseconds     In the given example  A 6000 and B 120  the position and velocity profiles are   X   SOT    6000 27  sin  2x T 120   Note that the velocity      in count ms  is        50  1   cos 2x T 120           ACCELERATION       VELOCITY       POSITION             Figure 6 3   Velocity Profile with Sinusoidal Acceleration    68 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    The DMC 141X can compute trigonometric functions  However  the argument must be expressed  in degrees  Using our example  the equation for X is written as     X   SOT   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  This is stored at the array  POS  Then  the difference between the positions is computed and is stored in the array DIF   Finally the motors are run in the contour mode     Contour Mode Example    Instruction   POINTS  DM POS 16   DM DIF 15   C 0   T 0    A  V1 50 T  V2 3 T  V3  955   SIN V2  V1  V4  INT V3   POS C  V4  T T 8  C C 1   JP  A C lt 16   B   C 0    C   D C 1  DIF C  POS D  POS C   C C 1   JP  C C lt 15  EN    RUN   CM   DT3   C 0    E   CD DIF C   WC   C C 1   JP  E C l
91. e stepper motor  The installation of the  stepper motor jumper is discussed in the following section entitled    Installing Jumpers on the  DMC 141X     Further instructions for stepper motor connections are discussed in Step 7b     Step 3  Configuring Jumpers on the DMC 141X    Address Jumpers on the DMC 1410 and DMC 1411    The default address of the DMC 1410 and DMC 1411 is 1000  no jumpers installed   If the  address 1000 is not available  i e  the operating system has already allocated it to another device    Galil recommends using the address 816 or 824  as they is likely to be available  Changing the  I O address at which the controller resides is a two step process  First  you must configure the  address of the controller card physically using the Address DIP Switches or jumpers located on the  card  Then  you must configure your communications software to use the address that you have  selected  Configuring the software for a particular address is discussed in Step 5 of this chapter     8 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    The DMC 1410 address  N  is selectable by setting the Address DIP Switches  A2 A3 A4 A5 A6 A7  and A8 where each switch represents a digit of the binary number that is  equivalent to N minus 512  Switch A2 represents the 2   digit  the 3rd binary digit from the right    switch A3 represents the 2   digit  the 4th binary digit from the right   and so on up to the most  significant digit which is represented by switch A8  The 2 
92. ebile asia ica R      3  System El  ments          teer p PD ee brain 3  MOO ili ia dei alari diario pev E 3  Amplifier  Driver     ii                       eee rie RT ott 4  Encoder    ise pen ueteri E e ira to 4  Watch Dose Tamer ei eere He RE ere t ete ri tede ix 4  Chapter 2 Getting Started 5  The DMC 141X Motion Controller                   eene enne enne en enne nennen nnne 5  Elements Y ou Need    teer mee a e ep asia 6  Installing the DMC 1400 Controller                      i 7  Step 1  Installing the Communications Software                       eee 7  Step 2  Determine Overall Motor Configuration                    eee 8  Step 3  Configuring Jumpers on the DMC 141X               essen 8  Step 4a  Plugging the DMC 1410 or DMC 1417 into the PC                       esses 10  Step 4b  Installing the DMC 1411 on the PC 104 stack                       eee 10  Step 5  Establishing Communication between the DMC 141X and the host PC        11  Step 6  Make connections to amplifier and encoder                          sees 25  Step 7a  Connect Standard Servo Motor                      eee 26   Step 7b  Connect brushless motors for sinusoidal commutation  DMC   1410 1417 only   sona 1 ntm eben Pe tede e tee Eee ee        30  Step 7c  Connect Step Motors                      sess nennen nennen rennes 33  Step 8  Tune the Servo System                esses nennen nennen nennen rennes 33  Design Examples                          dte eot ele PE ei ce ee tati ie 34  Example 1   Sy
93. ectronic Gearing    This mode allows the main encoder axis to be electronically geared to the auxiliary encoder  The  master may rotate in both directions and the geared axis will follow at the specified gear ratio   The gear ratio may be changed during motion     GR specifies the gear ratio for the slave where the ratio may be a number between    127 9999  with a fractional resolution of  0001  GR 0 turns off electronic gearing  A limit switch will also  disable electronic gearing     Electronic gearing allows the geared motor to perform a second independent move in addition to  the gearing  For example  when a geared motor follows a master at a ratio of 1 1  it may be  advanced an additional distance with PR  JG or IP commands     Command Summary   Electronic Gearing    Sets gearing mode and gear ratio  0 disables electronic gearing   Trippoint for motion past assigned point in reverse direction        Trippoint for motion past assigned point in forward direction     Example   Electronic Gearing    Run geared motor at speeds of 1 132 times the speed of an external master hooked to the auxiliary  encoder  The master motor is driven externally at speeds between 0 and 1800 RPM  2000  counts rev encoder      GR 1 132 Specify gear ratio and enable gear mode  Now suppose the gear ratio of the slave is to change on the fly to 2  This can be achieved by  commanding    GR 2 Specify gear ratio for X axis to be 2    Electronic Cam    The electronic cam is a motion control mode that en
94. ecution of  limit switch subroutine   LIMSWI  The polarity of the limit switch may be set  with the CN command     hen active  inhibits motion in reverse direction  Also causes execution of  limit switch subroutine   LIMSWI  The polarity of the limit switch may be set  with the CN command     Input for Homing  HM  and Find Edge  FE  instructions  Upon BG following  HM or FE  the motor accelerates to slew speed  A transition on this input will  cause the motor to decelerate to a stop  The polarity of the Home Switch may  be set with the CN command     Uncommitted inputs  May be defined by the user to trigger events  Inputs         checked with the Conditional Jump instruction and After Input instruction or  Input Interrupt  Input lis used for the high speed latch     High speed position latch to capture axis position in less than 1 usec on  occurrence of latch signal  AL command arms latch  Input 1 is latch          Jumpers          Label  SM    A2 A8    MRST    OPT  IRQS   IRQ 9   IRQ 10  IRQ 11  IRQ 12  IRQ 15          Function  If jumpered     The SM jumper selects the sign magnitude mode for servo motors or selects stepper  motors  If you are using stepper motors  SM must always be jumpered  The Analog  command is not valid with SM jumpered     Seven Dip Switches for Address Selection   Please follow silkscreen  not switch  labels   DMC 1410 and 1411 only     Master Reset enable  Returns controller to factory default settings and erases  EEPROM  Requires power on or RESET 
95. eedback  command a move with the instruction     SH  lt CR gt  Servo Here to turn motors on    Chapter 2 Getting Started e 27    PR 1000  lt CR gt  Position relative 1000 counts  BG  lt CR gt  Begin motion    When the polarity of the feedback is wrong  the motor will attempt to run away  The  controller should disable the motor when the position error exceeds 2000 counts  In  this case  the polarity of the loop must be inverted     Inverting the Loop Polarity    When the polarity of the feedback is incorrect  the user must invert the loop polarity and this may  be accomplished by several methods  If you are driving a brush type DC motor  the simplest way  is to invert the two motor wires  typically red and black   For example  switch the M1 and M2  connections going from your amplifier to the motor  When driving a brushless motor  the polarity  reversal may be done with the encoder  If you are using a single ended encoder  interchange the  CHA and CHB signals  If  on the other hand  you are using a differential encoder  interchange  only CHA  and CHA   The loop polarity and encoder polarity can also be affected through  software with the MT  and CE commands  For more details on the MT command or the CE  command  see the Command Reference section     NOTE  To avoid a run away condition after a master reset  it is recommended that the motor  wires be physically inverted rather than using the software commands     Sometimes the feedback polarity is correct  the motor does not at
96. encoder  This is called the auxiliary  encoder and can be used for dual loop applications     The encoder inputs are not isolated     All of the encoder signals for the DMC 1410  DMC 1417  and DMC 1411 are accessible through  the ICM 1460 or directly from the interface connector on the controller  The pin outs of the ICM   1460 and the connectors are explained in the appendix     The DMC 141X can interface to incremental encoders of the pulse and direction type  instead of  two channels in quadrature  In that case  replace Channel A by the pulse signal  and Channel B by  the direction  and use the CE command to configure the DMC 141X for pulse and direction  encoder format  For pulse and direction format  the DMC 141X provides a resolution of 1X  counts per pulse     Note that while TTL level signals are common  the DMC 141X encoder inputs accept signals in  the range of    12V  If you are using a non TTL single ended encoder signal  no complement   to  assure proper bias  connect a voltage equal to the average signal to the complementary input  For  example  if Channel A varies between 2 and 12V  connect 7 volts to Channel A complement input     DMC 1410 1411 1417 Series Chapter 3 Hardware Interface e 39    Inputs    The DMC 141X provides buffered digital inputs for limit switches  homing  abort as well as 7  uncommitted inputs  The Limit switches  Home switch  Abort switch and general purpose inputs  are all TTL and accessible through the ICM 1460 screw terminals  A descrip
97. ent is 10A  the amplifier gain should be 1 A V  For  velocity mode amplifiers  a command signal of  10 Volts should run the motor at the maximum  required speed     For step motors  the driver should accept step and direction signals  For start up of a step motor  system refer to    Connecting Step Motors    in Step 7c of    Installing the DMC 1400 Controller        The WSDK software is highly recommended for first time users of the DMC 141X  It provides  step by step instructions for system connection  tuning and analysis     Installing the DMC 1400 Controller    Installation of a complete  operational DMC 141X system consists of 8 steps  These steps will be  slightly different depending on the exact model of your controller  DMC 1410 DMC 1411  or  DMC 1417      Step 1  Install the communications software   Step 2  Determine overall motor configuration   Step 3  Install jumpers on the DMC 141X   Step 4a  Plug the DMC 1410 or DMC 1417 into the PC   OR  Step 4b  Insert the DMC 1411 into the PC 104 Stack   Step 5  Establish communications between the DMC 141X and the host PC   Step 6  Make connections to amplifier and encoder   Step 7a  Connect standard servo motor   OR  Step 7b  Connect step motor     Step 8  Tune servo system     Step 1  Installing the Communications Software    After applying power to the computer  you should install the Galil software that enables  communication between the controller and PC  The CD ROM used for the following  installations is Version 11 01
98. eory of Operation e 133    L s    M s      Kg Kg H s    3 175 106  s2 s 2000    Then the open loop transfer function  A s   is  A s    L s  G s     Now  determine the magnitude and phase of L s  at the frequency c   500     L j500    3 175 106  500 2  3500 2000    This function has a magnitude of   ILG500 1   0 00625  and a phase   Arg L j500      180     tan   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  degrees  This requires that     A j500    1  Arg  A j500      135   However  since  A s    L s  G s   then it follows that G s  must have magnitude of  IGG500 I   IA j500  L 500    160  and a phase  arg  G j500     arg  AG500     arg  LG500      135     194     59    In other words  we need to select a filter function G s  of the form  G s  x P  sD  so that at the frequency c  500  the function would have a magnitude of 160 and a phase lead of  59 degrees   These requirements may be expressed as   16 j500 I   IP   05000     160  and  arg  G j500     tan1 500D P    59    The solution of these equations leads to   P   160cos 59     82 4  500D   160sin 59     137 2  Therefore   D 0 274  and  G   82 4   0 2745    The function G is equivalent to a digital filter of the form     D z    4 KP   4  KD 1 z l     134 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    where    KP   P 4    and    KD   D 4T    Assuming a sampling period of T 1ms  the parameters of the digital filter are   KP   20 6  KD   68
99. ep directions on servo system setup are also included on the WSDK  Windows Servo  Design Kit  software offered by Galil  See section on WSDK for more details     26 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    Check the Polarity of the Feedback Loop    It is assumed that the motor and amplifier are connected together and that the encoder is operating  correctly  Step D   Before connecting the motor amplifiers to the controller  read the following  discussion on setting Error Limits and Torque Limits     Step A     Step B     Step C     Step D     DMC 1410 1411 1417 Series    Set the Error Limit as a Safety Precaution    Usually  there is uncertainty about the correct polarity of the feedback  The wrong  polarity causes the motor to run away from the starting position  Using a terminal  program  such as DMCTERM  the following parameters can be given to avoid  system damage     Input the commands   ER 2000  lt CR gt  Sets error limit to be 2000 counts  OE 1   CR   Disables amplifier when excess error exists    If the motor runs away and creates a position error of 2000 counts  the motor  amplifier will be disabled     Note  This function requires the AEN signal to be connected from the controller to  the amplifier     Setting Torque Limit as a Safety Precaution    To limit the maximum voltage signal to your amplifier  the DMC 141X controller  has a torque limit command  TL  This command sets the maximum voltage output  of the controller and can be used to avoid exce
100. er 7 Application Programming e 105    Numeric data may be formatted using the  Fn m  expression following the completed MG  statement    n m  formats data in HEX instead of decimal  The actual numerical value will be  formatted with n characters to the left of the decimal and m characters to the right of the decimal   Leading zeros will be used to display specified format  For example     MG    The Final Value is     RESULT F5 2   If the value of the variable RESULT is equal to 4 1  this statement returns the following   The Final Value is 00004 10     If the value of the variable RESULT is equal to 999999 999  the above message statement returns  the following     The Final Value is 99999 99    The message command normally sends a carriage return and line feed following the statement   The carriage return and the line feed may be suppressed by sending  N  at the end of the  statement  This is useful when a text string needs to surround a numeric value     Example    A  JG 50000 BG AS  MG  The Speed is   TV  F5 1   N   MG  counts sec   EN  When  A is executed  the above example will appear on the screen as     The speed is 50000 counts sec    Using the MG Command to Configure Terminals    The MG command can also be used to configure a terminal  Any ASCII character can be sent by  using the format  n  where n is any integer between 1        255     Example   MG  407   4255   sends the ASCII characters represented by 7 and 255 to the bus     Summary of Message Functions   Funct
101. er motor is not possible     Command Summary   Stepper Motor Operation     be  Derine Encoder Reson When ing mene       DP  pete Reference Poston and Step Conn Reiter          fir   Moon        Snooting   Idependent Time Conn      Ss         eed    DE  IT i  KS             Operand Summary   Stepper Motor Operation    OPERAND DESCRIPTION       Contains the value of the step count register    72 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series     pps Contains the value of the main encoder  Contains the value of the Independent Time constant for the  x  axis    Contains the value of the Stepper Motor Smoothing Constant for the  x  axis    Contains the motor type value for the  x  axis          Contains the commanded position generated by the profiler  Contains the value of the step count register  Contains the value of the main encoder       Dual Loop  Auxiliary Encoder     The DMC 141X provides an interface for a second encoder except when the controller is  configured for stepper motor operation  When used  the second encoder is typically mounted on  the motor or the load  but may be mounted in any position  The most common use for the second  encoder is backlash compensation  described below     The second encoder may be of the standard quadrature type  or it may be of the pulse and direction  type  The controller also offers the provision for inverting the direction of the encoder rotation   The main and auxiliary encoders are configured with the CE command  The com
102. er normally executes program instructions sequentially  The program flow can be altered  with the use of event triggers  trippoints and conditional jump statements     Command Summary   Program Flow    MC Trigger  In position  trigger  TW sets timeout for in position     Event Triggers  amp  Trippoints       To function independently from the host computer  the DMC 141X can be programmed to make  decisions based on the occurrence of an event  Such events include waiting for motion to be  complete  waiting for a specified amount of time to elapse  or waiting for an input to change logic  levels     The DMC 141X provides several event triggers that cause the program sequencer to halt until the  specified event occurs  Normally  a program is automatically executed sequentially one line at a  time  When an event trigger instruction is decoded  however  the actual program sequence is  halted  The program sequence does not continue until the event trigger is  tripped   For example   the motion complete trigger can be used to separate two move sequences in a program  The  commands for the second move sequence will not be executed until the motion is complete on the  first motion sequence  In this way  the DMC 141X can make decisions based on its own status or  external events without intervention from a host computer     DMC 141X Event Triggers     Command       mman  Command sid  Halts program execution until the LC   motion is  complete     Halts program execution until position c
103. erator     is a Logical Or  These operators allow for bit wise operations on any valid DMC   141X numeric operand  including variables  array elements  numeric values  functions  keywords   and arithmetic expressions  The bit wise operators may also be used with strings  This is useful  for separating characters from an input string  When using the input command for string input  the  input variable will hold up to 6 characters  These characters are combined into a single value that  is represented as 32 bits of integer and 16 bits of fraction  Each ASCII character is represented as  one byte  8 bits   therefore the input variable can hold up to six characters  The first character of  the string will be placed in the top byte of the variable and the last character will be placed in the  lowest significant byte of the fraction  The characters can be individually separated by using bit   wise operations as illustrated in the following example                       Instruction Interpretation   TEST Begin main program  IN  ENTER  LEN S6  Input character string of up to 6 characters into variable    LEN     FLEN  FRAC LEN  Define variable    FLEN    as fractional part of variable    LEN     FLEN  10000 FLEN Shift FLEN by 32 bits  IE   convert fraction  FLEN  to integer   LEN1  FLEN amp  00FF  Mask top byte of FLEN and set this value to variable               LEN2  FLEN amp  FF00   100 Let variable     LEN2      top byte of FLEN  LEN3 LEN amp  000000FF Let variable     LEN3      bo
104. eries    single program line where the maximum number of instructions on a line is limited by 40  characters  A carriage return enters the final command on a program line     Using Labels in Programs    All DMC 141X programs must begin with a label and end with an End  EN  statement  Labels  start with the pound     sign followed by a maximum of seven characters  The first character must  be a letter  after that  numbers are permitted  Spaces are not permitted     The maximum number of defined labels is 126    Valid labels   BEGIN   SQUARE   X1   BEGINI  Invalid labels   1Square   123  Example Program   Instruction Interpretation   START Beginning of the Program  PR 10000 Specify relative distances  BG Begin Motion  AM Wait for motion complete  WT 2000 Wait 2 sec  JP  START Jump to label START  EN End of Program    The above program moves the motor 10000  After the motion is complete  the motor rests for 2  seconds  The cycle repeats indefinitely until the stop command is issued     Special Labels    The DMC 141X also has some special labels  which are used to define input interrupt subroutines   limit switch subroutines  error handling subroutines  and command error subroutines  The  following table lists the automatic subroutines supported by the controller  Sample programs for  these subroutines can be found in the section Automatic Subroutines for Monitoring Conditions      ININT Label for Input Interrupt subroutine   LIMSWI Label for Limit Switch subroutine     MCTIME La
105. es the Amplifier Enable Output  AEN  that can be used to switch the  amplifiers off in the event of a serious DMC 141X failure  The AEN output is normally high   During power up and if the microprocessor ceases to function properly  the AEN output will go  low  The error light for each axis will also turn on at this stage  A reset is required to restore the  DMC 141X to normal operation  Consult the factory for a Return Materials Authorization  RMA   Number if your DMC 141X is damaged     4 e Chapter 1 Overview DMC 1410 1411 1417 Series    Chapter 2 Getting Started    The DMC 141X Motion Controller    c3 JP1  Ei i  3      JP4    La       Do  JP3       Figure 2 1   Outline of the DMC 1410                                           J3                                                                                 J3     JP4 JP1      3 2     5  6 1  JP3 JP5                      Figure 2 2   Outline of the        1411    DMC 1410 1411 1417 Series Chapter 2 Getting Started e 5                B     tpe    Figure 2 3   Outline of the DMC 1417    DMC 141X Firmware ROM  Labeled with EEPROM for program parameter storage  firmware revision number  i e  DMC 141X  Rev 2 0a    2 Motorola 68331 microprocessor 40 Pin Ribbon connection for controller signal  break out  DMC 1411   37 Pin D connection for controller signal break   out  DMC 1410 1417   GL 1800 custom gate array JP1 Master Reset   la Address Dip Switches  DMC 1410         Jumpers for setting interrupt  IRQ  line    Error LED JP4 J
106. esn   t apply to the DMC 1417     Application program stopped       48 e Chapter 4 Communication DMC 1410 1411 1417 Series    User interrupt  Watchdog  Limit switch    Motion complete       Example   Interrupts    Send User Interrupt when at speed    Instruction Interpretation   1 Label   PR 1000 Position   SP 5000 Speed   BG Begin   AS At speed   UI Send interrupt  EN End    This program sends an interrupt when the axis has reached its slew speed  IV clears the interrupt  and re enables     Controller Response to DATA    Most DMC 141X instructions are represented by two characters followed by the appropriate  parameters  Each instruction must be terminated by a carriage return or semicolon     Instructions are sent in ASCII  and the DMC 141X decodes each ASCII character  one byte  one  at a time  It takes approximately  5 msec for the controller to decode each command     After the instruction is decoded  the DMC 141X returns a colon     if the instruction was valid or a  question mark     if the instruction was not valid or was not recognized     For instructions requiring data  such at Tell Position  TP   the DMC 141X will return the data  followed by a carriage return  line feed and       It is good practice to check for   after each command is sent to prevent errors  An echo function is  provided to enable associating the DMC 141X response with the data sent  The echo is enabled  by sending the command EO   to the controller     Galil Software Tools and Libraries    API 
107. ess into place     Secure board to stand offs with screws     Qu X di              Insert 40 pin ribbon to J3  Make sure pin 1 is oriented properly     10 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    7  Power up PC     Step 5  Establishing Communication between the DMC 141X and  the host PC    Using Galil Software for DOS  DMC 1410 and DMC 1411 only     To communicate with the DMC 141X  type DMCTERM at the prompt  You will need to provide  information about your controller such as controller type  DMC 1410  DMC 1411   address and  IRQ  Once you have established communication  the terminal display should show    colon          If  you do not receive a colon  press the carriage return     If you still do not received a colon  and are using the DMC 1410 or DMC 1411  the most likely  cause is an address conflict in your computer  If the default of address 1000 causes a conflict   Galil recommends the addresses of 816 and 824  since they are likely to avoid conflict  Please  refer to the section Changing the I O Address of the DMC 1410 and DMC 1411 to change the  address     Using Galil Software for Windows 3 x  95 and 98 First Edition  DMC   1410 and DMC 1411 only     In order for the Windows software to communicate with a Galil controller  the controller must be  registered in the Windows Registry  To register a controller  you must specify the model of the  controller  the communication parameters  and other information  The registry is accessed through  the Galil s
108. everal commands that allow  the DMC 141X to make its own decisions  These commands include conditional jumps  event  triggers and subroutines  For example  the command JP LOOP  n lt 10 causes a jump to the label   LOOP if the variable n is less than 10     For greater programming flexibility  the DMC 141X provides 126 user defined variables  arrays  and arithmetic functions  For example  the length in a cut to length operation can be specified as a  variable in a program and then be assigned by an operator     The following sections in this chapter discuss all aspects of creating applications programs  The  program memory size is 250 lines X 40 characters     Using the DMC 141X Editor to Enter Programs    The DMC 141X has an internal editor  which may be used to create and edit programs in the  controller   s memory  The internal editor is opened by the command ED  Note that the command  ED will not open the internal editor if issued from Galil   s Window based software     in this case  a  Windows based editor will be automatically opened  The Windows based editor provides much  more functionality and ease of use  therefore  the internal editor is most useful when using a  simple terminal with the controller and a Windows based editor is not available     In the Edit Mode  each program line is automatically numbered sequentially starting with 000  If  no parameter follows the ED command  the editor prompter will default to the last line of the last  program in memory  If des
109. for Inputting Numeric Data   A  IN  Enter Length   LENX  EN    In this example  the message    Enter Length    is displayed on the computer screen  The controller  waits for the operator to enter a value  The operator enters the numeric value that is assigned to  the variable  LENX     Cut to Length Example    In this example  a length of material is to be advanced a specified distance  When the motion is  complete  a cutting head is activated to cut the material  The length is variable  and the operator is  prompted to input it in inches  Motion starts with a start button that is connected to input 1     The load is coupled with a 2 pitch lead screw  A 2000 count rev encoder is on the motor  resulting  in a resolution of 4000 counts inch  The program below uses the variable LEN  to length  The IN  command is used to prompt the operator to enter the length  and the entered value is assigned to    the variable LEN   Instruction Interpretation   BEGIN LABEL  AC 800000 Acceleration    104 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    DC 800000 Deceleration    SP 5000 Speed   LEN 3 4 Initial length in inches    CUT Cut routine   All Wait for start signal   IN  Enter Length IN    LEN Prompt operator for length in inches  PR LEN  4000 Specify position in counts   BG Begin motion to move material  AM Wait for motion done   SB1 Set output to cut   WT100 CB1 Wait 100 msec  then turn off cutter  JP  CUT Repeat process   EN End program    Inputting String Variables   
110. gnal  is low  this indicates one of the following error conditions     1  Atleastone axis has a position error greater than the error limit  The error limit is set by  using the command ER     2  The reset line on the controller is held low or is being affected by noise   3  There is a failure on the controller and the processor is resetting itself     4  There is a failure with the output IC which drives the error signal     DMC 1410 1411 1417 Series Chapter 8 Error Handling e 115    Input Protection Lines    Abort   A low input stops commanded motion instantly without a controller deceleration  Any  motion program currently running will also be stopped  When 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  The Off On Error function is further discussed in this chapter     Forward Limit Switch   Low input inhibits motion in forward direction  If the motor is moving  in the forward direction when the limit switch is activated  the motion will decelerate and stop  In  addition  if the motor is moving in the forward direction  the controller will automatically jump to  the limit switch subroutine   LIMSWI  if such a routine has been written by the user   The CN  command can be used to change the polarity of the limit switches  To query the state of a Forward  Limit Switch  type MG_LFx  w
111. he motor  This  signal is labeled AMPEN on the ICM 1460 and should be connected to the enable  signal on the amplifier  Note that many amplifiers designate this signal as the  INHIBIT signal  Use the command  MO  to disable the motor amplifiers   check to  insure that the motor amplifiers have been disabled  often this is indicated by an  LED on the amplifier      This signal changes under the following conditions  the watchdog timer activates  the  motor off command  MO  is given  or the OE1 command  Enable Off On Error  is  given and the position error exceeds the error limit or an abort is issued  As shown  in Figure 3 1  AEN can be used to disable the amplifier for these conditions     The standard configuration of the AEN signal is TTL active high  In other words   the AEN signal will be high when the controller expects the amplifier to be enabled   The polarity and the amplitude can be changed if you are using the ICM 1460  interface board  To change the polarity from active high  5 volts   enable  zero volts    disable  to active low  zero volts   enable  5 volts   disable   replace the 7407 IC  with a 7406  Note that many amplifiers designate the enable input as    inhibit        To change the voltage level of the AEN signal  note the state of jumper at location  JP1 on the ICM 1460  When a jumper is placed across AEN and SV  the output  voltage is 0 5V  To change to 12 volts  pull the jumper and rotate it so that AEN is  connected to  12V  If you remove the jumper  t
112. he output signal is an open collector   allowing the user to connect an external supply with voltages up to 24V     DMC 1410 1411 1417 Series Chapter 2 Getting Started e 25    Step C  Connect the encoders  For stepper motor operation  an encoder is optional     For servo motor operation  if you have a preferred definition of the forward and  reverse directions  make sure that the encoder wiring is consistent with that  definition     The DMC 141X accepts single ended or differential encoder feedback with or  without an index pulse  If you are not using the AMP 1460 or the ICM 1460  you  will need to consult the appendix for the encoder pinouts for connection to the  motion controller  The AMP 1460 and the ICM 1460 can accept encoder feedback  from a 10 pin ribbon cable or individual signal leads  For a 10 pin ribbon cable  encoder  connect the cable to the protected header connector labeled JP2  For  individual wires  simply match the leads from the encoder you are using to the  encoder feedback inputs on the interconnect board  The signal leads are labeled  CHA  CHB  and INDEX  These labels represent channel A  channel B  and the  INDEX pulse  respectively  For differential encoders  the complement signals are  labeled CHA   CHB   and INDEX      Note  When using pulse and direction encoders  the pulse signal is connected to  CHA and the direction signal is connected to CHB  The controller must be  configured for pulse and direction with the command CE  See the command  summa
113. he polarity of the limit switches     Limit Switch Example   Instruction   A JP  A EN   LIMSWI    1        V2  LR  JP LF V1 0  JP LR V2 0  JP END  ALF  MG  FORWARD LIMIT   ST AM  PR 1000 BG AM  JP END   LR  MG  REVERSE LIMIT   ST AM  PR1000 BG AM   END  RE    Interpretation  Dummy Program  Limit Switch Utility  Check if forward limit  Check if reverse limit  Jump to  LF if forward  Jump to  RF if reverse  Jump to end    LF   Send message   Stop motion   Move in reverse   End    LR   Send message   Stop motion   Move forward   End    Return to main program    NOTE  An applications program must be executing for  LIMSWI to function     118 e Chapter 8 Error Handling    DMC 1410 1411 1417 Series    Chapter 9 Troubleshooting    Overview    The following discussion helps with getting the system to work     For your convenience  the potential problems have been divided into groups as follows     1  Installation    2  Communication    3  Stability and Compensation    4  Operation    The various symptoms along with the cause and the remedy are described in the following tables     Installation    SYMPTOM DIAGNOSIS CAUSE REMEDY    Motor runs away with no  connections from  controller to amplifier  input     Motor is enabled even  when MO command is  given    Unable to read the  auxiliary encoders     Unable to read main or  auxiliary encoder input     DMC 1410 1411 1417 Series    Adjusting offset causes the  motor to change speed     The SH command disables  the motor    No auxiliary e
114. here x is the specified axis     Reverse Limit Switch   Low input inhibits motion in reverse direction  If the motor is moving in  the reverse direction when the limit switch is activated  the motion will decelerate and stop  In  addition  if the motor is moving in the reverse direction  the controller will automatically jump to  the limit switch subroutine   LIMSWI  if such a routine has been written by the user   The CN  command can be used to change the polarity of the limit switches  To query the state of a Reverse  Limit Switch  type MG_LRx  where x is the specified axis     Software Protection    The DMC 141X provides a programmable error limit  The error limit can be set for any number  between 1 and 32767 using the ER n command  The default value for ER is 16384     Example   ER 200 Set error limit for 200    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 DMC 141X will generate several signals to warn the host system of the error  condition  These signals include     Signal or Function State if Error Occurs     POSERR Jumps to automatic excess position error subroutine  Error Light Turns on   OE Function Shuts motor off if OE1   AEN Output Line Goes low    The Jump on Condition statement is useful for branching on a given error within a program  The  position error can be monitored during execution using
115. his  movement is instantaneous and will cause the system to jerk  Larger applied voltages will cause  more severe motor jerk  The applied voltage will typically be sufficient for proper operation of  the BZ command  For systems with significant friction  this voltage may need to be increased and  for systems with very small motors  this value should be decreased     For example   BZ  2   CR      will drive the axis to zero  using a 2V signal  The controller will then leave the motor enabled   For systems that have external forces working against the motor  such as gravity  the BZ argument  must provide a torque 10x the external force  If the torque is not sufficient  the commutation zero  may not be accurate     If Hall Sensors are Available     The estimated value of the commutation phase is good to within 30   This estimate can be used to  drive the motor but a more accurate estimate is needed for efficient motor operation  There are 3  possible methods for commutation phase initialization     Method 1  Use the BZ command as described above     Method 2  Drive the motor close to commutation phase of zero and then use BZ command   This method decreases the amount of system jerk by moving the motor close to  zero commutation phase before executing the BZ command  The controller  makes an estimate for the number of encoder counts between the current position  and the position of zero commutation phase  This value is stored in the operand  _BZx  Using this operand the controlle
116. his reference is connected to the Home input line  The HM command initializes the  motor to the encoder index pulse in addition to the Home input  The configure command  CN  is  used to define the polarity of the home input     The Find Edge  FE  instruction is useful for initializing the motor to a home switch  The home  switch is connected to the Homing Input  When the Find Edge command and Begin is used  the  motor will accelerate up to the slew speed and slew until a transition is detected on the Homing  line  The motor will then decelerate to a stop  A high deceleration value must be input before the  find edge command is issued for the motor to decelerate rapidly after sensing the home switch   The Home  HM  command can be used to position the motor on the index pulse after the home  switch is detected  This allows for finer positioning on initialization  The HM command and BG  command causes the following sequence of events to occur     Stage 1     Upon begin  the motor accelerates to the slew speed specified by the JG or SP commands   The direction of its motion is determined by the state of the homing input  If _HMX reads 1    76 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    initially  the motor will go in the reverse direction first  direction of decreasing encoder  counts   If HMX reads 0 initially  the motor will go in the forward direction first  CN is the  command used to define the polarity of the home input  With CN  1  the default value  a  norm
117. his window  the user can type in the following program     Instruction Interpretation   A Define label   PR 700 Distance   SP 2000 Speed   BG Start motion   EN End program    This program can be downloaded to the controller by selecting the File menu option download   Once this is done  close the editor     36 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    Now the program may be executed with the command    XQ        Start the program running    Example 10   Motion Programs with Loops    Motion programs may include conditional jumps as shown below     Instruction  FA           V1 1000   Loop   PA VI   BG   AM   WT 500   TP  VI V1 1000  JP  Loop V1 lt 10001  EN    Interpretation   Label   Define current position as zero  Set initial value of V1  Label for loop   Move motor V1 counts  Start motion   After motion is complete  Wait 500 ms   Tell position   Increase the value of V1  Repeat if V1 lt 10001   End    After the above program is entered  quit the Editor Mode   lt ctrl gt Q  To start the motion     command   XQ A    Execute Program  A    Example 11  Motion Programs with Trippoints    The motion programs may include trippoints as shown below     Instruction   B   DP   PR 30000   SP 5000   BG   AD 4000   TP   EN    Interpretation   Label   Define initial position  Set target   Set speed   Start motion   Wait until X moved 4000  Tell position   End program    To start the program  command     XQ  B    Execute Program  B    Example 12   Control Variables    Objecti
118. id Variable Names  POSX  POSI  SPEEDZ  Invalid Variable Names  REALLONGNAME   Cannot have more than 8 characters  123   Cannot begin variable name with number    SPEED 7    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     l followed by two bytes of fraction      2 147 483 647 9999     Numeric values can be assigned to programmable variables using the equal sign     Any valid DMC 141X function can be used to assign a value to a variable  For example   V1  ABS V2  or V2  IN 1   Arithmetic operations are also permitted     To assign a string value  the string must be in quotations  String variables can contain up to six  characters that must be in quotation     Example   POSX  TP Assigns returned value from TP command to variable POSX   SPEED 5 75 Assigns value 5 75 to variable SPEED    INPUT  IN 2  Assigns logical value of input 2 to variable INPUT  V2 V1 V3 V4 Assigns the value of V1 plus V3 times V4 to the variable V2   VAR  CAT  Assign the string  CAT  to VAR    Assigning Variable Values to Controller Parameters  Variable values may be assigned to controller parameters such as PR or SP   PR V1 Assign V1 to PR command  SP VS 2000 Assign VS 2000 to SP command    Displaying the Value of Variables at the Terminal    Variables may be sent to the screen using the format  variable   For ex
119. ide the following types of motor control     1  Standard servo motors with     10 volt command signals  2  Step motors with step and direction signals  3  Other actuators such as hydraulics   For more information  contact Galil     The user can configure each axis for any combination of motor types  providing maximum  flexibility     Standard Servo Motors with     10 Volt Command Signal    The DMC 141X achieves superior precision through the use of a 16 bit motor command output  DAC anda sophisticated PID filter that features velocity and acceleration feedforward  and  integration and torque limits     The controller is configured at the factory for standard servo motor operation  In this  configuration  the controller provides an analog signal      10 volt  to connect to a servo amplifier   This connection is described in Chapter 2     Stepper Motor with Step and Direction Signals    The DMC 141X 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  Chapter 2  describes the proper connection and procedure for using stepper motors     DMC 1400 Functional Elements    The DMC 141X circuitry can be divided into the following functional groups as shown in Figure  1 1 and discussed below     To Host       256 Byte Communication  FIFO                      ELLE QN   Amplifier  68
120. in recording  4 msec interval  Continue until done recording  Compute DX   Dimension Array for DX  Initialize counter   Label    Compute the difference  Store difference in array  Increment index   Repeat until done   Begin Playback   Specify contour mode  Specify time increment  Initialize array counter  Loop counter    Specify contour data I I 1 Increment array counter  JP  B I lt 500 Loop until done    End contour mode    End program    For additional information about automatic array capture  see Chapter 7  Arrays     70 e Chapter 6 Programming Motion    DMC 1410 1411 1417 Series    Stepper Motor Operation    When configured for stepper motor operation  several commands are interpreted differently than  from servo mode  The following describes operation with stepper motors     Specifying Stepper Motor Operation    In order to command stepper motor operation  the appropriate stepper mode jumpers must be  installed  See chapter 2 for this installation     Stepper motor operation is specified by the command MT  The argument for MT is as follows   2 specifies a stepper motor with active low step output pulses    2 specifies a stepper motor with active high step output pulses   2 5 specifies a stepper motor with active low step output pulses and reversed direction     2 5 specifies a stepper motor with active high step output pulse and reversed direction    Stepper Motor Smoothing    The command  KS  provides stepper motor smoothing  The effect of the smoothing can be  thought
121. information for your controller  Select OK and close  the registry window  You will now be able to communicate with the DMC 141X  Once the entry  has been selected  click on the OK button  If the software has successfully established  communications with the controller  the registry entry will be displayed at the top of the screen     If you are not properly communicating with the controller  the program will pause for 3 15   seconds  The top of the screen will display the message    Status  not connected with Galil motion  controller  and the following error will appear     STOP   Unable to establish communication with  the Galil controller  A time out occurred while waiting for a response from the Galil controller    If this message appears  you must click OK  In this case  there is most likely an address conflict     DMC 1410 1411 1417 Series Chapter 2 Getting Started e 11    If you receive this error and are using the DMC 1410 or DMC 1411  the most likely cause is an  address conflict in your computer  If the default of address 1000 causes a conflict  Galil  recommends the addresses of 816 and 824  since they are likely to avoid conflict  Please refer to  the section Changing the I O Address of the DMC 1410 and DMC 1411 to change the address     Once you establish communications  click on the menu for terminal and you will receive a colon  prompt  Communicating with the controller is described in later sections     Using Galil Software for Windows 98 SE  ME  XP  and 2000 
122. information should be changed as necessary to reflect any changes to the controller    s address  jumpers  Hardware interrupts may also be set in the registry  although for initial communication  these are not necessary  The default interrupt selection is    None        DMC 1410 1411 1417 Series Chapter 2 Getting Started e 23    ISA Bus Parameters          10 Port Address             Interrupt Line   None   Data Record Access   e     x    DME Game   M   Data Record Keresh Hate  dg        lt  Back Cancel         Once the appropriate Registry information has been entered  Select      and close the registry  window  After rebooting the computer  communication to the DMC 1410 or 1411 card can be  established  Reopen one of the communication programs and select the controller from the  registry list     If there are communication problems  the program will pause for 3 15 seconds  The top of the  dialog box will display the message    Status  not connected with Galil motion controller    and the  following error will appear     STOP   Unable to establish communication with the Galil controller   A time out occurred while waiting for a response from the Galil controller        If this error occurs in Windows NT 4  the most likely cause is an address conflict in the computer   If the default of address 1000 causes a conflict  Galil recommends the addresses of 816 and 824   since they are likely to avoid conflict  Please refer to Step 3  Configuring Jumpers on the DMC   141x to change
123. input 6 is low    Example   Start Motion on Switch    Motor X must turn at 4000 counts sec when the user flips a panel switch to on  When panel switch  is turned to off position  motor X must stop turning     Solution  Connect panel switch to input 1 of DMC 141X  High on input 1 means switch is in on    position   Instruction Function   S JG 4000 Set speed  AI 1 BG Begin after input 1 goes high  AI  1 ST Stop after input 1 goes low  AM JP  5 After motion  repeat  EN    Input Interrupt Function    The DMC 141X provides an input interrupt function which causes the program to automatically  execute the instructions following the  ININT label  This function is enabled using the II m n o  command  The m specifies the beginning input and n specifies the final input in the range  The  parameter o is an integer that represents a binary range of inputs  For example if inputs 1 and 3   want to be used for the input interrupt function then the corresponding value of o is 2242  or 5     A low input on any of the specified inputs will cause automatic execution of the  ININT  subroutine  The Return from Interrupt  RI  command is used to return from this subroutine to the  place in the program where the interrupt had occurred  If it is desired to return to somewhere else  in the program after the execution of the  ININT subroutine  the Zero Stack  ZS  command is  used followed by unconditional jump statements     IMPORTANT  Use the RI instruction  not EN  to return from the  ININT subroutin
124. ion Description  MG Message command    un    Surrounds text string     Fn m  Formats numeric values in decimal n digits to the right of the decimal point and m digits to  the left     n m  Formats numeric values in hexadecimal    An  Sends ASCII character specified by integer n    N  Suppresses carriage return line feed    Sn  Sends the first n characters of a string variable  where n is 1 through 6     Displaying Variables and Arrays    Variables may also be sent to the screen using the format  variable  or array x    For example   V     returns the value of the variable V1     106 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    Example   Printing a Variable and an array element    Instruction Interpretation   DISPLAY Label   PR 1000 Position Command  BG Begin   AM After Motion  V1 _TP Assign Variable V1  Vl  Print V1   EN End    Interrogation Commands    The DMC 141x has a set of commands that directly interrogate the controller  When these  commands are entered  the requested data is returned in decimal format on the next line followed  by a carriage return and line feed  The format of the returned data can be changed using the  Position Format  PF   and Leading Zeros  LZ  command  For a complete description of  interrogation commands  see Chapter 5     Using the PF Command to Format Response from Interrogation    Commands  The command  PF  can change format of the values returned by theses interrogation commands   BL  LE   DE  PA   DP  PR   EM   TN   FL  
125. ion in the logic state on the Home Input  the motor will  decelerate to a stop at the rate specified by the command  DC  After the motor has decelerated to  a stop  it switches direction and approaches the transition point at the speed of 256 counts sec   When the logic state changes again  the motor moves forward  in the direction of increasing  encoder count  at the same speed  until the controller senses the index pulse  After detection  it  decelerates to a stop and defines this position as 0  The logic state of the Home input can be  interrogated with the command MG HM  This command returns a O or 1 if the logic state is low  or high  respectively  The state of the Home input can also be interrogated indirectly with the TS  command     For examples and further information about Homing  see command HM  FI  FE of the Command  Reference and the section entitled    Homing    in the Programming Motion Section of this manual     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     NOTE  The effect of an Abort input is dependent on the state of the off on error function for  each axis  If the Off On Error function
126. ired  the user can edit a specific line number or label by specifying a  line number or label following ED      ED Puts Editor at end of last program   ED 5 Puts Editor at line 5   ED BEGIN Puts Editor at label  BEGIN    DMC 1410 1411 1417 Series Chapter 7 Application Programming e 81    Line numbers appear as 000  001  002 and so on  Program commands are entered following the  line numbers  Multiple commands may be given on a single line as long as the total number of  characters doesn t exceed 40 characters per line     While in the Edit Mode  the programmer has access to special instructions for saving  inserting  and deleting program lines  These special instructions are listed below     Edit Mode Commands   lt RETURN gt     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  lt RETURN gt  will cause the editor  to advance a series of lines  Note  changes on a program line will not be saved unless a  lt return gt   is given      lt ctrl gt P  The  lt ctrl gt P command moves the editor to the previous line    lt ctrl gt I    The  lt ctrl gt I command inserts a line above the current line  For example  if the editor is at line  number 2 and  lt ctrl gt I is applied  a new line will be inserted between lines 1 and 2  This new line  will be labeled line 2  The old line number 2 is renumbered as line 3      lt ctrl gt D    The  lt ctrl gt D command deletes the lin
127. is prepared to  execute a new motion command  However when operating in stepper mode  the controller may  still be generating step pulses when the motion profiler is complete  This is caused by the stepper  motor smoothing filter  KS  To understand this  consider the steps the controller executes to  generate step pulses     First  the controller generates a motion profile in accordance with the motion commands     Second  the profiler generates pulses as prescribed by the motion profile  The pulses that are  generated by the motion profiler can be monitored by the command  RP  Reference Position   RP  gives the absolute value of the position as determined by the motion profiler  The command  DP   can be used to set the value of the reference position  For example  DP 0  defines the reference  position of the X axis to be zero     Third  the output of the motion profiler is filtered by the stepper smoothing filter  This filter adds  a delay in the output of the stepper motor pulses  The amount of delay depends on the parameter  which is specified by the command  KS  As mentioned earlier  there will always be some amount    DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 71    of stepper motor smoothing  The default value for KS is 2 which corresponds to a time constant  of 6 sample periods     Fourth  the output of the stepper smoothing filter is buffered and is available for input to the  stepper motor driver  The pulses which are generated by the smoothing filter c
128. least significant  rightmost  digits are  not represented  A switch in the ON position means the value of the digit represented by that  switch is 0  if the switch is in the OFF position  the digit is 1     The same process is used for the DMC 1411  except this card uses jumpers for setting the address   These jumpers  located at JP5  are represented by a 1 with a jumper on and a 0 with the jumper  removed     Because the least significant digit represented by the Address DIP Switches or jumpers is the 2    digit  A2   only addresses divisible by 4 are configurable on the controller  The controller can be  configured for any 4th address between 512 and 1024  See Appendix A for a complete list of DIP  switch or jumper settings corresponding to all configurable addresses between 512 and 1024  This  is in the table entitled    Dip Switch and Jumper Address Settings     To configure an address you  must do the following     Step 1  Select an address  N  between 512 and 1024  divisible by 4  Example  516   Step 2  Subtract 512 from N  Example  516   512   4     Step 3  Convert the resultant number into a 9 digit binary number being sure to represent all  leading zeros  Using our example  Converting 4 to binary results in 100  As a 9   digit binary number  this is represented by 000000100     Step 4  Truncate the 2 least significant  rightmost  digits  Example  0000001     Step 5  Set the Address DIP Switches as described above  Note that the dip switch is  marked with an    On    
129. m  sequence instead of returning to the location where the limit occurred  To do this  give a ZS  command at the end of the  LIMSWI routine     Automatic Subroutines for Monitoring Conditions    Often it is desirable to monitor certain conditions continuously without tying up the host or DMC   141X program sequences  The DMC 141X can monitor several important conditions in the  background  These conditions include checking for the occurrence of a limit switch  a defined  input  position error  or a command error  Automatic monitoring is enabled by inserting a special   predefined label in the application program  The pre defined labels are      LIMSWI Limit switch on any axis goes low    ININT Input specified by II goes low    POSERR Position error exceeds limit specified by ER   MCTIME Motion Complete timeout occurred   CMDERR Bad command given    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     NOTE  An application program must be running for automatic monitoring to function     Example   Limit Switch    This program prints a message upon the occurrence of a limit switch  Note  for the HLIMSWI  routine to function  the DMC 141X
130. mand form is CE  x where x equals the sum of n and m below     Normal quadrature Normal quadrature    Pulse  amp  direction Pulse  amp  direction  Reverse quadrature Reversed quadrature  Reverse pulse  amp  direction Reversed pulse  amp  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 is    CE 6    Additional Commands for the Auxiliary Encoder   The DE command can be used to define the position of the auxiliary encoders  For example   DEO   sets the initial value    The positions of the auxiliary encoders may be interrogated with DE   For example   DE    returns the value of the auxiliary encoder    The auxiliary encoder position may be assigned to variables with the instructions   V1  DE    The current position of the auxiliary encoder may also be interrogated with the TD command   Backlash Compensation    The dual loop methods can be used for backlash compensation  This can be done by two  approaches     DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 73    1  Continuous dual loop  2  Sampled dual loop    To illustrate the problem  consider a situation in which the coupling between the motor and the  load has a backlash  To compensate for the backlash  position encoders are mounted on both the  motor and the load     The continuous dual loop combines the two feedback signals to achieve stability  This method  requires careful system tuning  an
131. marking  In this case  ON 0 and OFF 1  The same process  can be used for the DMC 1411 address jumpers  with a jumper on equal to 1 and  jumper off equal to a 0  Example  See following illustration        Master Reset Jumpers    The jumper  JP1  is the Master Reset jumper  When the MRST jumper is connected  the controller  will perform a master reset upon PC power up  This jumper is located at JP1 for the DMC 1410   1411 and 1417  Whenever the controller has a master reset  all motion control parameters stored  in EEPROM will be ERASED     DMC 1410 1411 1417 Series Chapter 2 Getting Started e 9    Stepper Motor Jumpers    If the DMC 1410 1417 will be driving a stepper motor  the stepper mode  SM  jumper must be  connected  This jumper is labeled JP4  Do not jumper off OPT for the DMC 1410 1417  The jumper  location marked OPT or MO is for use by Galil technicians only     If you are using a DMC 1411 for a stepper motor  install jumper on OPT only and leave SMX open    Note  On hardware Rev C and earlier of the DMC 1411  the silkscreen for JP4 is labeled  incorrectly  The jumper that is labeled OPT is actually the stepper mode jumper  and the  jumper labeled SM is for use by Galil technicians only    Setting the Optional Interrupt Line on the DMC 1410 and DMC 1411    IRQ jumpers are not necessary for communication with the Galil controllers  Rather  they are an  option that may be used for notifying the PC of events that occur on the motion controller  The  selectable IRQ jumpe
132. me  Combining commands into groups for later execution is referred to as Applications  Programming and is discussed in the following chapter     This section describes the DMC 141X instruction set and syntax  A complete listing of all DMC   141X instructions is included in the command reference section     Command Syntax    DMC 141X instructions are represented by two ASCII upper case characters followed by  applicable arguments  A space may be inserted between the instruction and arguments  A  semicolon or  lt enter gt  is used to terminate the instruction for processing by the DMC 141X  command interpreter  Note  If you are using a Galil terminal program  commands will not be  processed until an  lt enter gt  command is given  This allows the user to separate many commands  on a single line and not begin execution until the user gives the  lt enter gt  command     IMPORTANT  All DMC 141X commands are sent in upper case     For example  the command  PR 4000  lt enter gt  Position relative    PR is the two character instruction for position relative  4000 is the argument that represents the  required position value in counts  The  lt enter gt  terminates the instruction  The space between PR  and 4000 is optional     To view the current values for each command  specify the command followed by a      Example Syntax for Specifying Data  PR 1000 Specify as 1000    PR  Interrogate value in PR register    DMC 1410 1411 1417 Series Chapter 5 Programming Basics e 51    Controller Re
133. mit    The magnitude of the motor command may be limited independently by the instruction TL  The  following program illustrates that effect     Instruction Interpretation   TL 0 2 Set output limit to 0 2 volts  JG 10000 Set speed   BG Start motion    The motor will probably not move as the output signal is not sufficient to overcome the friction  If  the motion starts  it can be stopped easily by a touch of a finger     Increase the torque level gradually by instructions such as  TL 1 0 Increase torque limit to 1 volt     TL 9 98 Increase torque limit to maximum  9 98 Volts     The maximum level of 10 volts provides the full output torque     Example 7   Interrogation    The values of the parameters may be interrogated using a    For example  the instruction  KP  Return gain    The same procedure applies to other parameters such as KI  KD  FA  etc     Example 8   Operation in the Buffer Mode    The instructions may be buffered before execution as shown below     Instruction Interpretation   PR 600000 Distance   SP 10000 Speed   WT 10000 Wait 10000 milliseconds before reading the next instruction  BG Start the motion    Example 9   Motion Programs  Motion programs may be edited and stored in the memory  They may be executed at a later time     The instruction  ED Edit mode    moves the operation to the editor mode where the program may be written and edited  For  example  in response to the first ED command  the Galil Windows software will open a simple  editor window  From t
134. mmand is given  BG   the motor accelerates up to speed and continues to jog at  that speed until a new speed or stop  ST  command is issued  If the jog speed is changed during  motion  the controller will make an accelerated  or decelerated  change to the new speed     An instant change to the motor position can be made with the use of the IP command  Upon  receiving this command  the controller commands the motor to a position which is equal to the  specified increment plus the current position  This command is useful when trying to synchronize  the position of two motors while they are moving     Note that the controller operates as a closed loop position controller while in the jog mode  The  DMC 141X converts the velocity profile into a position trajectory where a new position target is  generated every sample period  This method of control results in precise speed regulation with  phase lock accuracy     Command Summary   Jogging    Time constant for independent motion smoothing  Increments position instantly    Operand Summary   Jogging    Return acceleration rate  Return deceleration rate          DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 61    returns the actual velocity of the axis  averaged over  25 sec     Example   Jog in X only  Jog motor at 50000 count s    A  AC 20000 Specify acceleration as 20000 counts sec    DC 20000 Specify deceleration as 20000 counts sec     JG 50000 Specify speed and direction as 50000 counts sec  BG Begin motion  EN    El
135. ncoder  inputs are working    The encoder does not work  when swapped with  another encoder input     1  Amplifier has an  internal offset     2  Damaged amplifier     1  The amplifier  requires the  LAEN  option on the  Interconnect Module    1  Auxiliary Encoder  Cable is not connected    1  Wrong encoder  connections     2  Encoder is damaged    3  Encoder    configuration incorrect     Adjust amplifier offset  Amplifier  offset may also be compensated by  use of the offset configuration on  the controller  see the OF  command      Replace amplifier     Contact Galil    Connect Auxiliary Encoder cable    Check encoder wiring  For single  ended encoders  CHA and CHB  only  do not make any connections  to the CHA  and CHB  inputs     Replace encoder    Check CE command       Chapter 9 Troubleshooting e 119    Unable to read main or The encoder works 1  Wrong encoder Check encoder wiring  For single  auxiliary encoder input  correctly when swapped connections  ended encoders  CHA and CHB  with another encoder input  only  do not make any connections  2  Encoder to the CHA  and CHB  inputs     configuration incorrect    Check CE command    3  Encoder input or Contact Galil  controller is damaged    Encoder Position Drifts Swapping cables fixes the   1  Poor Connections   Review all terminal connections  problem intermittent cable and connector contacts     Encoder Position Drifts Significant noise can be 1  Noise Shield encoder cables  seen on CHA and   or CHB Avoid placing po
136. nd DAC on the controller and is brought  out on the ICM 1460 at pin 38  ACMD2      It is not necessary to be concerned with cross wiring the 1    and 2  signals  If this  wiring is incorrect  the setup procedure will alert the user  Step D      30 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    Step C  Specify the Size of the Magnetic Cycle     Use the command  BM  to specify the size of the brushless motors magnetic cycle in  encoder counts  For example  if you are using a linear motor where the magnetic  cycle length is 62 mm  and the encoder resolution is 1 micron  the cycle equals  62 000 counts  This can be commanded with the command     BM 62000  lt CR gt     On the other hand  if you are using a rotary motor with 4000 counts per revolution  and 3 magnetic cycles per revolution  three pole pairs  the command is    BM 1333 333  lt CR gt   Step D  Test the Polarity of the DACs and Hall Sensor Configuration     Use the brushless motor setup command  BS  to test the polarity of the output DACs   This command applies a certain voltage  V  to each phase for some time T  and  checks to see if the motion is in the correct direction     The user must specify the value for V and T  For example  the command  BS 2 700  lt CR gt     will test the brushless axis with a voltage of 2 volts  applying it for 700 millisecond  for each phase  In response  this test indicates whether the DAC wiring is correct  and will indicate an approximate value of BM  If the wiring is correct  
137. necessary     Sampled Dual Loop   Example    In this example  we consider a linear slide that is run by a rotary motor via a lead screw  Since the  lead screw has a backlash  it is necessary to use a linear encoder to monitor the position of the  slide  For stability reasons  it is best to use a rotary encoder on the motor     Connect the rotary encoder to the main encoders input and connect the linear encoder to the  auxiliary encoder input  Let the required motion distance be one inch  and assume that this  corresponds to 40 000 counts of the rotary encoder and 10 000 counts of the linear encoder     The design approach is to drive the motor a distance  which corresponds to 40 000 rotary counts   Once the motion is complete  the controller monitors the position of the linear encoder and  performs position corrections     This is done by the following program     Instruction Interpretation   DUALOOP Label   CE0 Configure encoder  DEO Set initial value  PR 40000 Main move    74 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    BG Start motion     Correct Correction loop   AM Wait for motion completion  V1 10000 _DE Find linear encoder error  V2  _TE 4 V1 Compensate for motor error  JP END  ABS V2  lt 2 Exit if error is small   PR V2 4 Correction move   BG Start correction   JP Correct Repeat    END   EN    Motion Smoothing    The DMC 141X controller allows the smoothing of the velocity profile to reduce the mechanical  vibration of the system     Trapezoidal velocit
138. nventional amplifier that accepts a    10  Volt analog signal  this pin is not used and should be left open  The switching  frequency is 16 7 kHz      The PWM output is available in two formats  Inverter and Sign Magnitude  In  the Inverter mode  the PWM signal is  2  duty cycle for full negative voltage   50  for 0 Voltage and 99 8  for full positive voltage  In the Sign Magnitude  Mode  Jumper SM   the PWM signal is 0  for O Voltage  99 6  for full  voltage and the sign of the Motor Command is available at the sign output     For step motors  The STEP OUT pin produces a series of pulses for input to a  step motor driver  The pulses may either be low or high  The pulse width is  50   Upon Reset  the output will be low if the SM jumper is on  If the SM  jumper is not on  the output will be Tri state     Used with PWM signal to give the sign of the motor command for servo  amplifiers or direction for step motors      The signal goes low when the position error on any axis exceeds the value  specified by the error limit command  ER     These 3 TTL outputs are uncommitted and may be designated by the user to  toggle relays and trigger external events  The output lines are toggled by Set  Bit  SB  and Clear Bit  CB  instructions  The OP instruction is used to define  the state of all the bits of the Output port                 INPUTS    Main Encoder Index         Main Encoder  A   B          Aux Encoder  A   B    A   B      Abort input    Reset input       Main Encoder  A   B  Po
139. oftware  such as WSDK and DTERM  DTERM is installed with DMCWIN and  installed as the icon    Galil Terminal    From WSDK  the registry is accessed under the FILE  menu  From the DTERM program  the registry is accessed from the REGISTRY menu     The registry window is equipped with buttons to Add  Change  or Delete a controller  Pressing  any of these buttons will bring up the Set Registry Information window     Use the Add button to add a new entry to the Registry  You will need to supply the Galil  Controller type  The controller model number must be entered and if you are changing an existing  controller  this field will already have an entry  Pressing the down arrow to the right of this field  will reveal a menu of valid controller types  Choose the corresponding controller  DMC 1410 or  DMC 1411      The registry information for the DMC 1410 and DMC 1411 will show a default address of 1000   This information should be changed as necessary to reflect any changes to the controllers address  jumpers  Hardware interrupts may also be set in the registry  although for initial communication  these are not necessary  The default is no interrupt  Driver information is also listed  in which  Galil recommends using the standard Galil Drivers     The registry entry also displays timeout and delay information  These are advanced parameters  that should only be modified by advanced users  see software documentation for more  information      Once you have set the appropriate Registry 
140. oller accepts feedback from a quadrature linear or rotary encoder with input frequencies  up to 8 million quadrature counts per second  An additional encoder input is available for gearing  or cam applications  hand wheel inputs  or dual loop  Modes of motion include jogging  point to   point positioning  electronic cam  electronic gearing and contouring  Several motion parameters  can be specified including acceleration and deceleration rates and slew speed  The DMC 141X  also provides motion smoothing to eliminate jerk     For synchronizing motion with external events  the DMC 141X includes seven digital inputs and  three programmable outputs  Event triggers can automatically check for elapsed time  distance  and motion complete     The DMC 141X is easy to program  Instructions are represented by two letter commands such as  BG for Begin and SP for Speed  Conditional Instructions  Jump Statements  and arithmetic  functions are included for writing self contained applications programs  An internal editor allows  programs to be quickly entered and edited  and support software such as the WSDK allows quick  system set up and tuning     To prevent system damage during machine operation  the DMC 141X provides many error  handling features  These include software and hardware limits  automatic shut off on excessive  error  abort input  and user definable error and limit routines     DMC 1410 1411 1417 Series Chapter 1 Overview e 1    Overview of Motor Types  The DMC 141X can prov
141. om equation  P N 3 6 Note 3 6   0 18 20    DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 65    S    SIN  P    100 Define sine position    X  N x10 S Define slave position  ET  N   X Define table  N N 1   JP  LOOP  N lt  100 Repeat the process  EN    Now suppose that the slave axis is engaged with a start signal  input 1  but that both the  engagement and disengagement points must be done at the center of the cycle  Master Aux   Encoder   1000 and X   500  This implies that X must be driven to that point to avoid a jump     This is done with the program     Instruction Interpretation   RUN Label   EB1 Enable cam   PA500 starting position  SP5000 speed   BGX Move motor   AMX After moved   AII Wait for start signal  EG 1000 Engage slave   AI  1 Wait for stop signal  EQ 1000 Disengage slave  EN End    Contour Mode    The DMC 141X also provides a contouring mode  This mode allows any arbitrary position curve  for the axis to be prescribed which is ideal for following computer generated paths or user defined  profiles     Specifying Contour Segments    The Contour Mode  CM  command specifies the contour mode  The contour is described by  position increments  CD n over a time interval  DT n  The parameter  n  specifies the time    interval  The time interval is defined as 2  samples  where n is a number between 1 and 8  the  default sample period is 1 ms  but this can be adjusted with the TM command   The controller  performs linear interpolation between the specified inc
142. ommand has  reached the specified relative distance from the start of    the move     ARn Halts program execution until after specified distance  from the last AR or AD command has elapsed    APn Halts program execution until after absolute position  occurs     88 e Chapter 7 Application Programming DMC 1410 1411 1417 Series       Halt program execution until after forward motion  reached absolute position  If position is already past  the point  then MF will trip immediately  Will  function on geared axis or aux  inputs     ene  MC n  n  Sn    reached absolute position  If position is already past  the point  then MR will trip immediately  Will  function on geared axis or aux  inputs     Halt program execution until after the motion profile  has been completed and the encoder has entered or  passed the specified position  TW sets timeout to  declare an error if not in position  If timeout occurs   then the trippoint will clear and the stop code will be  set to 99  An application program will jump to label   MCTIME    AI     Halts program execution until after specified input is  at specified logic level  n specifies input line   Positive is high logic level  negative is low level  n 1  through 7    A Halts program execution until specified axis has  reached its slew speed    AT       Halts program execution until n msec from reference  time  AT 0 sets reference  AT n waits n msec from    reference  AT  n waits n msec from reference and sets  new reference after elapsed time 
143. on  Advanced Communication Techniques  Controller Response to Data  and Bus Interrupts     Communication with Controller    Communication Registers    CLEAR BUFFER for clearing write FIFO N 1 Write only  buffer    The DMC 141X provides four registers for communication  The READ register and WRITE  register occupy address N in the controller I O space  The CONTROL register and the CLEAR  BUFFER register occupy address N 1 in the I O space  The READ register is used for receiving  data from the DMC 141X  The WRITE register is used to send data to the DMC 141X  The  STATUS and CLEAR BUFFER registers are used for controlling communication  interrupts and  clearing the FIFO buffers        Simplified Communication Procedure for DMC 1410 1411    The simplest approach for communicating with the DMC 141X is to check bits O and 1 of the  STATUS register at address N 1  Bit 1 is for WRITE STATUS and bit 0 is for READ STATUS     DMC 1410 1411 1417 Series Chapter 4 Communication e 45    Any high level computer language such as C  Basic  Pascal or Assembly may be used to  communicate with the DMC 141X as long as the READ WRITE procedure is followed as  described below       0   READ No data to be read  Must not read     BUFFER  STATUS    BUFFER  STATUS    Excessive position error   No error     e If read buffer gets full  controller holds execution of communication        The DMC 1410 and DMC 1411 controllers are compatible in all the Microsoft operating  systems except Windows CE  They ar
144. on Programming DMC 1410 1411 1417 Series     VF2 2 Change format     Vl  Return V1   10 00 New format   VF 2 2 Specify hex format   Vl  Return V1    0A 00 Hex value    VFI Change format   VI  Return V1   9 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         symbol  F specifies  decimal and   specifies hexadecimal  n is the number of digits to the left of the decimal  and m is  the number of digits to the right of the decimal  For example     Examples    V1 10 Assign VI   Vl  Return V1  0000000010 0000 Default Format   V1  F4 2  Specify local format  0010 00 New format   VI   4 2  Specify hex format   000A 00 Hex value   VI  ALPHA  Assign string  ALPHA  to V1   V1  S4  Specify string format first 4 characters  ALPH    The local format is also used with the MG  command     Converting to User Units    Variables and arithmetic operations make it easy to input data in desired user units such as inches  or RPM     The DMC 141X position parameters such as PR and PA have units of quadrature counts  Speed  parameters such as SP and JG have units of counts sec  Acceleration parameters such as AC and  DC have units of counts sec   The controller interprets time in milliseconds    All input parameters must be converted into these units  For ex
145. onnections is needed  and the internal 5V will be used for powering the  input output     Option for separate input output commons is also available  This will require the use of both pin 1  and pin 2  When selecting this option  both  12V and    12V become inaccessible     Opto isolated Inputs  ICM 1460 TO CONTROLLER  CONNECTIONS  vec  OPTO COMMON  RP2 RP4  2 2   RP3   RP1   4 7K OHMS    IN x   To controller     IN x        The signal  IN x   is one of the isolated digital inputs  where x stands for the digital input  terminal     The OPTO COMMON signal is available on TERMINAL 13 labeled CMP ICOM  The OPTO  COMMON point should be connected to an isolated power supply in order to obtain isolation  from the controller  By connecting the OPTO COMMON to the   side of the power supply  the  inputs will be activated by sinking current  By connecting the OPTO COMMON to the GND side  of the power supply  the inputs will be activated by sourcing current     148 e Appendices DMC 1410 1411 1417 Series    The opto isolation circuit requires Ima drive current with approximately 400 usec response time   The voltage should not exceed 24V without placing additional resistance to limit the current to 11  ma     Opto isolated Outputs    CONTROLLER ICM 1460  CONNECTIONS  VCC  RPS   2 2K OPTO COMMON  wane        OUTPUT our  x     The signal    OUT x   is one of the isolated digital outputs where x stands for the digital output  terminal     The OPTO COMMON needs to be connected to an isolated 
146. ons  The order of execution is from left to    right    Examples   VI  ABS V7  The variable  V1  is equal to the absolute value of variable V7   V2 5  SIN POS  The variable  V2  is equal to five times the sine of the variable  POS   V3  IN 1  The variable  V3  is equal to the digital value of input 1   V4  ANJ 5  The variable  V4  is equal to the digital value of analog input 5    e  Variables    For applications that require a parameter that is a variable  the DMC 141X provides 126 variables   These variables can be numbers or strings  A program can be written in which certain parameters   such as position or speed  are defined as variables  The variables can later be assigned by the  operator or determined by the program calculations  For example  a cut to length application may  require that a cut length be variable     Example   PR POSX Assigns variable POSX to PR command  JG RPMY 70 Assigns variable RPMY multiplied by 70 to JG command     Programmable Variables    The DMC 141X allows the user to create up to 126 variables  Each variable is defined by a name  that can be up to eight characters  The name must start with an alphabetic character  however   numbers are permitted in the rest of the name  Spaces are not permitted  Variable names should    98 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    not be the same as DMC 141X instructions  For example  PR is not a good choice for a variable  name     Examples of valid and invalid variable names are   Val
147. ontains the last line of program execution  Useful to determine where program stopped   _DL contains the number of available labels  126 max       UL contains the number of available variables  126 max     _DA contains the number of available arrays  6 max     _DM contains the number of available array elements  1000 max     _AB contains the state of the Abort Input   _LFx contains the state of the forward limit switch for the  x  axis    _LRx contains the state of the reverse limit switch for the  x  axis    Debugging Example     The following program has an error  It attempts to specify a relative movement while the X axis  is already in motion  When the program is executed  the controller stops at line 003  The user can  then query the controller using the command  TC1  The controller responds with the  corresponding explanation     Instruction Interpretation    ED Edit Mode   000  A Program Label   001 PR1000 Position Relative 1000  002 BGX Begin   003 PR5000 Position Relative 5000  004 EN End    lt cntrl gt  Q Quit Edit Mode   XQ HA Execute   A   2003 PR5000 Error on Line 3    TCI Tell Error Code    77 Command not valid  while running     Command not valid while running     ED 3 Edit Line 3   003 AMX PR5000 BGX Add After Motion Done   lt cntrl gt  Q Quit Edit Mode   XQ HA Execute   A    DMC 1410 1411 1417 Series    Chapter 7 Application Programming e 87    Program Flow Commands    The DMC 141X provides several instructions that control program flow  The DMC 141X  sequenc
148. oop forces the motor to follow the commanded position    DMC 1410 1411 1417 Series    Chapter 10 Theory of Operation e 123    The highest level of control is the motion program  This can be stored in the host computer or in  the controller  This program describes the tasks in terms of the motors that need to be controlled   the distances and the speed                    LEVEL  MOTION  3 PROGRAMMING  MOTION  2 PROFILING                CLOSED LOOP  1 CONTROL             Figure 10 2   Levels of Control Functions    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  SP 20000  AC 200000  BG   EN    This program corresponds to the velocity profiles shown in Fig  10 3  Note that the profiled  positions show where the motors must be at any instant of time     Finally  it remains up to the servo system to verify that the motor follows the profiled position by  closing the servo loop     The operation of the servo system is done in two manners  First  it is explained qualitatively  in  the following section  Later  the explanation is repeated using analytical tools for those who are  more theoretically inclined     124 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    X VELOCITY          X POSITION       TIME    Figure 10 3   Velocity and Position Profiles    Operation of Closed Loop Systems    To understand the operation of a servo system  we may 
149. op and do not require encoder feedback  When a stepper is used  the auxiliary encoder for  the corresponding axis is unavailable for an external connection  If an encoder is used for position  feedback  connect the encoder to the main encoder input corresponding to that axis  The  commanded position of the stepper can be interrogated with RP or DE  while the TD command  will give the actual step position  The encoder position can be interrogated with TP     The frequency of the step motor pulses can be smoothed with the filter parameter  KS  The KS  parameter has a range between 0 5 and 8  where 8 implies the largest amount of smoothing  See  Command Reference regarding KS     The DMC 141X profiler commands the step motor amplifier  All DMC 141X motion commands  apply such as PR  PA  VP  CR and JG  The acceleration  deceleration  slew speed and smoothing  are also used  Since step motors run open loop  the PID filter does not function and the position  error is not generated     To connect step motors with the DMC 141X you must follow this procedure   Step A  Install SM jumpers    In order for the DMC 141X to operate in stepper mode  the corresponding stepper  motor jumper installed  For a discussion of SM jumpers  see section Step 2  Install  jumpers on the DMC 141X     Step B  Connect step and direction signals from controller to motor amplifier    Connect the step and direction signals from the controller to respective signals on  your step motor amplifier   These signals 
150. or best performance  the  amplifier should be configured for a current mode of operation with no additional compensation   The gain should be set such that a 10 Volt input results in the maximum required current     The DMC 1460 also provides an AEN  amplifier enable signal  to control the status of the  amplifier  This signal toggles when the watchdog timer activates  when a motor off command is  given  or when OE1  Off on error is enabled  command is given and the position error exceeds the  error limit  As shown in Figure 3 5  AEN can be used to disable the amplifier for these conditions     The standard configuration of the AEN signal is TTL active low  Both the polarity and the  amplitude can be changed if you are using the ICM 1460 interface board  To change the polarity  from active low  zero volts   disable  to active high replace the 7407 IC with a 7406     To change the voltage level  note the state of the jumper on the ICM 1460  When JP4 has a  jumper from    AEN    to  5V   default setting   the output voltage is 0 5V  To change to 12 volts   pull the jumper and rotate it so that it connects the pins marked    AEN    and 12V   If the  jumper is removed entirely  the output is an open collector signal  allowing the user to connect to  external supplies with voltages up to 24V     AMP 1460 20 Watt Linear Amplifier Option    The ICM 1460 Interconnect Module can be purchased with a 20 watt linear amplifier suitable for  driving small motors  This amplifier requires an
151. osition of 1000     DMC 1410 1411 1417 Series Chapter 7 Application Programming e 113    The first step is to command the X motor to move to the rotary position of 1000  Once it arrives  we check the position of the load  If  for example  the load position is 980 counts  it implies that a  correction of 20 counts must be made  However  when the X axis is commanded to be at the  position of 1000  suppose that the actual position 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   Accordingly  the motion correction should be     Correction   Load Position Error   Rotary Position Error    The correction can be performed a few times until the error drops below    2 counts  Often  this is  performed in one correction cycle     Example motion program     Instruction Function    A Label   DPO Define starting positions as zero  LINPOS 0   PR 1000 Required distance   BG Start motion    B   AM Wait for completion   WT 50 Wait 50 msec   LIN POS   DE Read linear position    ER 1000 LINPOS _TE Find the correction  JP 4C  ABS ER  lt 2 Exit if error is small    PR ER Command correction  BG   JP  B Repeat the process   C   EN    114 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    Chapter 8 Error Handling    Introduction    The DMC 141X provides several hardware and software features to check
152. owing procedure depicts  the DMC  1410 1411 installation process     12 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    Add Remove Hardware Wizard          Welcome to the Add Remove  Hardware Wizard    This wizard helps you add  remove  unplug  and  troubleshoot your hardware     To continue  click Next      lt  Back Cancel            Windows 2000 Hardware Wizard    Note  All the pictures in this Hardware Wizard section are from Windows 2000 unless specified  otherwise     1  On the first dialog  select Add Troubleshoot       Add Remove Hardware Wizard    Choose a Hardware Task Fates  Which hardware task do you want to perform  ey       Select the hardware task you want to perform  and then click Next        Add Troubleshoot a device  Choose this option if you are adding a new device to your computer or are having  problems getting a device working        Uninstall Unplug a device  Choose this option to uninstall a device or to prepare the computer to unplug a  device           Back Cancel         DMC 1410 1411 1417 Series Chapter 2 Getting Started e 13    2  Let the Hardware Wizard try to detect a new Plug and Play device        Add Remove Hardware Wizard    New Hardware Detection  The wizard automatically locates new Plug and Play hardware           14 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    3  Ifa device is found  the Hardware Wizard will then ask if the device is on a list of found  devices  Say no and proceed to the next dialog box  In Win 2000 
153. p  before it reaches its final position     An incremental position movement  IP  may be specified during motion as long as the additional  move is in the same direction  Here  the user specifies the desired position increment  n  The new  target is equal to the old target plus the increment  n  Upon receiving the IP command  a revised  profile will be generated for motion towards the new end position  The IP command does not  require a begin  Note  If the motor is not moving  the IP command is equivalent to the PR and  BG command combination     Command Summary   Point to Point Positioning       60 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    Operand Summary   Point to Point Positioning    Return acceleration rate  Return deceleration rate    _PA Returns current destination if axis is moving  otherwise returns current commanded  position           Returns current incremental distance    Example   Absolute Position       PA 10000 Specify absolute position of 10 000 counts  AC 1000000 Acceleration of 1 000 000 counts sec     DC 1000000 Deceleration of 1 000 000 counts sec      SP 50000 Speeds of 50 000 counts sec   BG Begin motion    Independent Jogging    The jog mode of motion is very flexible because the speed  direction and acceleration can be  changed during motion  In this mode  the user specifies the jog speed  JG   acceleration  AC   and  the deceleration  DC  rate  The direction of motion is specified by the sign of the JG parameters   When the begin co
154. p to 512 characters of information  In normal operation  the controller places output  into the FIFO buffer  The software on the host computer monitors this buffer and reads  information as needed  When the trace mode is enabled  the controller will send information to  the FIFO buffer at a very high rate  In general  the FIFO will become full since the software is  unable to read the information fast enough  When the FIFO becomes full  program execution will  be delayed until it is cleared  If the user wants to avoid this delay  the command CW 1 can be  given  This command causes the controller to throw away the data that cannot be placed into the  FIFO  In this case  the controller does not delay program execution     Error Code Command    When there is a program error  the DMC 141X halts the program execution at the point where the  error occurs  To display the last line number of program execution  issue the command  MG _ED     The user can obtain information about the type of error condition that occurred by using the  command  TC1  This command reports back a number and a text message that describes the error  condition  The command  TCO or TC  will return the error code without the text message  For  more information about the command  TC  see the Command Reference     Stop Code Command    The status of motion for each axis can be determined by using the stop code command  SC  This  can be useful when motion on an axis has stopped unexpectedly  The command SC will retu
155. plete  WT 100 Wait 100 msec   PAO Position absolute 0   BGX Begin move   AMX Wait for motion complete  WT 100 Wait 100 msec    COUNT COUNT 1 Decrement loop counter  JP  LOOP COUNT gt 0 Test for 10 times thru loop  EN End Program    Subroutines    A subroutine is a group of instructions beginning with a label and ending with an end command   EN   Subroutines are called from the main program with the jump subroutine instruction JS   followed by a label or line number  and conditional statement  Up to 8 subroutines can be nested   After the subroutine is executed  the program sequencer returns to the program location where the  subroutine was called unless the subroutine stack is manipulated as described in the following  section     DMC 1410 1411 1417 Series Chapter 7 Application Programming e 93    Stack Manipulation    It is possible to manipulate the subroutine stack by using the ZS command  Every time a JS  instruction  interrupt or automatic routine  such as  POSERR or  LIMSWI  is executed  the  subroutine stack is incremented by 1  Normally the stack is restored with an EN instruction   Occasionally it is desirable not to return back to the program line where the subroutine or interrupt  was called  The ZS1 command clears 1 level of the stack  This allows the program sequencer to  continue to the next line  The ZSO command resets the stack to its initial value  For example  if a  limit occurs and the  LIMSWI routine is executed  it is often desirable to restart the progra
156. position  error  inputs or torque  This is useful for teaching motion trajectories or observing system  performance  Two types of data can be captured and stored in two arrays  The capture rate or  time interval may be specified  Recording can be done as a one time event or as a circular  continuous recording     102 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    Commands I          Automatic Data Capture     Command    Command   Description sss    RA n   m   Selects up to two arrays for data capture  The arrays must have been defined with the  DM command     RD typel  type2 Selects the type of data to be recorded  where typel and type2 represent the various types  of data  see table below   The order of data type is important and corresponds with the  order of n m arrays in the RA command     The RC command begins data collection  Sets data capture time interval where n is an  integer between 1 and 8 and designates 2  msec between data  m is optional and specifies  the number of elements to be captured  If m is not defined  the number of elements  defaults to the smallest array defined by DM  When m is a negative number  the  recording is done continuously in a circular manner  _RD is the recording pointer and  indicates the address of the next array element  n 0 stops recording     Returns a 0 or 1 where  0 denotes not recording  1 specifies recording in progress     Data Types for                                                       Summary   Automatic D
157. power supply  The OUT x  can be  used to source current from the power supply  The maximum sourcing current for the OUT x  is  25 ma  Sinking configuration can also be specified  Please contact Galil for details     When opto isolated outputs are used  either a pull up or pull down resistor needs to be provided  by the user depending upon whether the signal is sinking or sourcing     AMP 1460 Mating Power Amplifiers    The AMP 1460 provides the features of the ICM 1460  with the addition of a brush type servo  amplifier  The amplifier is rated for 7 amps continuous  10 amps peak at up to 80 volts  The  gain of the AMP 1460 is   amp per volt     The AMP 1460 requires an external DC supply  The AMP 1460 connects to the controller with a  cable 37 pin cable  and screw type terminals are provided for connecting to motors  encoders  and external switches     e 7 amps continuous  10 amps peak  20 to 80 volts  DC supply   e Connects directly to DMC 141X series controllers via 37 pin cable     e Screw type terminals for easy connection to motors  encoders and switches     Specifications  Minimum motor inductance  1 mH  PWM frequency 30 KHz  Ambient operating temperature 0 70       Dimensions 6 9  x 4 9  x 2 6     DMC 1410 1411 1417 Series Appendices e 149    Weight 1 pound  Mounting Keyholes    2       Gain 1 amp volt    The DMC 141X generates a    10 Volt range analog signal  ACMD  and ground  pin 21  for input  to power amplifiers that have been sized to drive the motor and load  F
158. r Position Relative  and to specify motion parameters such as speed  acceleration and deceleration  and distance     Program flow commands are used in Application Programming to control the program sequencer   They include the jump on condition command and event triggers such as after position and after  elapsed time     General configuration commands are used to set controller configurations such as setting and  clearing outputs  formatting variables  and motor encoder type  The control setting commands  include filter settings such as KP  KD and KI and sample time     Error Limit commands are used to configure software limits and position error limits     MOTION  AB Abort Motion  AC Acceleration  BG Begin Motion  CD Contour Data  CM Contour Mode    DMC 1410 1411 1417 Series Chapter 5 Programming Basics e 53    DC    Deceleration    DT Contour Time Interval   FE Find Edge   FI        Index   GR Gear Ratio   HM Home   IP Increment Position   JG Jog Mode   PA Position Absolute   PR Position Relative   SP Speed   ST Stop  PROGRAM FLOW   AD After Distance   AI After Input   AM After Motion Complete   AP After Absolute Position  AR After Relative Distance   AS  AtSpeed   AT After Time   EB Enable CAM   EG Engage ECAM   EM CAM cycle command   EN End Program   EP CAM interval and starting point  EQ  Disengage ECAM   ET  ECAM table entry   HX Halt Task   IN Input Variable   II Input Interrupt   JP Jump To Program Location  JS Jump To Subroutine   MC After motor is in position  MF Af
159. r can be commanded to move the motor   The BZ command is then issued as described above  For example  to initialize  the X axis motor upon power or reset  the following commands may be given     SH   CR   Enable X axis motor    PRX  1   BZX    CR   Move X motor close to zero commutation phase    BG   CR   Begin motion on X axis   AM   CR   Wait for motion to complete on X axis   BZX  1   CR   Drive motor to commutation phase zero and leave  motor on    Method 3  Use the command  BC  This command uses the hall transitions to determine the  commutation phase  Ideally  the hall sensor transitions will be separated by  exactly 60  and any deviation from 60  will affect the accuracy of this method  If  the hall sensors are accurate  this method is recommended  The BC command    32 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    monitors the hall sensors during a move and monitors the Hall sensors for a  transition point  When that occurs  the controller computes the commutation  phase and sets it  For example  to initialize the motor upon power or reset  the  following commands may be given     SH  lt CR gt  Enable motor   BC  lt CR gt  Enable the brushless calibration command  PR 50000  lt CR gt  Command a relative position movement  BG  lt CR gt  Begin motion  When the hall sensors detect    transition  the commutation phase is reset     Step 7c  Connect Step Motors    In Stepper Motor operation  the pulse output signal has a 50  duty cycle  Step motors operate  open lo
160. rements  where one point is generated for  each sample     Consider  for example  the trajectory shown in Fig  6 2  The position X may be described by the  points  The sample time is 1 ms     Point 1 X 0 at T 0ms  Point 2 X 48 at T 4ms  Point 3 X 288 at T 12ms  Point 4 X 336 at T 28ms    The same trajectory may be represented by the increments    66 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    Increment 1 CD 48 Time change 4 ms DT2  Increment 2 CD 240 Time change 8 ms DT 3  Increment 3 CD 48 Time change 16 ms DT 4    When the controller receives the command to generate a trajectory along these points  it  interpolates linearly between the points  The resulting interpolated points include the position 12  at 1 msec  position 24 at 2 msec  etc     The programmed commands to specify the above example are        Instruction Interpretation  HA  CM Specifies contour mode  DT 2 Specifies first time interval  2   CD 48 WC Specifies first position increment  DT 3 Specifies second time interval  2    CD 240 WC Specifies second position increment  DT 4 Specifies the third time interval  2    CD 48 WC Specifies the third position increment  DTO CDO Exits contour mode  EN   POSITION    COUNTS            peice don ton             tuin te                   Ln eee age          240  192  96      ig  esr s       TIME  ms        0 4 8 12 16 20 24 28      SEGMENT 1  SEGMENT 2   SEGMENT 3             Figure 6 2   The Required Trajectory    Additional Commands    The command  WC  is
161. rn a  number representing the motion status  See the command reference for further information     RAM Memory Interrogation Commands    For debugging the status of the program memory  array memory  or variable memory  the DMC   141X has several useful commands  The command  DM    will return the number of array  elements currently available  The command  DA    will return the number of arrays that can be  currently defined  For example  a standard DMC 141X controller will have a maximum of 1000  array elements in up to 6 arrays  If an array of 100 elements is defined  the command DM   will  return the value 900 and the command DA   will return 5     To list the contents of the variable space  use the interrogation command LV  List Variables   To  list the contents of array space  use the interrogation command  LA  List Arrays   To list the    86 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    contents of the Program space  use the interrogation command  LS  List   To list the application  program labels only  use the interrogation command  LL  List Labels    Operands    In general  all operands provide information that may be useful in debugging an application  program  Below is    list of operands that 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     _ED c
162. rs are only available on the DMC 1410 and the DMC 1411  The PCI drivers  for the DMC 1417 will automatically assign it an IRQ based on system availability     On the DMC 1410 and DMC 1411  select which IRQ line will be used when the controller needs  to notify the PC of an interrupt  Step 5 in this chapter tells how to select an IRQ line that is open  on your PC  meaning not shared with any other device     Step 4a  Plugging the DMC 1410 or DMC 1417 into the PC     The DMC 1410 and 1417 are installed directly into the ISA and PCI expansion buses respectively   Here   s a description of how it   s done     1  Make sure the PC is in the power off condition  Unplug the power cord from PC     2  Remove the screws that hold the PC System Unit cover in place  These screws are  usually located in the back of the system unit     Remove unit cover     4  Remove the metal plate covering the expansion bus slot where the controller is to be  inserted     5  Insert the DMC 1410 or 1417 card into the expansion bus and secure with screw   6  Re secure system unit cover and tighten screws     Insert the 37 pin ribbon cable to J3 connector   Ends of cable should be terminated  appropriately to system components      8  Power up PC     Step 4b  Installing the DMC 1411 on the PC 104 stack   1  Make sure power is off     Check pins on P1 and P2 connectors to make sure they are straight   Screw in stand offs to holes opposite P1 P2 connectors  Carefully align DMC 1411 over P1 P2 connectors and pr
163. ry for further information on the command CE     Step D  Verify proper encoder operation     Once the encoder is connected as described above  turn the motor shaft and  interrogate the position with the instruction TP  lt return gt   The controller response  will vary as the motor is turned     At this point  if TP does not vary with encoder rotation  there are three possibilities   1  The encoder connections are incorrect   check the wiring as necessary     2  The encoder has failed   using an oscilloscope  observe the encoder signals   Verify that both channels A and B have a peak magnitude between 5 and 12  volts  Note that if only one encoder channel fails  the position reporting varies by  one count only  If the encoder failed  replace the encoder  If you cannot observe  the encoder signals  try a different encoder     3  There is a hardware failure in the controller   connect the same encoder to a  different axis  If the problem disappears  you probably have a hardware failure   Consult the factory for help     Step 7a  Connect Standard Servo Motor  The following discussion applies to connecting the DMC 141X controller to standard servo motor  amplifiers     The motor and the amplifier may be configured in the torque or the velocity mode  In the torque  mode  the amplifier gain should be such that a 10 Volt signal generates the maximum required  current  In the velocity mode  a command signal of 10 Volts should run the motor at the  maximum required speed     Step by st
164. s  1  9 12  142  PWM  140 42  140 42  151  Stop Code  54  Stop Motion or Program  56  61  84  119  127  143  Subroutine  42  56  85  118  143  Subroutine Stack  56  95  Synchronization  6 41  64  Teach  72  Latch  54  Record  72  Tell Error  54  Tell Position  54  Tell Torque  54  Terminal  42  Theory  36  Damping  36  PID  30  Time  Clock  102  Sample Time  55  58  TIME  102  Time Interval  72  Timeout  13  Torque Limit  29  58  Trippoints  39  90  TTL  6  41  Tuning  SDK  35  Upload  57  Variable  40  83  140  Internal  94    Index e 5    
165. s example waits for input 1 to go low and then starts motion  Note  The AI command actually  halts execution of the program until the input occurs  If you do not want to halt the program  sequences  you can use the Input Interrupt function  II  or use a conditional jump on an input  such  as JP  GO  IN 1     1     Instruction Interpretation   INPUT Program Label   ALI Wait for input 1 low  PR 10000 Position command  BG Begin motion   EN End program    Event Trigger   Set output when At speed    Instruction Interpretation   ATSPEED Program Label   JG 50000 Specify jog speed   AC 10000 Acceleration rate   BG Begin motion   AS Wait for at slew speed 50000       Set output 1   EN End program    90 e Chapter 7 Application Programming DMC 1410 1411 1417 Series    Event Trigger   Multiple move with wait    Instruction Interpretation    MOVES Label   PR 12000 Distance   SP 20000 Speed   AC 100000 Acceleration   BG Start Motion   AD 10000 Wait a distance of 10 000 counts  SP 5000 New Speed   AM Wait until motion is completed  WT 200 Wait 200 ms   PR  10000 New Position   SP 30000 New Speed   AC 150000 New Acceleration   BG Start Motion   EN End    Define Output Waveform Using AT    The following program causes Output 1 to be high for 10 msec and low for 40 msec  The cycle  repeats every 50 msec     Instruction Interpretation    OUTPUT Program label   ATO Initialize time reference   SB1 Set Output 1    LOOP Loop   AT 10 After 10 msec from reference          Clear Output 1   AT  40 Wait
166. s than 1  usec of the external low or high input signal     The DMC 141X software commands  AL and RL  are used to arm the latch and report the latched  position  The steps to use the latch are as follows     1 Give the AL command  to arm the latch     2  Test to see if the latch has occurred  Input 1 goes low  by using the _AL  command  Example  V1  AL returns the state of the latch into V1  V1 is 1 if  the latch has not occurred     3  After the latch has occurred  read the captured position with the report latch  RL command or _RL     Note  The latch must    Example  High  Instruction   Latch  JG 5000  BG  AL   Wait  JP  Wait  AL 1  Result _RL  Result   EN    DMC 1410 1411 1417 Series    be re armed after each latching event     Speed Latch  Interpretation    Latch program  Jog   Begin   Arm Latch   Loop for Latch 1  Wait for latch  Report position  Print result   End    Chapter 6 Programming Motion e 79    THIS PAGE LEFT BLANK INTENTIONALLY    80 e Chapter 6 Programming Motion DMC 1410 1411 1417 Series    Chapter 7 Application  Programming    Introduction    The DMC 141X provides a powerful programming language that allows users to customize the  controller for their particular application  Programs can be downloaded into the DMC 141X  memory freeing the host computer for other tasks  However  the host computer can still send  commands to the controller at any time  even while a program is being executed     In addition to standard motion commands  the DMC 141X provides s
167. sition feedback from incremental encoder with two channels in quadrature      CHA and CHB  The encoder may be analog or TTL  Any resolution encoder  may be used as long as the maximum frequency does not exceed 8 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      Note  Encoders that produce outputs in the format of pulses and direction may  also be used by inputting the pulses into CHA and direction into Channel B and  using the CE command to configure this mode     Once Per Revolution encoder pulse  Used in Homing sequence or Find Index  command to define home on an encoder index     Differential inputs from encoder  May be input along with CHA  CHB for noise  immunity of encoder signals  The CHA  and CHB  inputs are optional     Inputs for additional encoder  Used when an encoder on both the motor and the  load is required     A low input stops commanded motion instantly without a controlled  deceleration  Also aborts motion program     A low input resets the state of the processor to its power on condition  The  previously saved state of the controller  along with parameter values  and saved  sequences are restored              140 e Appendices    DMC 1410 1411 1417 Series                Forward Limit Switch    Reverse Limit Switch    Home Switch    Input     Input 7    Latch input          hen active  inhibits motion in forward direction  Also causes ex
168. spectively  The value of the operand is either a    0    or    1    corresponding to the logic state of the  limit switch  Using a terminal program  the state of a limit switch can be printed to the screen  with the command  MG _LF or MG_LR  This prints the value of the limit switch operands for  the axis  The logic state of the limit switches can also be interrogated with the TS command  For  more details on TS see the Command Reference     Home Switch Input    Homing inputs are designed to provide mechanical reference points for a motion control  application  A transition in the state of a Home input alerts the controller that a particular  reference point has been reached by a moving part in the motion control system  A reference point  can be a point in space or an encoder index pulse     The Home input detects any transition in the state of the switch and toggles between logic states 0  and 1 at every transition  A transition in the logic state of the Home input will cause the controller  to execute a homing routine specified by the user     There are three homing routines supported by the DMC 141X  Find Edge  FE   Find Index  FD   and Standard Home  HM      The Find Edge routine is initiated by the command sequence  FE  lt return gt   BG  lt return gt   The  Find Edge routine will cause the motor to accelerate  then slew at constant speed until a transition  is detected in the logic state of the Home input  The direction of the FE motion is dependent on  the state of th
169. sponse to Commands  The DMC 141X returns a   for valid commands   The DMC 141X returns a   for invalid commands     For example  if the command BG is sent in lower case  the DMC 141X will return a        bg  lt enter gt  invalid command  lower case    DMC 141X returns      When the controller receives an invalid command the user can request the error code  The code    will specify the reason for the invalid command response  To request the error code type the  command   TC1  For example      TC1  lt enter gt  Tell Code command   1 Unrecognized command Returned response  There are several coded reasons for receiving an invalid command response  The most common  reasons are and unrecognized command  such as typographical entry or lower case   a command    given at improper time  or a command out of range  such as exceeding maximum speed  A  complete listing of all codes is listed in the TC command in the Command Reference section     Interrogating the Controller    Interrogation Commands    The DMC 141X has a set of commands that directly interrogate the controller  When the  command is entered  the requested data is returned in decimal format on the next line followed by  a carriage return and line feed  The format of the returned data can be changed using the Position  Format  PF   Variable Format  VF  and Leading Zeros  LZ  command  See Chapter 7 and the  Command Reference     Summary of Interrogation Commands    Pee             sc  E  rc        n  Te  TR  E        E       5
170. ssive torque or speed when initially  setting up a servo system     When operating an amplifier in torque mode  the voltage output of the controller will  be directly related to the torque output of the motor  The user is responsible for  determining this relationship using the documentation of the motor and amplifier   The torque limit can be set to a value that will limit the motors output torque     When operating an amplifier in velocity or voltage mode  the voltage output of the  controller will be directly related to the velocity of the motor  The user is  responsible for determining this relationship using the documentation of the motor  and amplifier  The torque limit can be set to a value that will limit the speed of the  motor     For example  the following command will limit the output of the controller to 1 volt   TL 1  lt CR gt  Sets torque limit to 1 Volt    Note  Once the correct polarity of the feedback loop has been determined  the torque  limit should  in general  be increased to the default value of 9 99  The servo will not  operate properly if the torque limit is below the normal operating range  See  description of TL in the command reference     Disable motor   Issue the motor off command to disable the motor   MO  lt CR gt  Turns motor off  Connecting the Motor    Once the parameters have been set  connect the analog motor command signal   ACMD  to the amplifier input     Issue the servo here command to turn the motors on  To test the polarity of the  f
171. stem Set up               enne nre trennen 34  Example 2   Profiled Move                      enne nennen a nennen nnne 35  Example 3   Position Interrogation                    i 35  Example 4   Absolute Position                      ii 35    DMC 1410 1411 1417 Series    Contents e i    ii e Contents    Example 5   Velocity Control  Jogging             ii 35    Example 6   Operation Under Torque Limit                    i 36  Example    Interrogation        eee EHE dial aa 36  Example 8   Operation in the Buffer Mode                       sese 36  Example 9   Motion Programs                  i 36  Example 10   Motion Programs with LOOpS                   nennen 37  Example 11  Motion Programs with Trippoints                   i 37  Example 12   Control Variables                    iii 37  Example 13   Control Variables and Offset                       ii 38  Chapter 3 Hardware Interface 39  OVEIVIEW La 1o e tec E alia bete av Se e Eee 39  Encoder Interface    nut lie head Was asia aio et e ais 39                          RA Sed Bed iva 40  LinntS witch      40   Home Switch                               al eee eal orco tese rtr IR be 40   Abort Input eet er ete IR doa cues D Y e Eres Qe RE ae Une Ge eee S 41  Uncommitted Digital Inputs                i 41   nn ce                                                            42  Amplifiers              ia eit o AMORI a rate raa e ii 42  Other          i  e ee t et ve ege et te A ER pe pedet rl e C 43  Chapter 4 Communication 45 
172. t 15  DTO   CDO    DMC 1410 1411 1417 Series    Interpretation  Program defines X points    Allocate memory  Set initial conditions  C is index    T is time in ms    Argument in degrees  Compute position  Integer value of V3  Store in array POS    Program to find position differences    Compute the difference and store    End first program  Program to run motor  Contour Mode    4 millisecond intervals    Contour Distance is in DIF    Wait for completion    Stop Contour    Chapter 6 Programming Motion e 69    EN    End the program    Teach  Record and Play Back     Several applications require teaching the machine a motion trajectory  Teaching can be  accomplished using the DMC 141X automatic array capture feature to capture position data  The  captured data may then be played back in the contour mode  The following array commands are    used     DM C n   RA CI   RD_TP  RC n m    RC  or _RC    Dimension array  Specify array for automatic record  Specify data for capturing    Specify capture time interval where n is 2n msec  m is number of records to be  captured    Returns a 1 if recording    Record and Playback Example      RECORD   DM POS 501   RA POSI   RD_TP   MO   RC2    A JPHA  RC 1   COMPUTE  DM DX 500   C 0    L   D C 1  DELTA POS D  POS C   DX C  DELTA  C C 1   JP  L C lt 500   PLAYBCK  CM   DT2   I 0   8B   CD POS IJ WC    DT 0 CDO  EN    Begin Program   Dimension array with 501 elements  Specify automatic record  Specify position to be captured  Turn motor off   Beg
173. te Value  65  95  Bit Wise  94  Sine  68  Math Functions  98  Absolute Value  58  100  118  Cosine  58  61  99 100  104  Sin  58  100  Mathematical Expression  94  Memory  1  38  53  71  83  88  102    DMC 1410 1411 1417 Series    Array  5  88  94  99  102  Message  88  96  99  Messages  107  Modelling  125  Motor Command  1  30  132  140  Moving  Contour Mode  55  61  Home Inputs  42  56  78  139  Jog  55  63  S Curve  77  Slew Speed  1  51  91  143  Multitasking  87  No Operation  56  Non volatile Memory  1  Off On Error  27  43  Operand  Internal Variable  94  Operators  Bit Wise  94  Optoisolation  Home Input  42  Output  ICM 1100  27  Motor Command  30  Outputs  1  44  55  112  127  139  Digital Outputs  112  Interconnect Module  148  Motor Command  1  132  140  PID  30  128  Play Back  61  106  Position Capture  81  Latch  54  Teach  72  Position Error  27  Position Latch  81  143  Programmable  EEPROM  5  Proportional Gain  36  Protection  Error Limit  27  29  Torque Limit  29  PWM  6  140 42  140 42  151  Quadrature  6  41  142  Quit  Abort  41  Record  57  61  72  Latch  54  Teach  72  Reset  42  45  57  93  117  140  141    DMC 1410 1411 1417 Series    S Curve  77  Sample Time  55  58  SDK  35  Selecting Address  122  Servo Design Kit  8  SDK  35  Sin  58  100  Sine  68  Single Ended  6  28  30  Slew  62  Slew Speed  1  51 91  143  Smoothing  77  Software  SDK  35  Stability  76  115  121  128  Status  54  88  Interrogation  36  54 55  109  Stop Code  54  Step Motor
174. tempt to run away  but the  direction of motion is reversed with respect to the commanded motion  If this is the case  reverse  the motor leads AND the encoder signals     If the motor moves in the required direction but stops short of the target  it is most likely due to  insufficient torque output from the motor command signal ACMD  Reducing system friction on  the motors can alleviate this  The instruction     TT  lt CR gt  Tell torque  reports the level of the output signal  It will show a non zero value that is below the friction level     Once you have established that you have closed the loop with the correct polarity  you can move  on to the compensation phase  servo system tuning  to adjust the PID filter parameters  KP  KD  and KI  It is necessary to accurately tune your servo system to ensure fidelity of position and  minimize motion oscillation as described in the next section     28 e Chapter 2 Getting Started DMC 1410 1411 1417 Series                      AMP 1460                                                                                                                   Power Supply       VAMP                              AMPGND           DMC 1410 1411 1417 Series                                  Description Connection  Channel A  MA   Channel B  MB   Channel A  MA   Channel B  MB   Index   I   Index   1   Gnd GND   5V 5V  Motor 1  da  Motor i  Motor 2          Figure 2 3   System Connections with the AMP 1460 Amplifier    Chapter 2 Getting Started e 29   
175. ter motion    forward direction  MG Message   MR After motion    reverse direction  NO No operation   RE Return from Error Subroutine  RI Return from Interrupt   TW  Timeout for in position  WC Wait for Contour Data   WT Wait   XQ Execute Program   ZS Zero Subroutine Stack    54 e Chapter 5 Programming Basics    DMC 1410 1411 1417 Series    GENERAL CONFIGURATION    AL  BN  CB  CE  CN  DA  DE  DL  DM  DP  EB  ED  EI  EG  EM  EO  EP  EQ  ET  LS  MO  MT  OB  OP  PF  QU  QD  RA  RC  RD  RS  SB  UI  UL  VE    Arm Latch   Burn   Clear Bit   Configure Encoder Type  Configure Switches and Stepper  Deallocate Arrays  Define Dual Encoder Position  Download   Dimension Arrays  Define Position   Enable ECAM   Edit Mode   Enable Interrupts  Engage ECAM   Cam cycle command  Echo Off   Cam table interval and starting point  Disengage ECAM  ECAM table entry   List   Motor Off   Motor Type   Define Output Bit  Output Port   Position Format   Upload array   Download array   Record Array   Record   Record Data   Reset   Set Bit   User Interrupt   Upload    Variable Format    CONTROL FILTER SETTINGS    DV  FA  FV  GN  IL   IT   KD    Damping for dual loop   Acceleration Feedforward   Velocity Feedforward   Gain   Integrator Limit   Smoothing Time Constant   Independent    Derivative Constant    DMC 1410 1411 1417 Series    Chapter 5 Programming Basics e 55    KI    Integrator Constant    KP Proportional Constant   KS Stepper Smoothing Constant   OF Offset   SH Servo Here   TL Torque Limit   TM S
176. terpretation  Begin main program  Prompt for speed   Begin motion   Repeat   End main program  Command error utility  Check if error on line 2  Check if out of range  Send message   Send message   Adjust stack   Return to main program  End program if other error  Zero stack    End program    the operator to enter a jog speed  If the operator enters a number out    of range  greater than 8 million   the  CMDERR routine will be executed prompting the operator    to enter a new number     Mathematical and Functional Expressions    Mathematical Operators    For manipulation of data  the DMC 141X provides the use of the following mathematical    operators     Operator    Multiplication       The numeric range for addition  subtraction and multiplication operations is      2 147 483 647 9999  The precision for division is 1 65 000     96 e Chapter 7 Application Programming    DMC 1410 1411 1417 Series    Mathematical operations are executed from left to right  Calculations within parentheses have    precedence    Examples   SPEED 7 5 V1 2 The variable  SPEED  is equal to 7 5 multiplied by V1 and divided by 2  COUNT COUNT 2 The variable  COUNT  is equal to the current value plus 2   RESULT _TP   COS 45  40  Puts the position   28 28 in RESULT  40   cosine of 45   is 28 28  TEMP  IN 1  amp   IN 2  TEMP is equal to 1 only if Input 1 and Input 2 are high   Bit Wise Operators    The mathematical operators  amp  and   are bit wise operators  The operator   amp   is a Logical And   The op
177. the  approximate value for BM will agree with the value used in the previous step     Note  In order to properly conduct the brushless setup  the motor must be allowed to  move a minimum of one magnetic cycle in both directions     Note  When using Galil Windows software  the timeout must be set to a minimum of  10 seconds  time out   10000  when executing the BS command  This allows the  software to retrieve all messages returned from the controller     If Hall Sensors are Available     Since the Hall sensors are connected randomly  it is very likely that they are wired in the incorrect  order  The brushless setup command indicates the correct wiring of the Hall sensors  The hall  sensor wires should be re configured to reflect the results of this test     The setup command also reports the position offset of the hall transition point and the zero phase  of the motor commutation  The zero transition of the Hall sensors typically occurs at 0    30   or  90   of the phase commutation  It is necessary to inform the controller about the offset of the Hall  sensor and this is done with the instruction  BB     Step E  Save Brushless Motor Configuration    It is very important to save the brushless motor configuration in non volatile  memory  After the motor wiring and setup parameters have been properly  configured  the burn command  BN  should be given     If Hall Sensors are Not Available     Without hall sensors  the controller will not be able to estimate the commutation phase
178. tion of their usage is  found below     Limit Switch Input    The forward limit switch  FLS  inhibits motion in the forward direction immediately upon  activation of the switch  The reverse limit switch  RLS  inhibits motion in the reverse direction  immediately upon activation of the switch  If a limit switch is activated during motion  the  controller will make a decelerated stop using the deceleration rate previously set with the DC  command  The motor will remain on  in a servo state  after the limit switch has been activated  and will hold motor position     When a forward or reverse limit switch is activated  the current application program that is  running will be interrupted and the controller will automatically jump to the  LIMSWI subroutine  if one exists  This is a subroutine that the user can include in any motion control program and is  useful for executing specific instructions upon activation of a limit switch  Automatic Subroutines  are discussed in Chapter 6     After a limit switch has been activated  further motion in the direction of the limit switch will not  be possible until the logic state of the switch returns back to an inactive state  This usually  involves physically opening the tripped switch  Any attempt at further motion before the logic  state has been reset will result in the following error     022   Begin not possible due to limit  switch    error     The operands  _LF and _LR  contain the state of the forward and reverse limit switches   re
179. to be activated     Reserved    Interrupt Request Line  Jumper one only   DMC 1410 and 1411 only           Accessories and Options          Part     DMC  1410   DMC  1411   DMC  1417   ICM  1460   AMP  1460   Cable 37 pin D  Cable 40 pin Ribbon          Description   1 axis Controller for ISA bus   1 axis motion controller for PC 104 bus   1 axis motion controller for PCI   Interconnect module   Interconnect module with 1 axis power amplifier  37   pin cable for DMC 1410  amp  DMC 1417  40 pin to 37 pin cable for DMC 1411          DMC 1410 1411 1417 Series    Appendices e 141                               Galil Software CD Terminal emulation and communication drivers and DLL for Windows TM  WSDK 16 bit Servo Design Kit for Windows 3 X   WSDK 32 bit Servo Design Kit for Windows 95  98  NT 4  ME  2000  and XP   VB Toolkit Visual Basic    Tool Kit                         TM Windows  MS DOS  and Visual Basic are trademarks of Microsoft Corporation    142 e Appendices DMC 1410 1411 1417 Series    Address Settings of the DMC 1410 1411    Use this table to find the dip switch or jumper settings for any of the available addresses of the  DMC 1410 or 1411                 Address Dip A8 Dip A7 Dip A6 Dip A5 Dip A4 Dip A3 Dip A2  648 x x x x                   DMC 1410 1411 1417 Series Appendices e 143             d  e f k e T_T  R f e p T_T h  i f k e C o  Rh 1 k T k k E     T     TR ES                      TG      CS E  TR T_T     T_T  E T_T  Dl pol E o       CS bb  Dl pol TR          
180. tor Amphfier   xs er ete tede tti eii e He at it dtes 126                    RA RR RR                                RI 129          tais a A ani rana dp da pad SE dd pt            130   K  20 65 536   0 0003  V count           er tp ep ets 130   Digital Filter  et re ect pr et eec e rat etit 130          p                                      130   System Analysis    eet er pci re Tet gc e E ledit trees 131  System Design and Compensation                    ie 133  The Analytical Method    etu mette ene ra eoe 133  Appendices 137  Electrical Specifications                                    eae e e oa 137  Servo  Control iier pete ie teres ede aei aeterne      op EAN 137   Stepper Control      3 tnr D Rer yr a hai pe ea 137  Input Output                  RUE ea RESET 137   Power Requirements    dpi tenete tede tee Do oreet deer ian 137  Performance Specifications            tenete rieira eia iae ee ede neon ENR ee 138  GIOIELLI IL LIU 138  DMC 1410  1417  J3 General I O  37  PIN D type             eee 138  DMC 1411  J3 General I O  40  PIN IDC              esee 139   Pin Out Description    pani bats ile bees De RETE Rota 139  lunc                                           ds 141  Accessories and Options  is ie AUR e ET Pee gi a ete eb ALII Lia  141  Address Settings of the DMC 1410 1411              ii 143  ICM 1460 Interconnect Module  Rev F                            enne enne enne 146  J8  9 Encoder  10pin header                         eene 148  Opto Isolation Option for
181. ttom byte of LEN  LEN4  LEN amp  0000FF00   100 Let variable     LEN4      second byte of LEN  LENS  LEN amp  00FF0000    10000 Let variable     LENS      third byte of LEN  LEN6  LEN amp  FF000000    1000000 Let variable     LEN6      fourth byte of LEN  MG LEN6  54  Display    LENG    as string message of up to 4 chars  MG LENS  S4  Display    LENS    as string message of up to 4 chars  MG LENA  54  Display    LEN4    as string message of up to 4 chars  MG LEN3  S4  Display    LEN3    as string message of up to 4 chars  MG          S4  Display    LEN2    as string message of up to 4 chars  MG LEN   S4  Display    LEN     as string message of up to 4 chars  EN    This program will accept a string input of up to 6 characters  parse each character  and then  display each character  Notice also that the values used for masking are represented in  hexadecimal  as denoted by the preceding           For more information  see section Sending  Messages     To illustrate further  if the user types in the string    TESTME    at the input prompt  the controller  will respond with the following     DMC 1410 1411 1417 Series Chapter 7 Application Programming e 97          T Response from command MG LEN6  S4    E Response from command MG LENS  S4    S Response from command MG LEN4  S4    T Response from command MG LEN3  S4    M Response from command MG LEN2  S4    E Response from command MG LENI  S4   Functions    Function  mun TT       Functions may be combined with mathematical expressi
182. uation may be written in the continuous equivalent form   G s    50   0 98s   0 98 s 51     The system elements are shown in Fig  10 7     DMC 1410 1411 1417 Series Chapter 10 Theory of Operation e 131    FILTER ZOH DAC AMP MOTOR                                                                         V 2000 500  0 98 S 51 e 0 0003 4      eset  512000 S  ENCODER  318             Figure 10 7   Mathematical model of the control system  The open loop transfer function  A s   is the product of all the elements in the loop   A   390 000  s 51   s2 s 2000      To analyze the system stability  determine the crossover frequency  o  at which A j v    equals    one  This can be done by the Bode plot of AG   c   as shown in Fig  10 8     Magnitude        2000 W  rad s     0 1       Figure 10 8   Bode plot of the open loop transfer function  For the given example  the crossover frequency was computed numerically resulting in 200 rad s   Next  we determine the phase of A s  at the crossover frequency   A j200    390 000  j200 51    j200 2   0200   2000    a   Arg A j200     tan 1 200 51  180   tan   200 2000   a   76     180     6      110    Finally  the phase margin  PM  equals  PM   180     a   70     132 e Chapter 10 Theory of Operation DMC 1410 1411 1417 Series    As long as PM is positive  the system is stable  However  for a well damped system  PM should  be between 30 degrees and 45 degrees  The phase margin of 70 degrees given above indicated  overdamped response     Next  we disc
183. udible sound or by interrogation  If you send the  command    TE  lt CR gt  Tell error    a few times  and get varying responses  especially with reversing polarity  it indicates system  vibration  When this happens  simply reduce KD     Next you need to increase the value of KP gradually  maximum allowed is 1023   You can  monitor the improvement in the response with the Tell Error instruction    KP 10  lt CR gt  Proportion gain  TE  lt CR gt  Tell error  As the proportional gain is increased  the error decreases     Again  the system may vibrate if the gain is too high  In this case  reduce KP  Typically  KP  should not be greater than KD 4     Finally  to select KI  start with zero value and increase it gradually  The integrator eliminates the  position error  resulting in improved accuracy  Therefore  the response to the instruction     lt CR gt     becomes zero  As KI is increased  its effect is amplified and it may lead to vibrations  If this  occurs  simply reduce KI     For a more detailed description of the operation of the PID filter and or servo system theory   see Chapter 10 Theory of Operation     Design Examples    Here are a few examples for tuning and using your controller     Example 1   System Set up    This example assigns the system filter parameters  error limits and enables the automatic error    shut off   Instruction Interpretation  KP 10 Set proportional gain  KD 100 Set damping  KI 1 Set integral  OE1 Set error off  ER 1000 Set error limit    34 e Ch
184. umper used for configuring stepper motor  operation  labeled as SMX       Controller RAM JPS Jumpers used for setting controller address   DMC 1411     Elements You Need    Before you start  you must get all the necessary system elements  These include     1l  DMC 1410 Controller and 37 pin cable  Galil part number  Cable 37 pin D   DMC 1417  and 37 pin cable  or DMC 1411 controller and 40 pin to 37 pin cable  Galil part number   Cable 40 pin ribbon      Servo motor with Encoder or stepper motor    Appropriate motor drive  Servo amp  Power Amplifier or AMP 1460  or stepper drive   Power Supply for Amplifier   PC for communication  ISA  PC 104  or PCI back plane     Communication CD from Galil    WSDK Servo Design Software  not necessary  but strongly recommended     SX XO  Cen Zr LEX  O    Interface Module ICM 1460 with screw type terminals or integrated Interface  Module Amplifier  AMP 1460   Note  An interconnect module is not necessary  but  strongly recommended      6 e Chapter 2 Getting Started DMC 1410 1411 1417 Series    The motors may be servo  brush or brushless type  or steppers  The driver  amplifier  should be  suitable for the motor and may be linear or pulse width modulated and it may have current  feedback or voltage feedback     For servomotors  the drivers should accept an analog signal in the    10 Volt range as a command   The amplifier gain should be set so that a  10V command will generate the maximum required  current  For example  if the motor peak curr
185. us amp enable voltages    e Analog switching chip for enabling and disabling analog command voltage     Specifications     Dimensions  6 9  x 4 9  x 2 6  Weight  1 pound     12 Volts    Rev A F Rev G  Termina Terminal    AMPEN SIGNY   ACMDX PULSE X     Amplifier enable X axis or Y Axis Sign Output for Stepper    X Axis Motor command or Pulse Output for Stepper       o   av     CI E  RE  30  ey    Analog Input 1    146 e Appendices DMC 1410 1411 1417 Series           DIV  O                N o o o  u lt   a Uu ies                                                                 Bl wl  ry Olopyjoyly nrnrypasyuyst         Go  O       oo    Ne    DMC 1410 1411 1417 Series    so  o  o  2  B         5  E  2  a  5  E  27  EM  2  30  EN  EM  IE  EM   36  EM  EM  Ea  Lo      Analog Input 2  Signal Ground    Error signal or Y Axis Pulse Output for Stepper    Output 3          Ew 1         wooo    5     s   EM               fo     io      Ho     Output 2    2 E Output 1    3        Circular Compare   Input common for Opto option   4           pis        Signal Ground    16     m    8              2    a    22   nrc  1    toputt tnputforLatchFuntioo o     23   esx  t   Forward timitswitehimput    a   RSX  t   Reverse timit switch input       __       _  1   Homeinpu   e ae  27 la   5       9 Im  o  m  3a  M   9     59     M A   5  A   39 LA  Mola  ES  o    3   sv EM      Jo  5 3    Abort Input  Signal Ground    Signal Ground    ACMD2 SIGNX    The screw terminals for    12V can be configure
186. uss the design of control systems     System Design and Compensation    The closed loop control system can be stabilized by a digital filter  which is preprogrammed in the  DMC 141X 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        with a    phase margin PM  The system parameters are assumed known  The design procedure is best  illustrated by a design example     Consider a system with the following parameters     Kt Nm A Torque constant  J 2 1074 kg m  System moment of inertia  R 2 Q Motor resistance   K   2 Amp Volt Current amplifier gain   N   1000 Counts rev Encoder line density    The DAC of the DMC 141X outputs    10V for a 16 bit command of    32 768 counts     The design objective is to select the filter parameters in order to close a position loop with a  crossover frequency of     500 rad s and a phase margin of 45 degrees     The first step is to develop a mathematical model of the system  as discussed in the previous  system     Motor    M s    P I   Kj Js2   1000 s2    Amp   K  2  Amp V   DAC   Kg   10 32 768  Encoder   Kg   4N 2x   636  ZOH    H s    2000  s 2000   Compensation Filter  G s  P sD    The next step is to combine all the system elements  with the exception of G s   into one function   L s      DMC 1410 1411 1417 Series Chapter 10 Th
187. uxiliary Encoder  73  149  150  Dual Encoder  54  Backlash Compensation  75  115  Dual Loop  73  BASIC  53  115  125  127  144  Bit Wise  94  Burn  57  EEPROM  5  Capture Data  Record  72  Clock  102  Comments  56  Communication  5  8  47  121  Almost Full Flag  48  FIFO  5  47  49  Master Reset  143  Configuration  Jumper  122  123  Configuring    DMC 1410 1411 1417 Series    Encoders  57  76  Contour Mode  55  61  Control Filter  Damping  36  Integrator  36  Proportional Gain  36  Coordinated Motion  Ecam  65 66  Electronic Cam  64  67  Cycle Time  Clock  102  Damping  36  57  128  Data Capture  104  Arrays  103  Debugging  88  Differential Encoder  28  30  Digial Filter  PID  128  Digital Filter  53  132  Damping  57  128  Feedforward  57  Gain  9  41  44  57  102  127  151  Integrator  57  128  Modelling  125  Stability  76  115  121  128  Digital Input  41  Digital Inputs  1  42  113  Digital Outputs  112  Dip Switch  11  Download  57  Dual Encoder  54  57  75  76  105  115  Dual Loop  73  Dual Loop  57  61  73  76  Ecam  65 66  Electronic Cam  64  67  ECAM  1  61  Echo  57  Edit Mode  89  Editor  38  57  EEPROM  5  11    Index e 155    Electronic Cam  56  64  67  Electronic CAM  1  61  Electronic Gearing  1  61  Gearing  1  61  Enable  Amplifer Enable  44  Encoder  Auxiliary Encoder  73  149  150  Differential  28  30  Dual Encoder  54  Index Pulse  28  42  Quadrature  6  Encoders  57  62  76  105  118  Auxiliary Encoders  41  61  142  Dual Loop  57  61  76  Frequency  
188. ve  To show how control variables may be utilized     Instruction   A DPO  PR 4000  SP 2000    DMC 1410 1411 1417 Series    Interpretation  Label  Define current position as zero  Initial position    Set speed    Chapter 2 Getting Started e 37    BG Move    AM Wait until move is complete  WT 500 Wait 500 ms    B   Vi  TP Determine distance to zero  PR    1 2 Command move 1 2 the distance  BG Start motion   AM After motion   WT 500 Wait 500 ms   Vl  Report the value of V1   JP HC  V1 0 Exit if position 0   JP EB Repeat otherwise    C EN End    To start the program  command  XQ  A Execute Program  A    This program moves the motor to an initial position of 1000 and returns it to zero on increments of  half the distance  Note  _TP is an internal variable that returns the value of the position  Internal  variables may be created by preceding a DMC 141X instruction with an underscore  _     Example 13   Control Variables and Offset    Objective  Illustrate the use of variables in iterative loops and use of multiple instructions on one    line   Instruction Interpretation   A Set initial values  KIO  DPO  V1 8  V2 0 Initializing variables to be used by program   B Program label  B  OF V1 Set offset value  WT 200 Wait 200 msec  V2 _TP Set variable V2 to the current position  JP C    ABS V2  lt 2 Exit if error small  MG V2 Report value of V2    1   1 1 Decrease Offset  JP EB Return to top of program  HC EN End  This program starts with a large offset and gradually decreases its value
189. wer cables near  encoder signals encoder cables  Avoid Ground Loops  Use differential encoders  Use    12V encoders       Communication    SYMPTOM DIAGNOSIS CAUSE REMEDY    Cannot communicate with   Galil software returns error   1  Address conflict Change address jumper positions   the DMC 1410 or DMC  message when and change if necessary  Chap 4   1411  communication is   IRQ address    attempted  Select different IRQ    Address selection   does not agree with   From Galil software  edit Galil  registry Registry   information     Cannot communicate with   Galil software returns error  l  Wrong Operating The DMC 1417 is only recognized   the DMC 1417 message when System in Win 98 SE  NT 4  ME   communication is 2000 XP  Win 95  98 FE and DOS  attempted are not supported    Search for Galilpci sys  If it s on  the PC  delete it  restart and try  communication again  If problems  persist  contact Galil     Driver  incompatibility       120 e Chapter 9 Troubleshooting DMC 1410 1411 1417 Series    Stability    Servo motor runs away Reversed Motor Type 1  Wrong feedback Reverse Motor or Encoder Wiring  when the loop is closed  corrects situation  MT  1  polarity   remember to set Motor Type back    to default value  MT 1     Motor oscillates  2  Too high gain or Decrease KI and KP  Increase KD   too little damping     Operation         SYMPTOM     DIAGNOSIS     CAUSE     REMEDY      Controller rejects Response of controller Anything E  2088           problem reported by TC1  comm
190. y profiles have acceleration rates that change abruptly from zero to maximum  value  The discontinuous acceleration results in infinite jerk that causes vibration  The smoothing  of the acceleration profile makes for less vibration in the system     Using the IT Command     The smoothing is accomplished by filtering the acceleration profile  The degree of the smoothing  is specified by the command   ITn Independent time constant    It is used for smoothing profiled moves of the type JG  PR  and PA     The smoothing parameter  n  is a number between 0 and 1 and determines the degree of filtering   where the maximum value of 1 implies no filtering  resulting in trapezoidal velocity profiles   Smaller values of the smoothing parameters imply heavier filtering and smoother moves     The following example illustrates the effect of the smoothing  Fig  6 5 shows the trapezoidal  velocity profile and the modified acceleration and velocity     Note that the smoothing process results in longer motion time     Example   Smoothing    Instruction Interpretation  PR 20000 Position   AC 100000 Acceleration   DC 100000 Deceleration   SP 5000 Speed   IT 5 Filter for Smoothing  BG Begin    DMC 1410 1411 1417 Series Chapter 6 Programming Motion e 75    Homing    ACCELERATION    VELOCITY       ACCELERATION    VELOCITY          Figure 6 5   Trapezoidal velocity and smooth velocity profiles    The Find Edge  FE  and Home  HM  instructions may be used to home the motor to a mechanical  reference  T
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Flamgard-Plus - Crowcon Detection Instruments  HP 1302us Maintenance and Service Guide  Wentronic TESTBOY TV 322  系統連系技術要件( 高圧) 適合検討書  ミライト・ホールディングス(1417)  Bernina Record 930 Electronic User's Manual  TMS320LF/LC240xA DSP Controllers System and Peripherals RG  Ama-Drainer 4../5..  DL/N/70 - Manuale  1,94MB    Copyright © All rights reserved. 
   Failed to retrieve file