USER MANUAL DMC-2x00 Manual Rev. 2.0 By Galil Motion Control, Inc. Galil Motion Control, Inc. 270 Technology Way Rocklin, California 95765 Phone: (916) 626-0101 Fax: (916) 626-0102 E-mail Address: support@galilmc.com URL: www.galilmc.
Using This Manual This user manual provides information for proper operation of the DMC-2x00 controller. A separate supplemental manual, the Command Reference, contains a description of the commands available for use with this controller. Your DMC-2x00 motion controller has been designed to work 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 servo motors.
Contents Using This Manual ....................................................................................................................ii Contents i Chapter 1 Overview 1 Introduction ............................................................................................................................... 1 Specifications............................................................................................................................. 2 DMC- 2000 Family Part Number Definition....
Step 3b. Configure DIP switches on the DMC-2100................................................. 17 Step 3c. Configure DIP switches on the DMC-2200................................................. 17 Step 4. Install the Communications Software............................................................ 18 Step 5. Connect AC Power to the Controller............................................................. 18 Step 6. Establish Communications with Galil Software............................................
Chapter 4 Communication 2 Introduction ............................................................................................................................... 2 RS232 Ports ............................................................................................................................... 2 RS232 - Main Port {P1} DATATERM....................................................................... 2 RS232 - Auxiliary Port {P2} DATASET ..........................................................
Specifying the Coordinate Plane ............................................................................... 36 Specifying Linear Segments...................................................................................... 36 Additional Commands............................................................................................... 37 Command Summary - Linear Interpolation............................................................... 38 Operand Summary - Linear Interpolation....................
Chapter 7 Application Programming 76 Overview ................................................................................................................................. 76 Using the DOS Editor to Enter Programs (DMC-2000 only) .................................................. 76 Edit Mode Commands............................................................................................... 77 Example..................................................................................................
Extended I/O of the DMC-2x00 Controller ........................................................................... 117 Configuring the I/O of the DMC-2x00.................................................................... 117 Saving the State of the Outputs in Non-Volatile Memory....................................... 118 Accessing Extended I/O .......................................................................................... 118 Interfacing to Grayhill or OPTO-22 G4PB24 ..........................
DMC-2x00 Axes A-D High Density Connector...................................................... 149 DMC-2x00 Axes E-H High Density Connector ...................................................... 150 DMC-2x00 Auxiliary Encoder 36 Pin High Density Connector ............................. 151 DMC-2x00 Extended I/O 80 Pin High Density Connector ..................................... 151 RS-232-Main Port ...................................................................................................
Keypad Maps - Hand-Held...................................................................................... 196 Keypad Map - Panel Mount – 6 columns x 5 rows ................................................. 197 Configuration........................................................................................................... 198 Function Keys.......................................................................................................... 199 Input/Output of Data – DMC-2x00 Commands ........
Chapter 1 Overview Introduction The DMC-2x00 Series are Galil’s highest performance stand-alone controller. The controller series offers many enhanced features including high speed communications, non-volatile program memory, faster encoder speeds, and improved cabling for EMI reduction.
Specifications DMC- 2000 Family Part Number Definition D M C - 2 0 0 0 | | Communication Options ------| | 0: USB | 2: Ethernet | | Number of Axis ---------------| 1: One Axes 2: Two Axes 3: Three Axes 4: Four Axes 5: Five Axes 6: Six Axes 7: Seven Axes 8: Eight Axes Electrical Specifications Description Unit Specification ----------- ---- ------------- AC Input Line Voltage VAC 100-240 AC Input Line Frequency Hz 50-60 Power Dissipation W 12 Mechanical Specifications Description Unit S
Environmental Specifications Description Unit Specification ----------- ---- ------------- Storage Temperature C -25 to +70 Operating Temperature C 0 to +70 Operating Altitude feet 10,000 Equipment Maintenance The DMC-2000 does not require maintenance. Overview of Motor Types The DMC-2x00 can provide the following types of motor control: 1. Standard servo motors with +/- 10 volt command signals 2. Brushless servo motors with sinusoidal commutation 3.
upon reset. This allows the motor to function immediately upon power up. The Hall effect sensors also provide a method for setting the precise commutation phase. Chapter 2 describes the proper connection and procedure for using sinusoidal commutation of brushless motors. Stepper Motor with Step and Direction Signals The DMC-2x00 can control stepper motors. In this mode, the controller provides two signals to connect to the stepper motor: Step and Direction.
DMC-2x00 Functional Elements The DMC-2x00 circuitry can be divided into the following functional groups as shown in Figure 1.1 and discussed below.
General I/O The DMC-2x00 provides interface circuitry for 8 bi-directional, optoisolated inputs, 8 TTL outputs and 8 analog inputs with 12-Bit ADC (16-Bit optional). The DMC-2x00 also has an additional 64 I/O and unused auxiliary encoder inputs may also be used as additional inputs (2 inputs / each axis). The general inputs can also be used as high speed latches for each axis. A high speed encoder compare output is also provided.
Encoder An encoder translates motion into electrical pulses which are fed back into the controller. The DMC2x00 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- and CHB,CHB-). The DMC-2x00 decodes either type into quadrature states or four times the number of cycles.
THIS PAGE LEFT BLANK INTENTIONALLY 8 •Chapter 1 Overview DMC-2X00
Chapter 2 Getting Started The DMC-2x00 Main Board AXES E-H 100 pin high density connector AMP part # 2-178238-9 AXES A-D 100 pin high density connector AMP part # 2-178238-9 AUX Encoder inputs 36 pin high density connector Error, Power LED's Reset Switch 9.
The DMC-2000 Daughter Board MAIN Serial port DB-9 Male USB type B connector AUX Serial port DB-9 Female Configuration DIP Switches USB type A connector (x2) 80 pin high density connector for extended I/O 7.85 " J6 U7 R232 R232 R232 R485 TE RM J3 EXTENDED I/O J2 USB OUT U6 M C1488 M C1489 U9 3.94" J5 J1 USB IN S 8 R422 JP4 TE RM R485 R232 R232 R232 U2 MAIN JP3 8S MRST XON XO F HSHK 9600 19.
The DMC-2200 Daughter Board 10 BASE-F TRANSMITTER 100 BASE-T MAIN SERIAL PORT DB-9 MALE AUX SERIAL PORT DB-9 FEMALE 10 BASE-2 80 PIN HIGH DENSITY CONNECTOR FOR EXTENDED I/O CONFIGURATION DIP SWITCHES 10 BASE-F RECEIVER COMMUNICATIONS STATUS LED J2 D1 D2 JP4 JP5 U1 JP4 TRM 485 232 232 232 S 8 U4 JP5 1 TRM 185 232 232 232 S 8 422 3.94" JP3 U14 U16 U6 U15 1 CMB-21002 REV A GALIL MOTION CONTROL J8 A1 B1 C1 J7 100 PIN CONNECTOR (ATTACHES TO DMC-2000 MAIN BOARD) 9.
Elements You Need IOM-1964-80 Provides Opto-Isolation and Interconnection for Extended I/O Auxiliary Serial Port Connection (System Dependent Cable) ICM-2900 Provides Connection to Signals for Axes E-H IOM-1964-80 0 1 2 3 4 5 6 ICM-2908 Provides Connection to All Auxiliary Encoder Signals 7 ICM-2900 Connection to Signals for Axes A-D ICM-2900 ICM-2908 CABLE-80-1M (1Meter) Cable 9-PinD Main Serial Port to Computer OR GALIL ICM-2900 CABLE-80-4M (4Meter) CABLE-100-1M OR CABLE-100-4M CABLE
IOM-1964-80 Provides Opto-Isolation and Interconnection for Extended I/O ICM-2900 Provides Connection to Signals for Axes E-H IOM-1964-80 100/10 BASE-T Cable 0 1 2 3 4 6 5 ICM-2908 Provides Connection to All Auxiliary Encoder Signals 7 Auxiliary Serial Port Connection (System Dependent Cable) ICM-2900 Connection to Signals for Axes A-D ICM-2900 ICM-2908 CABLE-80-1M (1Meter) GALIL Cable 9-PinD Main Serial Port to Computer OR ICM-2900 CABLE-80-4M (4Meter) CABLE-100-1M OR CABLE-100-4M DM
5. Motor Amplifiers. 6. Power Supply for Amplifiers. 7. Brush or Brushless Servo motors with Optical Encoders or stepper motors. 8. PC (Personal Computer - RS232 or USB for DMC-2000 or Ethernet for DMC-2100) 9a. WSDK-16 or WSDK-32 (recommend for first time users.) or 9b. DMCWIN16, DMCWIN32 or DMCDOS communication software. The WSDK software is highly recommended for first time users of the DMC-2x00. It provides stepby-step instructions for system connection, tuning and analysis.
Sinusoidal Commutation: Sinusoidal commutation is configured through a single software command, BA. This configuration causes the controller to reconfigure the number of available control axes. Each sinusoidally commutated motor requires two DACs. In standard servo operation, the DMC-2x00 has one DAC per axis. In order to have the additional DAC for sinusoidal commutation, the controller must be designated as having one additional axis for each sinusoidal commutation axis.
Stepper Motor Jumpers For each axis that will used for stepper motor operation, the corresponding stepper mode (SM) jumper must be connected. The stepper mode jumpers, labeled JP5 and JP7 are located directly beside the GL-1800 IC's on the main board (see the diagram of the DMC-2x00). The individual jumpers are labeled SMA thru SMH and configure the controller for ‘Stepper Motors’ for the corresponding axes A-H when installed. Note that the daughter board must be removed to access these jumpers.
Switch 4, 5 and 6 - Main Serial Port Baud Rate The following table describes the baud rate settings: 9600 19.2 3800 BAUD RATE ON ON OFF 1200 ON OFF OFF 9600 OFF ON OFF 19200 OFF OFF ON 38400 OFF ON ON 115200 Switch 10 - USB When on, the controller will use the USB port as a default port for messages. When off, the controller will use the RS-232 port as default. When the firmware is updated, the controller will send the response (a colon), to the default port setting.
Switch 4,5 and 6 - Main Serial Port Baud Rate The following table describes the baud rate settings: 9600 19.2 3800 BAUD RATE ON ON OFF 1200 ON OFF OFF 9600 OFF ON OFF 19200 OFF OFF ON 38400 OFF ON ON 115200 Switch 7-Option When OFF, the controller will use the auto-negotiate function to set the Ethernet connection speed. When the DIP switch is ON, the controller defaults to 10BaseT.
Step 6. Establish Communications with Galil Software Communicating through the Main Serial Communications Port Connect the DMC-2x00 MAIN serial port to your computer via the Galil CABLE-9PIN-D (RS-232 Cable). Using Galil Software for DOS (serial communication only) To communicate with the DMC-2000, type TALK2DMC at the prompt. Once you have established communication, the terminal display should show a colon, :. If you do not receive a colon, press the carriage return.
Using Non-Galil Communication Software The DMC-2x00 main serial port is configured as DATASET. Your computer or terminal must be configured as a DATATERM for full duplex, no parity, 8 data bits, one start bit and one stop bit. Check to insure that the baud rate switches have been set to the desired baud rate as described above. Your computer needs to be configured as a "dumb" terminal which sends ASCII characters as they are typed to the DMC-2x00.
address you entered to the controller with the specified serial number. Click on YES to assign it, NO to move to next controller, or CANCEL to not save the changes. If there are no controllers on the network that do not have an IP address assigned, the program will state this. When done registering, click on OK. If you do not wish to save the changes, click on CANCEL. Once the controller has been register, select the correct controller from the list and click on OK.
Step 8. Make Connections to Amplifier and Encoder. Once you have established communications between the software and the DMC-2x00, you are ready to connect the rest of the motion control system. The motion control system typically consists of an ICM-2900 Interface Module, an amplifier for each axis of motion, and a motor to transform the current from the amplifier into torque for motion. If you are using an ICM-2900, connect it to the DMC-2x00 via the 100-pin high density cable.
For stepper motor operation, an encoder is optional. For servo motor operation, if you have a preferred definition of the forward and reverse directions, make sure that the encoder wiring is consistent with that definition. The DMC-2x00 accepts single-ended or differential encoder feedback with or without an index pulse. If you are not using the ICM-2900 you will need to consult the appendix for the encoder pinouts for connection to the motion controller.
Step 9a. Connect Standard Servo Motors The following discussion applies to connecting the DMC-2x00 controller to standard servo motor amplifiers: The motor and the amplifier may be configured in the torque or the velocity mode. In the torque mode, the amplifier gain should be such that a 10 volt 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 D. Connect the Motor Once the parameters have been set, connect the analog motor command signal (ACMD) to the amplifier input. To test the polarity of the feedback, command a move with the instruction: PR 1000 Position relative 1000 counts BGA Begin motion on A axis When the polarity of the feedback is wrong, the motor will attempt to run away. The controller should disable the motor when the position error exceeds 2000 counts.
ICM-2900 MOCMDW PW MW Signal Gnd 2 GND +Ref In 4 MOCMDY SIGNX SIGNY PW MX GND PW MY GND AMPENW ERROR AMPENZ CMP AMPENY AMPENX OUT GND OUT5 OUT1 OUT6 OUT2 OUT7 OUT3 OUT8 OUT4 +5V HOMEZ HOMEW RLSW FLSZ FLSW HOMEY RLSY FLSX FLSY GND GND IN5 XLATCH IN6 YLATCH IN7 ZLATCH IN8 W LATCH +5V INCOM +12V ABORT -12V RESET ANA GND GND ANALOG5 ANALOG1 ANALOG6 ANALOG2 ANALOG7 ANALOG3 ANALOG8 ANALOG4 DC Servo Motor RLSX +5V Power Gnd 4 High Volt 5 LSCOM RLSZ HOMEX
Step 9b. Connect Sinusoidal Commutation Motors When using sinusoidal commutation, the parameters for the commutation must be determined and saved in the controller’s non-volatile memory. The setup for sinusoidal commutation is different when using Hall Sensors. Each step which is affected by Hall Sensor Operation is divided into two parts, part 1 and part 2. After connecting sinusoidal commutation motors, the servos must be tuned as described in Step 10. Step A.
The user must specify the value for V and T. For example, the command: BSA = 2,700 will test the A axis with a voltage of 2 volts, applying it for 700 millisecond for each phase. In response, this test indicates whether the DAC wiring is correct and will indicate an approximate value of BM. If the wiring is correct, the approximate value for BM will agree with the value used in the previous step.
WARNING: This command must move the motor to find the zero commutation phase. This movement is instantaneous and will cause the system to jerk. Larger applied voltages will cause more severe motor jerk. The applied voltage will typically be sufficient for proper operation of the BZ command. For systems with significant friction, this voltage may need to be increased and for systems with very small motors, this value should be decreased.
Step 9c. Connect Step Motors In Stepper Motor operation, the pulse output signal has a 50% duty cycle. Step motors operate open loop and do not require encoder feedback. When a stepper is used, the auxiliary encoder for the corresponding axis is unavailable for an external connection. If an encoder 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 TD.
For more damping, you can increase KD (maximum is 4095). Increase gradually and stop after the motor vibrates. A vibration is noticed by audible sound or by interrogation. If you send the command TE A Tell error a few times, and get varying responses, especially with reversing polarity, it indicates system vibration. When this happens, simply reduce KD. Next you need to increase the value of KP gradually (maximum allowed is 1023).
Profiled Move Rotate the A axis a distance of 10,000 counts at a slew speed of 20,000 counts/sec and an acceleration and deceleration rates of 100,000 counts/s2. In this example, the motor turns and stops: Instruction Interpretation PR1000 SP20000 DC 100000 AC 100000 BG A Distance Speed Deceleration Acceleration Start Motion Multiple Axes Objective: Move the four axes independently.
The position error, which is the difference between the commanded position and the actual position can be interrogated with the instruction TE. Instruction Interpretation TE TE A TE B TE C TE D Tell error – all axes Tell error – A axis only Tell error – B axis only Tell error – C axis only Tell error – D axis only Absolute Position Objective: Command motion by specifying the absolute position.
Operation Under Torque Limit The magnitude of the motor command may be limited independently by the instruction TL. Instruction Interpretation TL 0.2 Set output limit of A axis to 0.2 volts JG 10000 Set A speed BG A Start A motion In this example, the A motor will probably not move since the output signal will not be sufficient to overcome the friction. If the motion starts, it can be stopped easily by a touch of a finger.
Line # Instruction Interpretation 000 #A Define label 001 PR 700 Distance 002 SP 2000 Speed 003 BGA Start A motion 004 EN End program To exit the editor mode, input Q. The program may be executed with the command. XQ #A Start the program running If the ED command is issued from the Galil Windows terminal software (such as SmartTERM), the software will open a Windows based editor. From this editor a program can be entered, edited, downloaded and uploaded to the controller.
AP ,50000 Wait until position B=50000 SP ,10000 Change speed of B EN End program To start the program, command: XQ #B Execute Program #B Control Variables Objective: To show how control variables may be utilized.
Instruction Interpretation LM ABC Specify linear interpolation axes LI 7000,3000,6000 Relative distances for linear interpolation LE Linear End VS 6000 Vector speed VA 20000 Vector acceleration VD 20000 Vector deceleration BGS Start motion Circular Interpolation Objective: Move the AB axes in circular mode to form the path shown on Fig. 2-7. Note that the vector motion starts at a local position (0,0) which is defined at the beginning of any vector motion sequence.
THIS PAGE LEFT BLANK INTENTIONALLY 38 • Chapter 2 Getting Started DMC-2X00
Chapter 3 Connecting Hardware Overview The DMC-2x00 provides opto-isolated digital inputs for forward limit, reverse limit, home, and abort signals. The controller also has 8 opto-isolated, uncommitted inputs (for general use) as well as 8 TTL outputs and 8 analog inputs configured for voltages between +/- 10 volts. 2x80 Controllers with 5 or more axes have an additional 8 opto-isolated inputs and an additional 8 TTL outputs. This chapter describes the inputs and outputs and their proper connection.
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.
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. Reset Input When this input is pulled low (to 0 volts), the controller will reset.
LSCOM Additional Limit Switches(Dependent on Number of Axes) FLSA RLSA HOMEA FLSB RLSB HOMEB INCO M IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8 ABOR T (ALATCH) (BLATCH) (CLATCH) (DLATCH) Figure 3-1. The Optoisolated Inputs. NOTE: Controllers with 5 or more axes have IN[9] through IN[16] also connected to INCOM. Using an Isolated Power Supply To take full advantage of opto-isolation, an isolated power supply should be connected to the input common.
External Resistor Needed for Voltages > +24V External Resistor Needed for Voltages > +24V LSCOM LSCOM 2.2K 2.2K FLSA FLSA Configuration to source current at LSCOM terminal and sink switch Configuration to sink current at LSCOM terminal and source switch Figure 3-2. Connecting a single Limit or Home Switch to an Isolated Supply. This diagram only shows the connection for the forward limit switch of the X axis.
command (Enable Off-On-Error) is given and the position error exceeds the error limit. As shown in Figure 3-4, AMPEN can be used to disable the amplifier for these conditions. The standard configuration of the AMPEN signal is TTL active high. In other words, the AMPEN signal will be high when the controller expects the amplifier to be enabled. The polarity and the amplitude can be changed if you are using the ICM-2900 interface board.
Each input from the auxiliary encoder is a differential line receiver and can accept voltage levels between +/- 12 volts. The inputs have been configured to accept TTL level signals. To connect TTL signals, simply connect the signal to the + input and leave the - input disconnected. For other signal levels, the - input should be connected to a voltage that is ½ of the full voltage range (for example, connect the - input to 6 volts if the signal is a 0 - 12 volt logic).
Error Output The controller provides a TTL signal, ERROR, to indicate a controller error condition. When an error condition occurs, the ERROR signal will go low and the controller LED will go on. An error occurs because of one of the following conditions: 1. At least one axis has a position error 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.
Chapter 4 Communication Introduction The DMC-2x00 has two RS232 ports, and either one USB input port and 2 USB output ports, or Ethernet ports. The main RS-232 port is the data set and can be configured through the switches on the front panel. The auxiliary RS-232 port is the data term and can be configured with the software command CC. The auxiliary RS-232 port can be configured either for daisy chain operation (DMC2000 only) or as a general port.
*RS422 - Main Port {P1} 1 CTS - output 6 CTS+ output 2 Transmit Data - output 7 Transmit+ output 3 Receive Data - input 8 Receive+ input 4 RTS - input 9 RTS+ input 5 Ground *RS422 - Auxiliary Port {P2} 1 CTS - input 6 CTS+ input 2 Receive Data - input 7 Receive+ input 3 Transmit Data - output 8 Transmit+ output 4 RTS - output 9 RTS+ output 5 Ground *Default configuration is RS232. RS422 configuration available from factory.
(Configure Communication) at port 2. The command is in the format of: CC m,n,r,p where m sets the baud rate, n sets for either handshake or non-handshake mode, r sets for general port or the auxiliary port, and p turns echo on or off. m - Baud Rate - 300,1200,4800,9600,19200,38400 n - Handshake - 0=No; 1=Yes r - Mode - 0=General Port; 1=Daisy-chain p - Echo - 0=Off; 1=On; Valid only if r=0 Note, for the handshake of the auxiliary port, the roles for the RTS and CTS lines are reversed.
Example- Daisy Chain Objective: Control a 7-axis motion system using two controllers, a DMC-2040 4 axis controller and a DMC-2030 3 axis controller. Address 0 is the DMC-2040 and address 1 is the DMC-2030.
Although UDP/IP is more efficient and simple, Galil recommends using the TCP/IP protocol. TCP/IP insures that if a packet is lost or destroyed while in transit, it will be resent. Ethernet communication transfers information in ‘packets’. The packets must be limited to 470 data bytes or less. Larger packets could cause the controller to lose communication.
The second method for setting an IP address is to send the IA command through the DMC-2100/2200 main RS-232 port. The IP address you want to assign may be entered as a 4 byte number delimited by commas (industry standard uses periods) or a signed 32 bit number (Ex. IA 124,51,29,31 or IA 2083724575). Type in BN to save the IP address to the controller's non-volatile memory. NOTE: Galil strongly recommends that the IP address selected is not one that can be accessed across the Gateway.
Communicating with Multiple Devices The DMC-2100/2200 is capable of supporting multiple masters and slaves. The masters may be multiple PC's that send commands to the controller. The slaves are typically peripheral I/O devices that receive commands from the controller. NOTE: The term "Master" is equivalent to the internet "client". The term "Slave" is equivalent to the internet "server". An Ethernet handle is a communication resource within a device.
MBh = -1,len,array[] where len is the number of bytes array[] is the array with the data The second level incorporates the Modbus structure. This is necessary for sending configuration and special commands to an I/O device. The formats vary depending on the function code that is called. For more information refer to the Command Reference. The third level of Modbus communication uses standard Galil commands.
Data Record The DMC-2x00 can provide a block of status information with the use of a single command, QR. This command, along with the QZ command can be very useful for accessing complete controller status. The QR command will return 4 bytes of header information and specific blocks of information as specified by the command arguments: QR ABCDEFGHST Each argument corresponds to a block of information according to the Data Record Map below. If no argument is given, the entire data record map will be returned.
SL DMC-2X00 distance traveled in coordinated move for T plane T block UW a axis status A block UB a axis switches A block UB a axis stop code A block SL a axis reference position A block SL a axis motor position A block SL a axis position error A block SL a axis auxiliary position A block SL a axis velocity A block SW a axis torque A block SW a axis analog A block UW b axis status B block UB b axis switches B block UB b axis stop code B block SL b axis reference p
SL e axis motor position E block SL e axis position error E block SL e axis auxiliary position E block SL e axis velocity E block SW e axis torque E block SW e axis analog E block UW f axis status F block UB f axis switches F block UB f axis stop code F block SL f axis reference position F block SL f axis motor position F block SL f axis position error F block SL f axis auxiliary position F block SL f axis velocity F block SW f axis torque F block SW f axis anal
BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 in Data Record BIT 2 H Block Present in Data Record G Block Present in Data Record F Block Present in Data Record E Block Present in Data Record D Block Present in Data Record C Block Present in Data Record in Data Record BIT 1 in Data Record BIT 0 B Block Present in Data Record A Block Present in Data Record Bytes 2, 3 of Header: Bytes 2 and 3 make a word which represents the Number of bytes in the data record, including the header.
Switch Coordinated Motion Status Information for S or T plane (2 Byte) BIT 15 BIT 14 Move in Progress BIT 7 N/A N/A N/A BIT 6 BIT 13 N/A BIT 5 Motion is slewing BIT 12 N/A BIT 4 Motion is stopping due to ST or Limit Switch BIT 11 N/A BIT 3 Motion is making final decel.
For instructions that return data, such as Tell Position (TP), the DMC-2x00 will return the data followed by a carriage return, line feed and : . It is good practice to check for : after each command is sent to prevent errors. An echo function is provided to enable associating the DMC-2x00 response with the data sent. The echo is enabled by sending the command EO 1 to the controller.
Chapter 5 Command Basics Introduction The DMC-2x00 provides over 100 commands for specifying motion and machine parameters. Commands are included to initiate action, interrogate status and configure the digital filter. These commands can be sent in ASCII or binary. In ASCII, the DMC-2x00 instruction set is BASIC-like and easy to use. Instructions consist of two uppercase letters that correspond phonetically with the appropriate function.
To view the current values for each command, type the command followed by a ? for each axis requested. PR 1000 Specify A only as 1000 PR ,2000 Specify B only as 2000 PR ,,3000 Specify C only as 3000 PR ,,,4000 Specify D only as 4000 PR 2000, 4000,6000, 8000 Specify A,B,C and D PR ,8000,,9000 Specify B and D only PR ?,?,?,? Request A,B,C,D values PR ,? Request B value only The DMC-2x00 provides an alternative method for specifying data.
Command Syntax - Binary Some commands have an equivalent binary value. Binary communication mode can be executed much faster than ASCII commands. Binary format can only be used when commands are sent from the PC and cannot be embedded in an application program. Binary Command Format All binary commands have a 4 byte header and is followed by data fields. The 4 bytes are specified in hexadecimal format. Header Format: Byte 1 Specifies the command number between 80 to FF.
Bit 1 = B axis or 2nd data field Bit 0 = A axis or 1st data field Datafields Format Datafields must be consistent with the format byte and the axes byte.
AC 90 reserved bb CN e6 DC 91 reserved bc LZ e7 SP 92 CM bd OP e8 IT 93 CD be OB e9 FA 94 DT bf SB ea FV 95 ET c0 CB eb GR 96 EM c1 II ec DP 97 EP c2 EI ed DE 98 EG c3 AL ee OF 99 EB c4 reserved ef GM 9a EQ c5 reserved f0 reserved 9b EC c6 reserved f1 reserved 9c reserved c7 reserved f2 reserved 9d AM c8 reserved f3 reserved 9e MC c9 reserved f4 reserved 9f TW ca reserved f5 BG a0 MF cb reserved f6 ST a1
Interrogating the Controller Interrogation Commands The DMC-2x00 has a set of commands that directly interrogate the controller. When the command is entered, the requested data is returned in decimal format on the next line followed by a carriage return and line feed. The format of the returned data can be changed using the Position Format (PF), Variable Format (VF) and Leading Zeros (LZ) command. See Chapter 7 and the Command Reference.
All of the command operands begin with the underscore character (_). For example, the value of the current position on the A axis can be assigned to the variable ‘V’ with the command: V=_TPA The Command Reference denotes all commands which have an equivalent operand as "Used as an Operand". Also, see description of operands in Chapter 7. Command Summary For a complete command summary, see Command Reference manual.
THIS PAGE LEFT BLANK INTENTIONALLY DMC-2X00 Chapter 5 Command Basics y 23
Chapter 6 Programming Motion Overview The DMC-2x00 provides several modes of motion, including independent positioning and jogging, coordinated motion, electronic cam motion, and electronic gearing. Each one of these modes is discussed in the following sections. The DMC-2x10 is a single axis controller and uses A-axis motion only. Likewise, the DMC-2x20 uses A and B, the DMC-2x30 uses A,B and C, and the DMC-2x40 uses A,B,C and D. The DMC-2x50 uses A,B,C,D, and E. The DMC-2x60 uses A,B,C,D,E, and F.
2-D motion path consisting of arc segments and linear segments, such as engraving or quilting. Coordinated Motion VM VP CR VS,VR VA,VD VE Third axis must remain tangent to 2-D motion path, such as knife cutting. Coordinated motion with tangent axis specified VM VP CR VS,VA,VD TN VE Electronic gearing where slave axes are scaled to master axis which can move in both directions. Electronic Gearing GA, GD _GP, GR GM (if gantry) Master/slave where slave axes must follow a master such as conveyer speed.
acceleration ramp (AC), and deceleration ramp (DC), for each axis. On begin (BG), the DMC-2x00 profiler generates the corresponding trapezoidal or triangular velocity profile and position trajectory. The controller determines a new command position along the trajectory every sample period until the specified profile is complete. Motion is complete when the last position command is sent by the DMC-2x00 profiler.
_PAx Returns current destination if ‘x’ axis is moving, otherwise returns the current commanded position if in a move.
VELOCITY (COUNTS/SEC) A axis velocity profile 20000 B axis velocity profile 15000 C axis velocity profile 10000 5000 TIME (ms) 0 20 40 60 80 100 Figure 6.1 - Velocity Profiles of ABC Notes on fig 6.1: The A and B axis have a ‘trapezoidal’ velocity profile, while the C axis has a ‘triangular’ velocity profile. The A and B axes accelerate to the specified speed, move at this constant speed, and then decelerate such that the final position agrees with the command position, PR.
The position tracking mode shouldn’t be confused with the contour mode. The contour mode allows the user to generate custom profiles by updating the reference position at a specific time rate. In this mode, the position can be updated randomly or at a fixed time rate, but the velocity profile will always be trapezoidal with the parameters specified by AC, DC, and SP. Updating the position target at a specific rate will not allow the user to create a custom profile.
Figure 1 Position vs Time (msec) Motion 1 Example Motion 2: The previous step showed the plot if the motion continued all the way to 5000, however partway through the motion, the object that was being tracked changed direction, so the host program determined that the actual target position should be 2000 cts at that time. Figure 2 shows what the position profile would look like if the move was allowed to complete to 2000 cts. The position was modified when the robot was at a position of 4200 cts.
Figure 2: Position vs. Time (msec) Motion 2 Figure 3 Velocity vs Time (msec) Motion 2 Example Motion 4 In this motion, the host program commands the controller to begin motion towards position 5000, changes the target to -2000, and then changes it again to 8000. Figure 4 shows the plot of position vs. time, Figure 5 plots velocity vs. time, and Figure 6 demonstrates the use of motion smoothing (IT) on the velocity profile in this mode.
Figure 4 Position vs. Time (msec) Motion 4 Figure 5 Velocity vs.
Figure 6 Velocity cts/sec vs. Time (msec) with IT Motion 4 Note the controller treats the point where the velocity passes through zero as the end of one move, and the beginning of another move. IT is allowed, however it will introduce some time delay. Trip Points Most trip points are valid for use while in the position tracking mode. There are a few exceptions to this; the AM and MC commands may not be used while in this mode.
Command Summary – Position Tracking Mode COMMAND DESCRIPTION AC n,n,n,n,n,n,n,n Acceleration settings for the specified axes AP n,n,n,n,n,n,n,n Trip point that holds up program execution until an absolute position has been reached DC n,n,n,n,n,n,n,n Deceleration settings for the specified axes MF n,n,n,n,n,n,n,n Trip point to hold up program execution until n number of counts have passed in the forward direction. Only one axis at a time may be specified.
_DCx Return deceleration rate for the axis specified by ‘x’ _SPx Returns the jog speed for the axis specified by ‘x’ _TVx Returns the actual velocity of the axis specified by ‘x’ (averaged over .25 sec) Examples Jog in X only Jog A motor at 50000 count/s. After A motor is at its jog speed, begin jogging C in reverse direction at 25000 count/s.
Linear Interpolation Mode The DMC-2x00 provides a linear interpolation mode for 2 or more axes. In linear interpolation mode, motion between the axes is coordinated to maintain the prescribed vector speed, acceleration, and deceleration along the specified path. The motion path is described in terms of incremental distances for each axis. An unlimited number of incremental segments may be given in a continuous move sequence, making the linear interpolation mode ideal for following a piece-wise linear path.
Additional Commands The commands VS n, VA n, and VD n are used to specify the vector speed, acceleration and deceleration. The DMC-2x00 computes the vector speed based on the axes specified in the LM mode. For example, LM ABC designates linear interpolation for the A,B and C axes. The vector speed for this example would be computed using the equation: 2 2 2 2 VS =AS +BS +CS , where AS, BS and CS are the speed of the A,B and C axes.
Command Summary - Linear Interpolation COMMAND DESCRIPTION LM abcdefgh Specify axes for linear interpolation LM? Returns number of available spaces for linear segments in DMC-2x00 sequence buffer. Zero means buffer full. 512 means buffer empty. LI a,b,c,d,e,f,g,h < n Specify incremental distances relative to current position, and assign vector speed n.
DP 0,0 Define position of A and B axes to be 0 LMAB Define linear mode between A and B axes.
30000 27000 POSITION D 3000 0 0 4000 36000 40000 POSITION C FEEDRATE 0 0.1 0.5 0.6 TIME (sec) VELOCITY C-AXIS TIME (sec) VELOCITY D-AXIS TIME (sec) Figure 6.
Multiple Moves This example makes a coordinated linear move in the AB plane. The Arrays VA and VB are used to store 750 incremental distances which are filled by the program #LOAD.
To specify vector commands the coordinate plane must first be identified. This is done by issuing the command CAS to identify the S plane or CAT to identify the T plane. All vector commands will be applied to the active coordinate system until changed with the CA command. Specifying Vector Segments The motion segments are described by two commands; VP for linear segments and CR for circular segments.
The first command, m, requires the vector speed to reach the value m at the end of the segment. Note that the function > m may start the deceleration within the given segment or during previous segments, as needed to meet the final speed requirement, under the given values of VA and VD.
VA n Specify vector acceleration along the sequence. VD n Specify vector deceleration along the sequence. VR n Specify vector speed ratio BGS Begin motion sequence. CS Clear sequence. AV n Trip point for After Relative Vector distance, n. AMS Holds execution of next command until Motion Sequence is complete. TN m,n Tangent scale and offset. ES m,n Ellipse scale factor.
PA 3000,0,_TN Move A and B to starting position, move C to initial tangent position BG ABC Start the move to get into position AM ABC When the move is complete SB0 Engage knife WT50 Wait 50 msec for the knife to engage BGS Do the circular cut AMS After the coordinated move is complete CB0 Disengage knife MG "ALL DONE" EN End program Coordinated Motion Traverse the path shown in Fig. 6.3. Feed rate is 20000 counts/sec. Plane of motion is AB.
C (-4000,3000) D (0,3000) R = 1500 B (-4000,0) A (0,0) Figure 6.3 - The Required Path Electronic Gearing This mode allows up to 8 axes to be electronically geared to some master axes. The masters may rotate in both directions and the geared axes will follow at the specified gear ratio. The gear ratio may be different for each axis and changed during motion. The command GA ABCDEFGH specifies the master axes.
and command maximum current to the motor. This can be a large shock to the system. For many applications it is acceptable to slowly ramp the engagement of gearing over a greater time frame. Galil allows the user to specify an interval of the master axis over which the gearing will be engaged.
The slave axis for each figure is shown in the bottom portion of the figure; the master axis is shown in the top portion. The shock to the slave axis will be significantly less in figure 2 than in figure1. The ramped gearing does have one consequence. There isn’t a true synchronization of the two axes, until the gearing ramp is complete. The slave will lag behind the true ratio during the ramp period.
GR a,b,c,d,e,f,g,h Sets gear ratio for slave axes. 0 disables electronic gearing for specified axis. GM a,b,c,d,e,f,g,h X = 1 sets gantry mode, 0 disables gantry mode MR x,y,z,w Trippoint for reverse motion past specified value. Only one field may be used. MF x,y,z,w Trippoint for forward motion past specified value. Only one field may be used. Example Simple Master/Slave Master axis moves 10000 counts at slew speed of 100000 counts/sec. B is defined as the master.
You may also perform profiled position corrections in the electronic gearing mode. Suppose, for example, that you need to advance the slave 10 counts. Simply command IP ,10 Specify an incremental position movement of 10 on B axis. Under these conditions, this IP command is equivalent to: PR,10 Specify position relative movement of 10 on B axis BGB Begin motion on B axis Often the correction is quite large. Such requirements are common when synchronizing cutting knives or conveyor belts.
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 6000,1500 Step 3. Specify the master interval and starting point. Next we need to construct the ECAM table. The table is specified at uniform intervals of master positions.
3000 2250 1500 0 2000 4000 6000 Master A Figure 6.4: Electronic Cam Example This disengages the slave axis at a specified master position. If the parameter is outside the master cycle, the stopping is instantaneous. Step 8. Create program to generate ECAM table To illustrate the complete process, consider the cam relationship described by the equation: B = 0.5 * A + 100 sin (0.18*A) where A is the master, with a cycle of 2000 counts.
Instruction Interpretation #SETUP EAA EM 2000,1000 EP 20,0 n=0 #LOOP p = n∗3.6 s = @SIN [P] *100 b = n *10+s ET [n] =, b n = n+1 JP #LOOP, n<=100 EN Label Select A as master Cam cycles Master position increments Index Loop to construct table from equation Note 3.6 = 0.18∗20 Define sine position Define slave position Define table Update Counter Repeat the process End Program Step 9.
Operand Summary - Electronic CAM command description _EB Contains State of ECAM _EC Contains current ECAM index _EGa Contains ECAM status for each axis _EM Contains size of cycle for each axis _EP Contains value of the ECAM table interval _EQx Contains ECAM status for each axis Example Electronic CAM The following example illustrates a cam program with a master axis, C, and two slaves, A and B Instruction #A;vl=0 PA 0,0;BGAB;AMAB EA C EM 0,0,4000 EP400,0 ET[0]=0,0 ET[1]=40,20 ET[2]=120,60 ET[3
Figure 6.5 – Position Profiles of XYZ Contour Mode The DMC-2x00 also provides a contouring mode. This mode allows any arbitrary position curve to be prescribed for 1 to 8 axes. This is ideal for following computer generated paths such as parabolic, spherical or user-defined profiles. The path is not limited to straight line and arc segments and the path length may be infinite. Specifying Contour Segments The Contour Mode is specified with the command, CM.
Increment 1 DA=48 Time=4 DT=2 Increment 2 Increment 3 DA=240 Time=8 DT=3 DA=48 Time=16 DT=4 When the controller receives the command to generate a trajectory along these points, it interpolates linearly between the points. The resulting interpolated points include the position 12 at 1 msec, position 24 at 2 msec, etc.
Command Summary - Contour Mode COMMAND DESCRIPTION CM ABCDEFGH Specifies which axes for contouring mode. Any non-contouring axes may be operated in other modes. CD a,b,c,d,e,f,g,h Specifies position increment over time interval. Range is +/-32,000. (Zero ends contour mode, when issued following DT0) DT n Specifies time interval 2n 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.
Figure 6.7 - Velocity Profile with Sinusoidal Acceleration The DMC-2x00 can compute trigonometric functions. However, the argument must be expressed in degrees. Using our example, the equation for A is written as: A = 50T - 955 sin 3T A complete program to generate the contour movement in this 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.
JP #c,c<15 EN End first program #RUN Program to run motor CMA Contour Mode DT3 4 millisecond intervals c=0 #E CD dif[c] Contour Distance is in dif WC Wait for completion c=c+1 JP #E,c<15 DT0 CD0 Stop Contour 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-2x00 automatic array capture feature to capture position data. The captured data may then be played back in the contour mode.
SHA Servo Here WT1000 Wait 1 sec (1000 msec) CMA Specify contour mode on A axis DT2 Set contour data rate to be 22 msec i=0 Set array index to 0 #LOOP3 Subroutine to execute contour points CD dx[i];WC Contour data command; Wait for next contour point i=i+1 Update index JP#LOOP3,i<500 Continue until all array elements have been executed DT0 Set contour update rate to 0 CD0 Disable the contour mode (combination of DT0 and CD0) EN End program For additional information about automatic a
Instruction Interpretation VMAN Select Axes VA 68000000 Maximum Acceleration VD 68000000 Maximum Deceleration VS 125664 VS for 20 Hz CR 1000, -90, 3600 Ten Cycles VE BGS Stepper Motor Operation When configured for stepper motor operation, several commands are interpreted differently than from servo 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.
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 A axis to be zero.
MT Motor Type (2,-2,2.5 or -2.
When a Galil controller is configured for step motor operation, the step pulse output by the controller is internally fed back to the auxiliary encoder register. For SPM the feedback encoder on the stepper will connect to the main encoder port. Enabling the SPM mode on a controller with YS=1 executes an internal monitoring of the auxiliary and main encoder registers for that axis or axes. Position error is then tracked in step pulses between these two registers (QS command).
Half-Stepping Drive, X axis: #SETUP OE1; Set the profiler to stop axis upon error KS16; Set step smoothing MT-2; Motor type set to stepper YA2; Step resolution of the half-step drive YB200; Motor resolution (full steps per revolution) YC4000; Encoder resolution (counts per revolution) SHX; Enable axis WT50; Allow slight settle time YS1; Enable SPM mode 1/64th Step Microstepping Drive, X axis: #SETUP OE1; Set the profiler to stop axis upon error KS16; Set step smoothing MT-2; Motor typ
SP512; Set the speed PR1000; Prepare mode of motion BGX; Begin motion #LOOP;JP#LOOP; Keep thread zero alive for #POSERR to run in REM When error occurs, the axis will stop due to OE1. In REM #POSERR, query the status YS and the error QS, correct, REM and return to the main code.
SP16384; Set the speed PR10000; Prepare mode of motion BGX; Begin motion MCX JS#CORRECT; Move to correction #MOTION2 SP16384; Set the speed PR-10000; Prepare mode of motion BGX; Begin motion MCX JS#CORRECT; Move to correction JP#MOTION #CORRECT; Correction code spx=_SPX #LOOP; Save speed value SP2048; Set a new slow correction speed WT100; Stabilize JP#END,@ABS[_QSX]<10; End correction if error is within defined tolerance YRX=_QSX; Correction move MCX WT100; Stabilize JP#LOOP; K
Using the CE Command m= Main Encoder n= Second Encoder 0 Normal quadrature 0 Normal quadrature 1 Pulse & direction 4 Pulse & direction 2 Reverse quadrature 8 Reversed quadrature 3 Reverse pulse & direction 12 Reversed pulse & direction For example, to configure the main encoder for reversed quadrature, m=2, and a second encoder of pulse and direction, n=4, the total is 6, and the command for the A axis is CE 6 Additional Commands for the Auxiliary Encoder The command, DE a,b,c,d can be
method splits the filter function between the two encoders. It applies the KP (proportional) and KI (integral) terms to the position error, based on the load encoder, and applies the KD (derivative) term to the motor encoder. This method results in a stable system. The dual loop method is activated with the instruction DV (Dual Velocity), where DV 1,1,1,1 activates the dual loop for the four axes and DV 0,0,0,0 disables the dual loop.
Trapezoidal velocity profiles have acceleration rates which change abruptly from zero to maximum value. The discontinuous acceleration results in jerk which causes vibration. The smoothing of the acceleration profile leads to a continuous acceleration profile and reduces the mechanical shock and vibration. Using the IT and VT Commands: When operating with servo motors, motion smoothing can be accomplished with the IT and VT command.
ACCELERATION TIME VELOCITY TIME ACCELERATION WITH SMOOTHING TIME VELOCITY WITH SMOOTHING TIME Figure 6.9 - Trapezoidal velocity and smooth velocity profiles Using the KS Command (Step Motor Smoothing): When operating with step motors, motion smoothing can be accomplished with the command, KS. The KS command smoothes the frequency of step motor pulses. Similar to the commands, IT and VT, this produces a smooth velocity profile.
Homing The Find Edge (FE) and Home (HM) instructions may be used to home the motor to a mechanical reference. This reference is connected to the Home input line. The HM command initializes the motor to the encoder index pulse in addition to the Home input. The configure command (CN) is used to 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.
HOME SENSOR HOME SWITCH _HMA=1 _HMX=0 POSITION VELOCITY (1) MOTION BEGINS TOWARD HOME DIRECTION POSITION VELOCITY (2) MOTION REVERSE TOWARD HOME DIRECTION POSITION VELOCITY (3) MOTION TOWARD INDEX DIRECTION POSITION INDEX PULSES POSITION Figure 6.
Command Summary - Homing Operation command Description FE ABCD Find Edge Routine.
Example DMC-2X00 Instruction Interpretation #LATCH Latch program JG,5000 Jog B BG B Begin motion on B axis AL B Arm Latch for B axis #WAIT #Wait label for loop JP #WAIT,_ALB=1 Jump to #Wait label if latch has not occurred Result=_RLB Set ‘Result’ equal to the reported position of y axis Result= Print result EN End Chapter 6 Programming Motion y 75
Chapter 7 Application Programming Overview The DMC-2x00 provides a powerful programming language that allows users to customize the controller for their particular application. Programs can be downloaded into the DMC-2x00 memory freeing the host computer for other tasks. However, the host computer can send commands to the controller at any time, even while a program is being executed. Only ASCII commands can be used for application programming.
:ED Puts Editor at end of last program :ED 5 Puts Editor at line 5 :ED #BEGIN Puts Editor at label #BEGIN Line numbers appear as 000,001,002 and so on. Program commands are entered following the line numbers. Multiple commands may be given on a single line as long as the total number of characters doesn't exceed 80 characters per line. While in the Edit Mode, the programmer has access to special instructions for saving, inserting and deleting program lines.
Program Format A DMC program consists of DMC-2x00 instructions combined to solve a machine control application. Action instructions, such as starting and stopping motion, are combined with Program Flow instructions to form the complete program. Program Flow instructions evaluate real-time conditions, such as elapsed time or motion complete, and alter program flow accordingly. Each DMC-2x00 instruction in a program must be separated by a delimiter. Valid delimiters are the semicolon (;) or carriage return.
beginning the program with the label #AUTO. The program must be saved into non-volatile memory using the command, BP. Automatic Subroutines for Monitoring Conditions on page 91. #ININT Label for Input Interrupt subroutine #LIMSWI Label for Limit Switch subroutine #POSERR Label for excess Position Error subroutine #MCTIME Label for timeout on Motion Complete trip point #CMDERR Label for incorrect command subroutine #COMINT Label for communication interrupt on the aux.
REM Command If you are using Galil software to communicate with the DMC-2x00 controller, you may also include REM statements. ‘REM’ statements begin with the word ‘REM’ and may be followed by any comments which are on the same line. The Galil terminal software will remove these statements when the program is downloaded to the controller.
Instruction Interpretation #TASK1 Task1 label AT0 Initialize reference time CB1 Clear Output 1 #LOOP1 Loop1 label AT 10 Wait 10 msec from reference time SB1 Set Output 1 AT -40 Wait 40 msec from reference, then initialize reference CB1 Clear Output 1 JP #LOOP1 Repeat Loop1 #TASK2 Task2 label XQ #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
Error Code Command When there is a program error, the DMC-2x00 halts the program execution at the point where the error occurs. To display the last line number of program execution, issue the command, MG _ED. The user can obtain information about the type of error condition that occurred by using the command, TC1. This command reports back a number and a text message which describes the error condition. The command, TC0 or TC, will return the error code without the text message.
Instruction Interpretation :ED Edit Mode 000 #A Program Label 001 PR1000 Position Relative 1000 002 BGA Begin 003 PR5000 Position Relative 5000 004 EN End Q Quit Edit Mode :XQ #A Execute #A ?003 PR5000 Error on Line 3 :TC1 Tell Error Code ?7 Command not valid while running.
DMC-2x00 Event Triggers Command Function AM A B C D E FG H or S Halts program execution until motion is complete on the specified axes or motion sequence(s). AM with no parameter tests for motion complete on all axes. This command is useful for separating motion sequences in a program. AD A or B or C or D or E or F or G or H Halts program execution until position command has reached the specified relative distance from the start of the move. Only one axis may be specified at a time.
Example- Multiple Move Sequence The AM trip point is used to separate the two PR moves. If AM is not used, the controller returns a ? for the second PR command because a new PR cannot be given until motion is complete.
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.
Example - Multiple Move with Wait This example makes multiple relative distance moves by waiting for each to be complete before executing new moves.
Command Format - JP and JS FORMAT: DESCRIPTION JS destination, logical condition Jump to subroutine if logical condition is satisfied JP destination, logical condition Jump to location if logical condition is satisfied The destination is a program line number or label where the program sequencer will jump if the specified condition is satisfied. Note that the line number of the first line of program memory is 0. The comma designates "IF".
In this example, this statement will cause the program to jump to the label #TEST if V1 is less than V2 and V3 is less than V4. To illustrate this further, consider this same example with an additional condition: JP #TEST, ((V1
Using the IF and ENDIF Commands An IF conditional statement is formed by the combination of an IF and ENDIF command. The IF command has as its arguments one or more conditional statements. If the conditional statement(s) evaluates true, the command interpreter will continue executing commands which follow the IF command.
ELSE ELSE command for 2nd IF statement MG "ONLY INPUT 1 IS ACTIVE Message executed if 2nd IF is false ENDIF End of 2nd conditional statement ELSE ELSE command for 1st IF statement MG"ONLY INPUT 2 IS ACTIVE" Message executed if 1st IF statement ENDIF End of 1st conditional statement #WAIT Label to be used for a loop JP#WAIT,(@IN[1]=0) | (@IN[2]=0) Loop until Input 1& 2 are not active RI0 End Input Interrupt Routine without restoring trippoints Subroutines A subroutine is a group of instruct
beginning the program with the label #AUTO. The program must be saved into non-volatile memory using the command, BP. Automatic Subroutines for Monitoring Conditions Often it is desirable to monitor certain conditions continuously without tying up the host or DMC-2x00 program sequences. The DMC-2x00 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.
Now, when a forward limit switch occurs on the A axis, the #LIMSWI subroutine will be executed Notes regarding the #LIMSWI Routine: 1) The RE command is used to return from the #LIMSWI subroutine. 2) The #LIMSWI subroutine will be re-executed if the limit switch remains active. The #LIMSWI routine is only executed when the motor is being commanded to move.
TW 1000 Set the time out to 1000 ms PA 10000 Position Absolute command BGA Begin motion MCA Motion Complete trip point EN End main program #MCTIME Motion Complete Subroutine MG “A fell short” Send out a message EN End subroutine This simple program will issue the message “A fell short” if the A axis does not reach the commanded position within 1 second of the end of the profiled move.
Where the “,1” at the end of the command line indicates a restart; therefore, the existing program stack will not be removed when the above format executes. The following example shows an error correction routine which uses the operands.
EN End main program #COMINT Interrupt Routine JP #STOP,P2CH="0" Check for S (stop motion) JP #PAUSE,P2CH="1" Check for P (pause motion) JP #RESUME,P2CH="2" Check for R (resume motion) EN1,1 Do nothing #STOP Routine for stopping motion STA;ZS;EN Stop motion on A axis; Zero program stack; End Program #PAUSE Routine for pausing motion rate=_SPA Save current speed setting of A axis motion SPA=0 Set speed of A axis to zero (allows for pause) EN1,1 Re-enable trip-point and communication int
Mathematical and Functional Expressions Mathematical Operators For manipulation of data, the DMC-2x00 provides the use of the following mathematical operators: Operator Function + Addition - Subtraction * Multiplication / Division & Logical And (Bit-wise) | Logical Or (On some computers, a solid vertical line appears as a broken line) () Parenthesis The numeric range for addition, subtraction and multiplication operations is +/-2,147,483,647.9999. The precision for division is 1/65,000.
flen=$10000* flen Shift flen by 32 bits (IE - convert fraction, flen, to integer) len1=( flen &$00FF) Mask top byte of flen and set this value to variable ‘len1’ len2=( flen &$FF00)/$100 Let variable, ‘len2’ = top byte of flen len3= len &$000000FF Let variable, ‘len3’ = bottom byte of len len4=( len &$0000FF00)/$100 Let variable, ‘len4’ = second byte of len len5=( len &$00FF0000)/$10000 Let variable, ‘len5’ = third byte of len len6=( len &$FF000000)/$1000000 Let variable, ‘len6’ = fourth byte o
Functions FUNCTION DESCRIPTION @SIN[n] Sine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution) @COS[n] Cosine of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution) @TAN[n] Tangent of n (n in degrees, with range of -32768 to 32767 and 16-bit fractional resolution) @ASIN*[n] Arc Sine of n, between -90° and +90°. Angle resolution in 1/64000 degrees. @ACOS* [n} Arc Cosine of n, between 0 and 180°. Angle resolution in 1/64000 degrees.
Programmable Variables The DMC-2x00 allows the user to create up to 254 variables. Each variable is defines by a name which can be up to eight characters. The name must start with an alphabetic character; however, numbers are permitted in the rest of the name. Spaces are not permitted. Variable can be upper or lowercase, or any combination. Variables are case sensitive; SPEEDC ≠ speedC. Variable names should not be the same as DMC-2x00 instructions. For example, PR is not a good choice for a variable name.
Displaying the value of variables at the terminal Variables may be sent to the screen using the format, variable=. For example, v1= returns the value of the variable v1.
_LRn Returns status of Reverse Limit switch input of axis ‘n’ (equals 0 or 1) UL TIME *Returns the number of available variables 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 any associated commands. All keywords are listed in the Command Summary.
con[2]=@COS[POS]*2 Assigns the 2nd element of the array the cosine of POS * 2. timer[1]=TIME Assigns the 1st element of the array TIME Using a Variable to Address Array Elements An array element number can also be a variable. This allows array entries to be assigned sequentially using a counter.
Command Summary - Automatic Data Capture command description RA n[],m[],o[],p[] Selects up to four arrays for data capture. The arrays must be defined with the DM command. RD type1,type2,type3,type4 Selects the type of data to be recorded, where type1, type2, type3, and type 4 represent the various types of data (see table below). The order of data type is important and corresponds with the order of n,m,o,p arrays in the RA command. RC n,m The RC command begins data collection.
PR 10000,20000 Specify move distance RC1 Start recording now, at rate of 2 msec BG AB Begin motion #A;JP #A,_RC=1 Loop until done MG "DONE" Print message EN End program #PLAY Play back n=0 Initial Counter JP# DONE,N>300 Exit if done n= Print Counter apos [n]= Print X position bpos [n]= Print Y position aerr[n]= Print X error berr[n]= Print Y error n=n+1 Increment Counter #DONE Done EN End Program Deallocating Array Space Array space may be deallocated using the DA command f
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 DC 800000 Deceleration SP 5000 Speed len=3.
These keywords may be used in an applications program to decode data and they may also be used in conditional statements with logical operators.
#COMINT Interrupt routine JP #A,P2CH="A" Check for A JP #B,P2CH="B" Check for B JP #C,P2CH="S" Check for S ZS1;CI2;JP#JOGLOOP Jump if not X,Y,S #A;JS#NUM speedX=val New X speed ZS1;CI2;JP#PRINT Jump to Print #B;JS#NUM speedY=val New Y speed ZS1;CI2;JP#PRINT Jump to Print #C;ST;AMX;CI-1 Stop motion on S MG{^8}, "THE END" ZS;EN,1 End-Re-enable interrupt #NUM Routine for entering new jog speed MG "ENTER",P2CH{S},"AXIS SPEED" {N} Prompt for value #NUMLOOP; CI-1 Check for enter #NMLP
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.
EN When #A is executed, the above example will appear on the screen as: The speed is 50000 counts/sec Using the MG Command to Configure Terminals The MG command can be used to configure a terminal. Any ASCII character can be sent by using the format {^n} where n is any integer between 1 and 255. Example: MG {^07} {^255} sends the ASCII characters represented by 7 and 255 to the bus. Summary of Message Functions function description "" Surrounds text string {Fn.
Using the PF Command to Format Response from Interrogation Commands The command, PF, can change format of the values returned by theses interrogation commands: BL ? LE ? DE ? PA ? DP ? PR ? EM ? TN ? FL ? VE ? IP ? TE TP The numeric values may be formatted in decimal or hexadecimal with a specified number of digits to the right and left of the decimal point using the PF command. Position Format is specified by: PF m.
LZ1 Enables the LZ function TP Tell Position Interrogation Command -9, 5 Response (Without Leading Zeros) Local Formatting of Response of Interrogation Commands The response of interrogation commands may be formatted locally. To format locally, use the command, {Fn.m} or {$n.m} on the same line as the interrogation command. The symbol F specifies that the response should be returned in decimal format and $ specifies hexadecimal.
Instruction Interpretation v1=10 Assign v1 v1= Return v1 :0000000010.0000 v1={F4.2} :0010.00 v1={$4.2} :$000A.00 Default Format Specify local format New format Specify hex format Hex value v1="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.
Example- Set Bit and Clear Bit Instruction Interpretation SB6 Sets bit 6 of output port CB4 Clears bit 4 of output port Example- Output Bit The Output Bit (OB) instruction is useful for setting or clearing outputs depending on the value of a variable, array, input or expression. Any non-zero value results in a set bit. Instruction Interpretation 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.
Example - Using Inputs to control program flow Instruction Interpretation JP #A,@IN[1]=0 Jump to A if input 1 is low JP #B,@IN[2]=1 Jump to B if input 2 is high AI 7 Wait until input 7 is high AI -6 Wait until input 6 is low Example - Start Motion on Switch Motor A must turn at 4000 counts/sec when the user flips a panel switch to on. When panel switch is turned to off position, motor A must stop turning. Solution: Connect panel switch to input 1 of DMC-2x00.
after the execution of the #ININT subroutine, the Zero Stack (ZS) command is used followed by unconditional jump statements. Important: Use the RI command (not EN) to return from the #ININT subroutine.
PA VP Command position BGA Start motion AMA After completion JP #LOOP Repeat EN End Example - Position Follower (Continuous Move) Method: Read the analog input, compute the commanded position and the position error. Command the motor to run at a speed in proportions to the position error.
8-Bit I/O Block Block Binary Representation Decimal Value for Block 20 1 17-24 2 25-32 3 33-40 4 22 4 41-48 5 2 3 8 49-56 6 24 16 7 5 32 6 64 7 128 57-64 65-72 8 73-80 9 1 2 21 2 2 2 The simplest method for determining n: Step 1. Determine which 8-bit I/O blocks to be configured as outputs. Step 2. From the table, determine the decimal value for each I/O block to be set as an output. Step 3. Add up all of the values determined in step 2.
For example, if block 8 is configured as an output, the following command may be issued: OP 7,,,,7 This command will set bits 1,2,3 (block 0) and bits 65,66,67 (block 8) to 1. Bits 4 through 8 and bits 68 through 80 will be set to 0. All other bits are unaffected. When accessing I/O blocks configured as inputs, use the TIn command. The argument 'n' refers to the block to be read (n=0,2,3,4,5,6,7,8 or 9). The value returned will be a decimal representation of the corresponding bits.
Instruction Interpretation #A Label AI1 Wait for input 1 PR 6370 Distance SP 3185 Speed BGA Start Motion AMA After motion is complete SB1 Set output bit 1 WT 20 Wait 20 ms CB1 Clear output bit 1 WT 80 Wait 80 ms JP #A Repeat the process START PULSE I1 MOTOR VELOCITY OUTPUT PULSE output TIME INTERVALS move wait ready move Figure 7.1 - Motor Velocity and the Associated Input/Output signals A-B Table Controller An A-B-C system must cut the pattern shown in Fig. 7.2.
1 inch = 40,000 counts and the speeds of 1 in/sec = 40,000 count/sec 5 in/sec = 200,000 count/sec an acceleration rate of 0.1g equals 0.1g = 38.6 in/s2 = 1,544,000 count/s2 Note that the circular path has a radius of 2" or 80000 counts, and the motion starts at the angle of 270° and traverses 360° in the CW (negative direction). Such a path is specified with the instruction CR 80000,270,-360 Further assume that the C must move 2" at a linear speed of 2" per second.
PR,,80000 Raise C BGC AMC VP -37600,-16000 Return AB to start VE VS 200000 BGS AMS EN B R=2 4 B C 4 9.3 A 0 A Figure 7.2 - Motor Velocity and the Associated Input/Output signals Speed Control by Joystick The speed of a motor is controlled by a joystick. The joystick produces a signal in the range between 10V and +10V. The objective is to drive the motor at a speed proportional to the input voltage.
Speed = 20000 x vin The corresponding velocity for the motor is assigned to the VEL variable. Instruction #A JG0 BGA #B vin=@AN[1] vel=vin*20000 JG vel JP #B EN Position Control by Joystick This system requires the position of the motor to be proportional to the joystick angle. Furthermore, the ratio between the two positions must be programmable.
The basic dilemma is where to mount the sensor. If you use a rotary sensor, you get a 4 micron backlash error. On the other hand, if you use a linear encoder, the backlash in the feedback loop will cause oscillations due to instability. An alternative approach is the dual-loop, where we use two 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.
THIS PAGE LEFT BLANK INTENTIONALLY DMC-2X00 Chapter 7 Application Programming y 125
Chapter 8 Hardware & Software Protection Introduction The DMC-2x00 provides several hardware and software features to check for error conditions and to inhibit the motor on error. These features help protect the various system components from damage. WARNING: Machinery in motion can be dangerous! It is the responsibility of the user to design effective error handling and safety protection as part of the machine.
3. There is a failure on the controller and the processor is resetting itself. 4. There is a failure with the output IC which drives the error signal. Input Protection Lines General Abort - A low input stops commanded motion instantly without a controlled deceleration. For any axis in which the Off-On-Error function is enabled, the amplifiers will be disabled. This could cause the motor to ‘coast’ to a stop.
Programmable Position Limits The DMC-2x00 provides programmable forward and reverse position limits. These are set by the BL and FL software commands. Once a position limit is specified, the DMC-2x00 will not accept position commands beyond the limit. Motion beyond the limit is also prevented.
SHA Servo motor here to clear error RE Return to main program NOTE: An applications program must be executing for the #POSERR routine to function. Limit Switch Routine The DMC-2x00 provides forward and reverse limit switches which inhibit motion in the respective direction. There is also a special label for automatic execution of a limit switch subroutine. The #LIMSWI label specifies the start of the limit switch subroutine.
Chapter 9 Troubleshooting Overview The following discussion may help you get your system to work. Potential problems have been divided into groups as follows: 1. Installation 2. Communication 3. Stability and Compensation 4. Operation The various symptoms along with the cause and the remedy are described in the following tables. Installation SYMPTOM CAUSE REMEDY Motor runs away when connected to amplifier with no additional inputs. Amplifier offset too large.
Communication SYMPTOM CAUSE REMEDY Using terminal emulator, cannot communicate with controller. Selected comm. port incorrect Try another comport Same as above Selected baud rate incorrect Check to be sure that baud rate same as dip switch settings on controller, change as necessary. SYMPTOM CAUSE REMEDY Motor runs away when the loop is closed. Wrong feedback polarity. Invert the polarity of the loop by inverting the motor leads (brush type) or the encoder. Motor oscillates.
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 ENCODER DRIVER MOTOR 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.
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 3 MOTION PROGRAMMING 2 MOTION PROFILING 1 CLOSED-LOOP 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.
X VELOCITY Y VELOCITY X POSITION Y POSITION TIME Figure 10.3 - Velocity and Position Profiles Operation of Closed-Loop Systems To understand the operation of a servo system, we may compare it to a familiar closed-loop operation, adjusting the water temperature in the shower. One control objective is 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 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.
Motor-Amplifier The motor amplifier may be configured in three modes: 1. Voltage Drive 2. Current Drive 3. Velocity Loop The operation and modeling in the three modes is as follows: Voltage Drive The amplifier is a voltage source with a gain of Kv [V/V].
where Kt and J are as defined previously. For example, a current amplifier with Ka = 2 A/V with the motor described by the previous example will have the transfer function: P/V = 1000/s2 [rad/V] If the motor is a DC brushless motor, it is driven by an amplifier that performs the commutation. The combined transfer function of motor amplifier combination is the same as that of a similar brush motor, as described by the previous equations.
VOLTAGE SOURCE E V 1/Ke (STm+1)(STe+1) Kv W 1 S P CURRENT SOURCE I V Kt JS Ka W 1 S P VELOCITY LOOP V 1 Kg(ST1+1) W 1 S P Figure 10.6 - Mathematical model of the motor and amplifier in three operational modes Encoder The encoder generates N pulses per revolution. It outputs two signals, Channel A and B, which are in quadrature. Due to the quadrature relationship between the encoder channels, the position resolution is increased to 4N quadrature counts/rev.
DAC The DAC or D-to-A converter converts a 16-bit number to an analog voltage. The input range of the numbers is 65536 and the output voltage range is +/-10V or 20V. Therefore, the effective gain of the DAC is K= 20/65536 = 0.0003 [V/count] Digital Filter The digital filter has three elements in series: PID, low-pass and a notch filter. The transfer function of the filter.
For example, if the filter parameters of the DMC-2x00 are KP = 4 KD = 36 KI = 2 PL = 0.75 T = 0.001 s the digital filter coefficients are K = 160 A = 0.9 C=1 a = 250 rad/s and the equivalent continuous filter, G(s), is G(s) = [16 + 0.144s + 1000/s} ∗ 250/ (s+250) The notch filter has two complex zeros, Z and z, and two complex poles, P and p. The effect of the notch filter is to cancel the resonance affect by placing the complex zeros on top of the resonance poles.
System Analysis To analyze the system, we start with a block diagram model of the system elements. The analysis procedure is illustrated in terms of the following example. Consider a position control system with the DMC-2x00 controller and the following parameters: Kt = 0.1 Nm/A Torque constant J = 2.10-4 kg.m2 System moment of inertia R=2 Ω Motor resistance Ka = 4 A/V Current amplifier gain KP = 12.
V Σ FILTER ZOH DAC AMP MOTOR 50+0.980s 2000 S+2000 0.0003 4 500 S2 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, ωc at which A(j ωc) equals one. This can be done by the Bode plot of A(j ωc), as shown in Fig. 10.8. Magnitude 4 1 50 200 2000 W (rad/s) 0.1 Figure 10.
Finally, the phase margin, PM, equals PM = 180° + α = 70° As long as PM is positive, the system is stable. However, for a well damped system, PM should be between 30 degrees and 45 degrees. The phase margin of 70 degrees given above indicated overdamped response. Next, we discuss the design of control systems. System Design and Compensation The closed-loop control system can be stabilized by a digital filter, which is preprogrammed in the DMC-2x00 controller.
The next step is to combine all the system elements, with the exception of G(s), into one function, L(s). L(s) = M(s) Ka Kd Kf H(s) =3.17∗106/[s2(s+2000)] Then the open loop transfer function, A(s), is A(s) = L(s) G(s) Now, determine the magnitude and phase of L(s) at the frequency ωc = 500. L(j500) = 3.17∗106/[(j500)2 (j500+2000)] This function has a magnitude of |L(j500)| = 0.
The function G is equivalent to a digital filter of the form: D(z) = 4KP + 4KD(1-z-1) where P = 4 ∗ KP D = 4 ∗ KD ∗ T and 4 ∗ KD = D/T Assuming a sampling period of T=1ms, the parameters of the digital filter are: KP = 20.6 KD = 68.6 The DMC-2x00 can be programmed with the instruction: KP 20.6 KD 68.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.
Appendices Electrical Specifications Servo Control ACMD Amplifier Command: +/-10 volt analog signal. Resolution 16-bit DAC or 0.0003 volts. 3 mA maximum A+,A-,B+,B-,IDX+,IDX- Encoder and Auxiliary TTL compatible, but can accept up to +/-12 volts. Quadrature phase on CHA, CHB. Can accept singleended (A+,B+ only) or differential (A+,A-,B+,B-). Maximum A, B edge rate: 12 MHz. Minimum IDX pulse width: 80 nsec. Stepper Control Pulse TTL (0-5 volts) level at 50% duty cycle.
IN[83], IN[84] (DMC-2x20 through DMC-2x80 only) IN[85], IN[86] (DMC-2x30 through DMC-2x80 only) IN[87], IN[88] (DMC-2x40 through DMC-2x80 only) IN[89], IN[90] (DMC-2x50 through DMC-2x80 only) IN[91], IN[92] (DMC-2x60 through DMC-2x80 only) IN[93], IN[94] (DMC-2x70 through DMC-2x80 only) IN[95], IN[96] Auxiliary Encoder Inputs for B (Y) axis. Line Receiver Inputs - accepts differential or single ended voltages with voltage range of +/- 12 volts. Auxiliary Encoder Inputs for C (Z) axis.
Velocity Accuracy: Long Term Phase-locked, better than .005% Short Term System dependent Position Range: +/-2147483647 counts per move Velocity Range: Up to 12,000,000 counts/sec servo; 3,000,000 pulses/sec-stepper Velocity Resolution: 2 counts/sec Motor Command Resolution: 16 bit or 0.
Connectors for DMC-2x00 Main Board DMC-2x00 Axes A-D High Density Connector 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 DMC-2X00 Analog Ground gnd 5v error output reset encoder-compare output gnd gnd motor command W sign W / dir W pwm W / step W motor command Z sign Z / dir Z pwm Z / step Y motor command Y sign Y / dir Y pwm Y / step Y motor command X sign X / dir X pwm X / step X amp enable W amp enable Z amp enable y amp e
46 47 48 49 50 B-W I+W I-W +12V +12V 96 analog in 6 97 analog in 7 98 analog in 8 99 -12v 100 -12v DMC-2x00 Axes E-H High Density Connector 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 150 • Appendices nc gnd 5v error output reset encoder-compare output gnd gnd motor command H sign H / dir H pwm H / step H motor command G sign G / dir G pwm G / step G motor command F sign F / dir F pwm F / step F motor command E sign E / dir E pwm
43 44 45 46 47 48 49 50 A+H A-H B+H B-H I+H I-H +12V +12V 93 nc 94 nc 95 nc 96 nc 97 nc 98 nc 99 -12v 100 -12v DMC-2x00 Auxiliary Encoder 36 Pin High Density Connector 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 5v gnd +aaX -aaX +abX -abX +aaY -aaY +abY -abY +aaZ -aaZ +abZ -abZ +aaW -aaW +abW -abW 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 5v gnd +aaE -aaE +abE -abE +aaF -aaF +abF -abF +aaG -aaG +abG -abG +aaH -aaH +abH -abH DMC-2x00 Extended I/O 80 Pin High Density Connector Pin Signal
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 152 • Appendices I/O GND I/O GND I/O GND I/O GND I/O GND I/O GND I/O I/O I/O I/O I/O I/O I/O I/O I/O +5V I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O GND I/O GND I/O GND I/O GND I/O GND I/O GND I/O GND 7 -7 -7 -7 -7 -7 -7 6 6 6 6 6 6 6 6 -4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 3 -3 -3 3 -3 -3 -3 -- 63 -62 -61 -60 -59 -58 -57 56 55 54
71 72 73 74 75 76 77 78 79 80 I/O I/O I/O I/O I/O I/O I/O I/O I/O +5V 3 2 2 2 2 2 2 2 2 -- 25 24 23 22 21 20 19 18 17 -- 0 7 6 5 4 3 2 1 0 +5V RS-232-Main Port Standard connector and cable, 9Pin Pin 1 2 3 4 5 6 7 8 9 Signal CTS – OUTPUT Transmit data-output Receive data-input RTS – input Gnd CTS – output RTS – input CTS – output Nc RS-232-Auxiliary Port Standard connector and cable, 9Pin DMC-2X00 Pin Signal 1 CTS – input 2 Transmit data-input 3 Receive data-output 4 RTS – output 5 Gnd 6
Ethernet 100 BASE-T/10 BASE-T - Kycon GS-NS-88-3.
7 Signal Ground 8 Carrier Detect 9 +Transmit Current Loop Return 10 NC 11 -Transmit Current Loop Data 12 NC 13 NC 14 NC 15 NC 16 NC 17 NC 18 +Receive Current Loop Data 19 NC 20 Data Terminal Ready 21 NC 22 Ring Indicator 23 NC 24 NC 25 -Receive Current Loop Return 9 Pin Serial Connector (Male, D-type) Standard serial port connections found on most computers.
7 (Signal Ground) 5 Controller Ground 9 Cable to Connect Computer 9 pin to Main Serial Port Cable (9 pin) 9 Pin (FEMALE - Computer) 9 Pin (FEMALE - Controller) 1 (Carrier Detect) 1 2 (Receive Data) 2 3 (Transmit Data) 3 4 (Data Terminal Ready) 4 5 (Signal Ground) 5 Controller Ground 9 Cable to Connect Computer 25 pin to Auxiliary Serial Port Cable (9 pin) 25 Pin (Male - terminal) 9 Pin (male - controller) 20 (Data Terminal Ready) 1 2 (Transmit Data) 2 3 (Receive Data) 3 8 (Carrier
Pin-Out Description for DMC-2x00 Outputs Analog Motor Command +/- 10 volt range signal for driving amplifier. In servo mode, motor command output is updated at the controller sample rate. In the motor off mode, this output is held at the OF command level. Amp Enable Signal to disable and enable an amplifier. Amp Enable goes low on Abort and OE1. PWM/STEP OUT PWM/STEP OUT is used for directly driving power bridges for DC servo motors or for driving step motor amplifiers.
Encoder Index, I+ Once-Per-Revolution encoder pulse. Used in Homing sequence or Find Index command to define home on an encoder index. Encoder, A-, B-, I- Differential inputs from encoder. May be input along with CHA, CHB for noise immunity of encoder signals. The CHA- and CHBinputs are optional. Auxiliary Encoder, Aux A+, Aux B+, Aux I+, Aux A-, Aux B-, Aux I- Inputs for additional encoder. Used when an encoder on both the motor and the load is required.
Jumper Description for DMC-2x00 Jumper JP5 MB JP7 MB Label Function (If jumpered) SMX For each axis, the SM jumper selects the SM SMY magnitude mode for servo motors or selects SMZ stepper motors. If you are using stepper SMW motors, SM must always be jumpered. The Analog command is not valid with SM jumpered. SM E SM F SM G SM H OPT Reserved JP1 MB MRST Master Reset enable. Returns controller to factory default settings and erases EEPROM. Requires power-on or RESET to be activated.
Dimensions for DMC-2x00 160 • Appendices DMC-2X00
Accessories and Options DMC-20x0 -16 CABLE-100-1M CABLE-100-4M CABLE-80-1M CABLE-80-4M CABLE-36-1M CABLE-36-4M CABLE-USB-2M CABLE-USB-3M CB-50-100 CB-50-80 ICM-1900 -LAEN -OPTO -OPTOHC AMP-19x0 -OPTO -OPTOHC ICM-2900 -LAEN -FL -ST -OPTO -OPTOHC 1- 8 axis motion controllers where x specifies the number of axes 16-Bit ADC Option for analog inputs 100-pin high density cable, 1 meter 100-pin high density cable, 4 meter 80-pin high density cable, 1 meter 80-pin high density cable, 4 meter 36-pin high density ca
ICM-2900 Interconnect Module Mechanical Specifications Description Unit Specification ----------- ---- ------------- Weight lb 2.3 Length in 12.25 Width in 2.61 Height in 2.37 Environmental Specifications Description Unit Specification ----------- ---- ------------- Storage Temperature C -25 to +70 Operating Temperature C 0 to +70 Operating Altitude feet 10,000 Equipment Maintenance The ICM-2900 does not require maintenance.
DMC-2X00 3 PWMX O X axis pulse output for input to stepper motor amp 3 GND O Signal Ground 4 MOCMDY O Y axis motor command to amp input (w / respect to ground) 4 SIGNY O Y axis sign output for input to stepper motor amp 4 PWMY O Y axis pulse output for input to stepper motor amp 4 GND O Signal Ground 5 OUT PWR I Isolated Power In for Opto-Isolation Option 5 ERROR O Error output 5 CMP O Circular Compare Output 5 OUT GND O Isolated Ground for Opto-Isolation Option 6 A
164 • Appendices 13 IN8 I Input 8 14 XLATCH I Input 1 (Used for X axis latch input) 14 YLATCH I Input 2 (Used for Y axis latch input) 14 ZLATCH I Input 3 (Used for Z axis latch input) 14 WLATCH I Input 4 (Used for W axis latch input) 15 +5V O + 5 volts 15 +12V O +12 volts 15 -12V O -12 volts 15 ANA GND O Isolated Analog Ground for Use with Analog Inputs 16 INCOM I Input Common For General Use Inputs 16 ABORT I Abort Input 16 RESET I Reset Input 16 GND O Si
DMC-2X00 24 +MAZ I Z Main encoder A+ 24 -MAZ I Z Main encoder A- 24 +MBZ I Z Main encoder B+ 24 -MBZ I Z Main encoder B- 25 +5V O + 5 volts 25 +INW I W Main encoder Index + 25 -INW I W Main encoder Index - 25 GND O Signal Ground 26 +MAW I W Main encoder A+ 26 -MAW I W Main encoder A- 26 +MBW I W Main encoder B+ 26 -MBW I W Main encoder B- Appendices y 165
ICM-2900 Drawing: 2.40" 2.75" 2.
ICM-2908 Interconnect Module The ICM-2908 interconnect module provides easy connections between the auxiliary encoder connections of the DMC-2x00 series controller and other system elements. The ICM-2908 accepts the 36 pin high density cable (CABLE-36) from the controller and provides terminal blocks for easy access. Each terminal is labeled for quick connection. One ICM-1908 provides access to all of the auxiliary encoders on a DMC-2x00 (up to 8 axes).
ICM-2908 Drawing: 2.40" 2.75" 2.40" ICM-2908 Holes for mounting to DMC2000 (2 holes) +AAY +AAX -AAY -AAX +ABY +ABX -ABY -ABX +AAW +AAZ -AAW -AAZ +ABW +ABZ -ABW -ABZ GND +5V GND +5V GND +5V GND +5V +AAF +AAE -AAF -AAE +ABF +ABE -ABF -ABE +AAH +AAG -AAH -AAG +ABH +ABG -ABH -ABG Front Solderless connections insert screwdriver to open contacts for insertion/ removal of lead wires 36 pin high density connector AMP #2-178238-5 3M #10236-55-G3VC 12.
PCB Layout of the ICM-2900: ANALOG SWITCH U1 RP4 MAX 332 AMPLIFIER ENABLE BUFFER 12V 7407 7407 5V U1 U6 RP1 * FOR 5 VOLT AMPLIFIER ENABLE PLACE PIN 1 OF RP1 ON PIN LABELED "5V" * FOR 12 VOLT AMPLIFIER ENABLE PLACE PIN 1 OF RP1 ON PIN LABELED "12V" U2 RP2 RP3 OPTIONAL OPTO-ISOLATION CIRCUIT 100PIN HIGH DENSITY CONNECTOR AMP part # 2-178238-9 ICM-2900 BOARD LAYOUT DMC-2X00 Appendices y 169
ICM-1900 Interconnect Module The ICM-1900 interconnect module provides easy connections between the DMC-2x00 series controllers and other system elements, such as amplifiers, encoders, and external switches. The ICM1900 accepts the 100-pin main cable and 25-pin auxiliary cable and breaks them into screw-type terminals. Each screw terminal is labeled for quick connection of system elements. An ICM-1900 is required for each set of 4 axes. (Two required for DMC-2x50 thru DMC-2x80).
DMC-2X00 24 SIGNW O W axis sign output for input to stepper motor amp 25 PWMW O W axis pulse output for input to stepper motor amp 26 MOCMDZ O Z axis motor command to amp input (w / respect to ground) 27 SIGNZ O Z axis sign output for input to stepper motor amp 28 PWMZ O Z axis pulse output for input to stepper motor amp 29 MOCMDY O Y axis motor command to amp input (w / respect to ground) 30 SIGNY O Y axis sign output for input to stepper motor amp 31 PWMY O Y axis pulse out
66 OUT1 O Output 1 67 OUT2 O Output 2 68 OUT3 O Output 3 69 OUT4 O Output 4 70 OUT5 O Output 5 71 OUT6 O Output 6 72 OUT7 O Output 7 73 OUT8 O Output 8 74 GND 75 AN1 I Analog Input 1 76 AN2 I Analog Input 2 77 AN3 I Analog Input 3 78 AN4 I Analog Input 4 79 AN5 I Analog Input 5 80 AN6 I Analog Input 6 81 AN7 I Analog Input 7 82 AN8 I Analog Input 8 83 +MAX I X Main encoder A+ 84 -MAX I X Main encoder A- 85 +MBX I X Main encoder B+
108 -MBW I W Main encoder B- 109 +INW I W Main encoder Index + 110 -INW I W Main encoder Index - 111 +12V +12 volts 112 -12V -12 volts ICM-1900 Drawing: 13.500" 12.560" 11.620" 0.220" 2.000" 6.880" 4.940" 0.440" Figure A-3 AMP-19x0 Mating Power Amplifiers The AMP-19x0 series are mating, brush-type servo amplifiers for the DMC-2x00. The AMP-1910 contains 1 amplifier: the AMP-1920, 2 amplifiers; the AMP-1930, 3 amplifiers; and the AMP-1940, 4 amplifiers.
• Screw-type terminals for easy connection to motors, encoders, and switches • Steel mounting plate with ¼” keyholes Specifications Minimum motor inductance: 1 mH PWM frequency: 30 kHz Ambient operating temperature: 0o to 70o C Dimensions: Weight: Mounting: Keyholes – ¼” ∅ Gain: 1 amp/V Opto-Isolated Outputs for ICM-2900 / ICM-1900 / AMP19x0 The ICM/AMP 1900 and ICM-2900 modules from Galil have an option for opto-isolated outputs.
active high logic and care should be taken. Using active low logic should avoid any problems associated with the outputs floating high. Configuring the Amplifier Enable for ICM-2900 / ICM1900 The ICM-1900 and ICM-2900 modules can be configured to provide an active low signal to enable external amplifiers. These modules can also be configured for voltage levels other than TTL. -LAEN Option: The standard configuration of the AEN signal is TTL active high.
IOM-1964 Opto-Isolation Module for Extended I/O Description: • Provides 64 optically isolated inputs and outputs, each rated for 2mA at up to 28 VDC • Configurable as inputs or outputs in groups of eight bits • Provides 16 high power outputs capable of up to 500mA each • Connects to controller via 80 pin shielded cable • All I/O points conveniently labeled • Each of the 64 I/O points has status LED • Dimensions 6.8” x 11.
of extended I/O on the controller. Each bank is individually configured as an input or output bank by inserting the appropriate integrated circuits and resistor packs. The hardware configuration of the IOM-1964 must match the software configuration of the controller card. All DMC-2x00 series controllers have general purpose I/O connections.
I/O point. The numbers above the Bank 0 label indicate the number of the I/O point corresponding to the LED above it. Digital Inputs Configuring a bank for inputs requires that the Ux3 and Ux4 sockets be populated with NEC2505 optical isolation integrated circuits. The IOM-1964 is shipped with a default configuration of banks 27 configured as inputs. The output IC sockets Ux1 and Ux2 must be empty. The input IC’s are labeled Ux3 and Ux4.
Sinking I/OCn Sourcing +5V I/On Current NPN output I/OCn GND PNP output I/On Current Figure A-10 Whether connected in a sinking or sourcing circuit, only two connections are needed in each case. When the NPN output is 5 volts, then no current flows and the input reads 1. When the NPN output goes to 0 volts, then it sinks current and the input reads 0. The PNP output works in a similar fashion, but the voltages are reversed i.e.
I/OCn VISO Vpwr Current PWROUT n External Isolated Power Supply L o a d GNDISO OUTCn Figure A-12 The power outputs must be connected in a driving configuration as shown on the previous page.
The resistor pack RPx3 limits the amount of current available to source, as well as affecting the low level voltage at the I/O output. The maximum sink current is 2mA regardless of RPx3 or I/OC voltage, determined by the NEC2505 optical isolator IC. The maximum source current is determined by dividing the external power supply voltage by the resistor value of RPx3. The high level voltage at the I/O output is equal to the external supply voltage at I/OC.
High Power Digital Outputs • Maximum external power supply voltage: 28 VDC • Minimum external power supply voltage: 4 VDC • Maximum source current, per output: 500mA • Maximum sink current: sinking circuit inoperative Standard Digital Outputs • Maximum external power supply voltage: 28 VDC • Minimum external power supply voltage: 4 VDC • Maximum source current: limited by pull up resistor value • Maximum sink current: 2mA Relevant DMC Commands CO n Configures the 64 bits of extended I/O in
DMC-2X00 REV A+B TERMINAL # REV C TERMINAL # LABEL DESCRIPTION BANK 10 10 I/O75 I/O bit 75 7 11 9 I/O74 I/O bit 74 7 12 12 I/O73 I/O bit 73 7 13 11 OUTC73-80 Out common for I/O 73-80 7 14 14 I/OC73-80 I/O common for I/O 73-80 7 15 13 I/O72 I/O bit 72 6 16 16 I/O71 I/O bit 71 6 17 15 I/O70 I/O bit 70 6 18 18 I/O69 I/O bit 69 6 19 17 I/O68 I/O bit 68 6 20 20 I/O67 I/O bit 67 6 21 19 I/O66 I/O bit 66 6 22 22 I/O65 I/O bit 65 6 23 21 OUTC6
184 • Appendices REV A+B TERMINAL # REV C TERMINAL # LABEL 53 51 OUTC41-48 Out common for I/O 41-48 3 54 54 I/OC41-48 I/O common for I/O 41-48 3 55 53 I/O40 I/O bit 40 2 56 56 I/O39 I/O bit 39 2 57 55 I/O38 I/O bit 38 2 58 58 I/O37 I/O bit 37 2 59 57 I/O36 I/O bit 36 2 60 60 I/O35 I/O bit 35 2 61 59 I/O34 I/O bit 34 2 62 62 I/O33 I/O bit 33 2 63 61 OUTC33-40 Out common for I/O 33-40 2 64 64 I/OC33-40 I/O common for I/O 33-40 2 65 63 I/O32 I/
• REV A+B TERMINAL # REV C TERMINAL # LABEL DESCRIPTION BANK 96 96 I/OC17-24 I/O common for I/O 17-24 0 97 95 PWROUT24 Power output 24 0 98 98 PWROUT23 Power output 23 0 99 97 PWROUT22 Power output 22 0 100 100 PWROUT21 Power output 21 0 101 99 PWROUT20 Power output 20 0 102 102 PWROUT19 Power output 19 0 103 101 PWROUT18 Power output 18 0 104 104 PWROUT17 Power output 17 0 103 GND Ground Silkscreen on Rev A board is incorrect for these terminals.
21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 186 • Appendices DMC-2X00
JC6 50 PIN IDC DMC-2X00 J9 100 PIN HIGH DENSITY CONNECTOR 1 51 2 52 3 53 4 54 5 55 6 56 7 57 8 58 9 59 10 60 11 61 12 62 13 63 14 64 15 65 16 66 17 67 18 68 19 69 20 70 21 71 22 72 23 73 24 74 25 75 26 76 27 77 28 78 29 79 30 80 31 81 32 82 33 83 34 84 35 85 36 86 37 87 38 88 39 89 40 90 41 91 42 92 43 93 44 94 Appendices y 187
45 95 46 96 47 97 48 98 49 99 50 100 CB-50-100 Drawing: 15/16" 1/8" 1/8"D, 4 places 1/8" Mounting bracket for attaching inside PC CB 50-100 REV A GALIL MOTION CONTROL MADE IN USA J9 JC8 JC6, JC8 - 50 pin shrouded headers w/ center key JC6 JC8 - pins 1-50 of J9 JC6 - pins 51-100 of J9 1/51 J9 - 100 pin connector AMP part # 2-178238-9 4 1/2" 21/71 41/91 1/8" 1/2" 9/16" 1 1/4" Figure A-15 188 • Appendices DMC-2X00
JC8 (IDC 50 Pin) Pin1 (2.975", 0.6125" ) JC6 (IDC 50 Pin) Pin1 (2.975", 0.9875" ) 1/8"D, 4 places CB 50-100 REV A GALIL MOTION CONTROL MADE IN USA J9 - 100 pin connector AMP part # 2-178238-9 (Pin 1) J9 DETAIL 1 JC8 JC6, JC8 - 50 pin shrouded headers w/ center key 51 2 JC6 3 52 53 4 JC8 - pins 1-50 of J9 JC6 - pins 51-100 of J9 Figure A-16 CB-50-80 Adapter Board The CB-50-80 adapter board can be used to convert the CABLE-80 to (2) 50 Pin Ribbon Cables.
Connectors: JC8 and JC6: 50 Pin Male IDC J9: 80 Pin High Density Connector, AMP PART #3-178238-0 JC8 J9 JC8 J9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 GND 19 GND 21 GND 23 GND 25 GND 27 GND 29 GND 31 GND 32 GND 33 GND 34 38 39 40 41 42 43 44 45 46 47 48 49 50 GND 35 GND 36 GND 37 GND 38 GND 39 GND +5V GND 190 • Appendices DMC-2X00
DMC-2X00 JC6 J9 (Continued) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 GND 59 GND 61 GND 63 GND 65 GND 67 GND 69 GND 71 GND 72 GND 73 GND 74 GND 75 GND 76 GND 77 GND 78 GND 79 GND +5V GND Appendices y 191
CB-50-80 Drawing: CB-50-80 Outline 1/8" 15/16" 1/8" 1/8"D, 4 places CB 50-80 REV A1 GALIL MOTION CONTROL MADE IN USA J9 JC8 JC6 Mounting bracket for attaching inside PC JC6, JC8 - 50 pin shrouded headers w/ center key JC8 - pins 1-50 of J9 JC6 - pins 51-100 of J9 J9 - 80 pin connector 3M part # N10280-52E2VC AMP part # 3-178238-0 4 1/2" 1/8" 1/2" 9/16" 1 1/4" Figure A-17 192 • Appendices DMC-2X00
CB-50-80 Layout 1/8"D, 4 places JC6 (IDC 50 Pin) Pin1 () CB 50-80 REV A GALIL MOTION CONTROL MADE IN USA JC8 (IDC 50 Pin) Pin1 ( ) J9 - 80 pin connector AMP part # 3-178238-0 (Pin 1) J9 DETAIL 1 JC6, JC8 - 50 pin shrouded headers w/ center key JC8 2 JC6 3 41 42 43 4 Figure A-18 DMC-2X00 Appendices y 193
TERM-1500 Operator Terminal Two types of terminals are offered from Galil; the hand-held unit and the panel mount unit. Both have the same programming characteristics.
The panel mount terminal is shown below: Figure A-20 Features For easy data entry to DMC-2x00 motion controller 4 line x 20 character Liquid Crystal Display Full numeric keypad Five programmable function keys Available in Hand-held or Panel Mount No external power supply required Connects directly to RS232 port P2 via coiled cable Description The TERM-2000 is a compact ASCII terminal for use with the DMC-2x00 motion controller.
Specifications - Panel Mount Keypad 30-Key; 5 rows x 6 columns ; 5x7 font Display 4 row x 20 character LCD Power 5 volts, 30mA Keypad Maps - Hand-Held 30 Keys: 5 keys across, 6 down Single Key Output 6 F1 (22) F2 (23) F3 (24) F4 (25) 5 1 2 3 4 4 5 6 3 7 8 9 2 1 F5 (26) 0 CTRL SHIFT SPACE BKSPC ENTER Shift Key Output 6 A B C D E 5 F G H I J 4 K L M N O 3 P Q R S T 2 U V W X Y 1 CTRL SHIFT Z , ? CTRL Key Output 6 (18) (16) (9) (4) (17) 5
# is [5,1] Keypad Map - Panel Mount – 6 columns x 5 rows Single Key Output 5 F1 1 2 3 4 F2 4 5 6 3 F3 7 8 9 2 F4 - 0 .
Erasing Display ESC E Clear Display and Home ESC I Clear Display ESC J Cursor to End of Display ESC K Cursor to End of Line ESC M Line Containing Cursor Sounds ESC T Short Bell ESC L Long Bell ESC P Click ESC Q Alert Cursor Style ESC F Underscore Cursor On ESC G Underscore Cursor Off ESC R Blinking Cursor On ESC S Blinking Cursor Off Key Clicks (audible sounds from terminal) ESC U Key Click Enable ESC V Key Click Disable Identify (sends “TT!” then terminal firmware version) ESC
Default Configuration: Baud Rate 9600 Data bits 7 Parity Ignore PE Display enabled Repeat Fast Echo Disabled Handshake Disabled Self Test Disabled Key Click - Disabled Space [2,2] Key Click - Enabled Space [1,2] Clear Display and Home Space [5,6] Function Keys F3 Allows function keys to be configured; Follow prompts on display to change function keys Default Function Keys F1 22 decimal F2 23 decimal F3 24 decimal F4 25 deci
#B; JP#B;EN End Program #COMINT Interrupt Routine JS #XMOVE,P2CH=F1 Jump to X move if F1 JS #YMOVE,P2CH=F2 Jump to Y move if F2 EN1,1 End, Re-enable comm interrupt & restore trip point #XMOVE;PR1000;BGX;EN Move X routine #YMOVE;PR,1000;BGY;EN Move Y routine NOTE: F1 through F5 are used as dedicated keywords for testing function keys. Do not use these as variables.
Coordinated Motion - Mathematical Analysis The terms of coordinated motion are best explained in terms of the vector motion. The vector velocity, Vs, which is also known as the feed rate, is the vector sum of the velocities along the X and Y axes, Vx and Vy. Vs = Vx 2 + Vy 2 The vector distance is the integral of Vs, or the total distance traveled along the path. To illustrate this further, suppose that a string was placed along the path in the X-Y plane.
Y 20000 C D 10000 20000 B 10000 A X Figure A-21 - X-Y Motion Path The first line describes the straight line vector segment between points A and B. The next segment is a circular arc, which starts at an angle of 180° and traverses -90°. Finally, the third line describes the linear segment between points C and D.
For example, the velocity profile corresponding to the path of Fig. A-21 may be specified in terms of the vector speed and acceleration. VS 100000 VA 2000000 The resulting vector velocity is shown in Fig. A-22. Velocity 10000 time (s) Ta 0.05 Ts 0.357 Ta 0.407 Figure A-22 - Vector Velocity Profile The acceleration time, Ta, is given by Ta = VS 100000 = = 0. 05s VA 2000000 The slew time, Ts, is given by Ts = 35708 D − Ta = − 0.05 = 0.
B C (a) A D (b) (c) time Figure A-23 - Vector and Axes Velocities Example- Communicating with OPTO-22 SNAP-B3000ENET Controller is connected to OPTO-22 via handle F. The OPTO-22’s IP address is 131.29.50.30.
EN End #CFGDOUT Label MODULE=2 Set variable CFGVALUE=$180 Set variable NUMOFIO=4 Set variable JP #CFGJOIN Jump to subroutine #CFGAOUT Label MODULE=3 Set variable CFGVALUE=$A7 Set variable NUMOFIO=2 Set variable JP #CFGJOIN Jump to subroutine #CFGAIN Label MODULE=5 Set variable CFGVALUE=12 Set variable NUMOFIO=2 Set variable JP#CFGJOIN Jump to subroutine #CFGJOIN Label DM A[8] Dimension array I=0 Set variable #CFGLOOP Loop subroutine A[I]=0 Set array element I=I+1 I
SB 6006 set bit of output at handle 6, module 2, bit 3 or to one OB 6006,1 AO 608,3.6 set analog output at handle 6, module 53, bit 1 to 3.
DMC-2x00/DMC-1500 Comparison DMC-2X00 BENEFIT DMC-2x00 DMC-1500 Access to parameters – real time data processing & recording Data Record - Block Data Transfer No DMA channel Easy to install – USB is self configuring Plug and Play USB not available Can capture and save array data Variable storage Option Parameters can be stored Array storage Option Firmware can be upgraded in field without removing controller from PC Flash memory for firmware EPROM for firmware which must be installed on co
List of Other Publications "Step by Step Design of Motion Control Systems" by Dr. Jacob Tal "Motion Control Applications" by Dr. Jacob Tal "Motion Control by Microprocessors" by Dr. Jacob Tal Training Seminars Galil, a leader in motion control with over 500,000 controllers working worldwide, has a proud reputation for anticipating and setting the trends in motion control. Galil understands your need to keep abreast with these trends in order to remain resourceful and competitive.
Contacting Us Galil Motion Control 270 Technology Way Rocklin, CA 95765 Phone: 916-626-0101 Fax: 916-626-0102 E-Mail Address: support@galilmc.com URL: www.galilmc.com FTP: www.galilmc.com/ftp WARRANTY All controllers manufactured by Galil Motion Control are warranted against defects in materials and workmanship for a period of 18 months after shipment. Motors, and Power supplies are warranted for 1 year. Extended warranties are available.
Index Abort.....1, 40, 41, 81, 87, 127, 171, 172, 173, 191, 202, 203 Off-On-Error................................. 40, 171, 172, 173 Stop Motion .................................................... 81, 87 Absolute Position.............................. 33, 70, 71, 72, 129 Absolute Value ................................... 96, 107, 144, 172 Acceleration.......................... 3, 30, 71, 79, 83, 158, 247 Accessories ............................................................... 206 AMP-19x0 .............
Independent Axis .................................................. 72 Input Interrupt............................................. 138, 161 Inputting Numeric Data ...................................... 150 Jog 80 Latch ................................................................... 120 Limit Switch ............................................... 137, 174 Linear Interpolation .............................................. 83 Motion Complete ................................................
Output Compare.................................................... 45 Step and Direction .............................................. 3, 4 Position Error POSERR ..............................124, 136, 137, 172, 173 Position Limit ........................................................... 173 Program Flow ........................................... 123, 128, 160 Interrupt ..1, 123, 124, 131, 135, 136, 138, 140, 141, 152, 153, 160, 161, 203, 245 Stack ............................................