Main
DMC-1700/1800
By Galil Motion Control, Inc.
Using This Manual
Contents
Page
Page
Page
Page
Page
Chapter 1 Overview
Overview of Motor Types
Standard Servo Motor with +/- 10 Volt Command Signal
Brushless Servo Motor with Sinusoidal Commutation
Stepper Motor with Step and Direction Signals
DMC-1700/1800 Functional Elements
Microcomputer Section
Motor Interface
Communication
General I/O
17X8
System Elements
Motor
Amplifier (Driver)
Encoder
Watch Dog Timer
Page
Chapter 2 Getting Started
The DMC-17x0 and DMC-18x0 Motion Controllers
Page
Elements You Need
Installing the DMC-1700/1800
Installation of a complete, operational DMC-1700/1800 system consists of 9 steps.
Step 1. Determine Overall Motor Configuration
Standard Servo Motor Operation:
Sinusoidal Commutation:
Step 2. Install Jumpers on the DMC-1700/1800
Master Reset and Upgrade Jumpers
Opto Isolation Jumpers
(Optional) DMA Jumpers
Page
Configuring the Address Jumpers on the DMC-1700
Step 3. Install the Communications Software
Using DOS:
Using Windows 3.x (16 bit versions):
Using Windows 95, 98(first edition):
Step 4. Install the DMC-1700/1800 in the PC
1X80
DMC-1700 Install:
DMC-1800 Install:
Step 5. Establishing Communication between the Galil controller and the host PC
Using Galil Software for Windows 3.x, 95 and 98 First Edition (DMC-1700 only)
Using Galil Software for Windows 98 SE, ME, XP, and 2000
Page
Page
Page
Page
Page
Page
Using Galil Software for Windows NT 4
Page
Sending Test Commands to the Terminal:
Step 6. Determine the Axes to be Used for Sinusoidal Commutation
Notes on Configuring Sinusoidal Commutation:
Example: Sinusoidal Commutation Configuration using a DMC-1770 BAXZ
Step 7. Make Connections to Amplifier and Encoder.
1X80
Page
Step 8a. Connect Standard Servo Motors
Check the Polarity of the Feedback Loop
Step A. Set the Error Limit as a Safety Precaution
Inverting the Loop Polarity
DMC-1700/1800 Chapter 2 Getting Started 29
J7 J6 J51
DC Servo Motor
+ -
Y
W
Z
Page
Step 8b. Connect Sinusoidal Commutation Motors
Page
Page
Step 9. Tune the Servo System
Design Examples
Example 1 - System Set-up
1X80
Example 2 - Profiled Move
Example 3 - Multiple Axes
Objective: Move the four axes independently.
Example 4 - Independent Moves
The motion parameters may be specified independently as illustrated below.
Example 5 - Position Interrogation
Example 6 - Absolute Position
Objective: Command motion by specifying the absolute position.
After both motions are complete, the X and Y axes can be command back to zero:
Example 7 - Velocity Control
Objective: Drive the X and Y motors at specified speeds.
Example 9 - Interrogation
The values of the parameters may be interrogated. Some examples
Example 10 - Operation in the Buffer Mode
Example 11 - Using the On-Board Editor
The instruction
Example 12 - Motion Programs with Loops
Objective: To show how control variables may be utilized.
Motion programs may include conditional jumps as shown below.
After the above program is entered, quit the Editor Mode, <cntrl>Q. To start the motion, command:
Example 13 - Motion Programs with Trippoints
Example 15 - Linear Interpolation
Example 16 - Circular Interpolation
Page
Page
Chapter 3 Connecting Hardware
Overview
1X80
17X8
Using Optoisolated Inputs
Home Switch Input
Abort Input
Uncommitted Digital Inputs
1X80
Wiring the Optoisolated Inputs
Using an Isolated Power Supply
Bypassing the Opto-Isolation:
Analog Inputs
Amplifier Interface
TTL Inputs
1X80
TTL Outputs
1X80
Page
Chapter 4 - Software Tools and Communications
Page
Galil SmartTERM
Page
DMC Program Editor Window
DMC Data Record Display
Page
Communication Settings for ISA and PCI
Page
Page
Page
Windows Servo Design Kit (WSDK)
Creating Custom Software Interfaces
ActiveX Toolkit
DMCWin Programmers Toolkit
Galil Communications API with Visual Basic
End Sub
DOS, Linux, and QNX tools
Controller Event Interrupts and User Interrupts
User Interrupts (UI command)
Servicing Interrupts
Hardware Level Communications for ISA and PCI
Communications with the DMC-1700
Page
Communications with the DMC-1800
Page
Page
DMA / Secondary FIFO / DPRAM Memory Map
Page
Page
Note: UB = Unsigned Byte, UW = Unsigned Word, SW = Signed Word, SL = Signed Long Word
Explanation of Status Information and Axis Switch Information
General Status Information (1 Byte)
Axis Switch Information (1 Byte)
Axis Status Information (1 Word)
Coordinated Motion Status Information for S or T Plane (2 Byte)
Page
Page
Chapter 5 Command Basics
Introduction
Command Syntax - ASCII
1X80
Coordinated Motion with more than 1 axis
Command Syntax - Binary
Binary Command Format
Header Format:
Datafields Format
Example
Binary command table
Controller Response to DATA
Interrogating the Controller
Interrogation Commands
Summary of Interrogation Commands
Interrogating Current Commanded Values.
Operands
Command Summary
Chapter 6 Programming Motion
1X80
Page
Independent Axis Positioning
Command Summary - Independent Axis
Operand Summary - Independent Axis
Example - Absolute Position Movement
Example - Multiple Move Sequence
Required Motion Profiles:
Independent Jogging
Command Summary - Jogging
Operand Summary - Independent Axis
Example - Jog in X only
Example - Joystick Jogging
Position Tracking
Page
Example - Motion 2:
Example Motion 4
Trip Points
Command Summary Position Tracking Mode
Linear Interpolation Mode
Specifying Linear Segments
Additional Commands
An Example of Linear Interpolation Motion:
Specifying Vector Speed for Each Segment
Changing Feedrate:
Command Summary - Linear Interpolation
Operand Summary - Linear Interpolation
Example - Linear Move
VZ VW=+
V
S
Example - Multiple Moves
Vector Mode: Linear and Circular Interpolation Motion
Specifying the Coordinate Plane
Specifying Vector Segments
Additional commands
Specifying Vector Speed for Each Segment:
Changing Feedrate:
Compensating for Differences in Encoder Resolution:
Trippoints:
Tangent Motion:
Example:
Command Summary - Coordinated Motion Sequence
Operand Summary - Coordinated Motion Sequence
C (-4000,3000) R = 1500
B (-4000,0)
D (0,3000)
Electronic Gearing
Ramped Gearing
Example Electronic Gearing Over a Specified Interval
Command Summary - Electronic Gearing
Example - Simple Master Slave
Example - Electronic Gearing
Example - Gantry Mode
Example - Synchronize two conveyor belts with trapezoidal velocity correction.
Electronic Cam
Page
Master X4000
2250 2000 6000
3000 1500 0
Command Summary - Electronic CAM
Operand Summary - Electronic CAM
Example - Electronic CAM
The following example illustrates a cam program with a master axis, Z, and two slaves, X and Y.
Contour Mode
Specifying Contour Segments
Additional Commands
Command Summary - Contour Mode
()
=
sin( )
Contour Mode Example
Teach (Record and Play-Back)
Record and Playback Example:
Page
Stepper Motor Operation
Specifying Stepper Motor Operation
Using an Encoder with Stepper Motors
Command Summary - Stepper Motor Operation
Operand Summary - Stepper Motor Operation
Stepper Position Maintenance Mode (SPM)
YC
YBYATP TDQS
=
Error Limit
Correction
Example: SPM Mode Setup
Example: Error Correction
Example: Friction Correction
Dual Loop (Auxiliary Encoder)
Using the CE Command
DE 0,500,-30,300 sets their initial values.
Backlash Compensation
Continuous Dual Loop - Example
Sampled Dual Loop - Example
Motion Smoothing
Using the IT and VT Commands:
Example - Smoothing
Using the KS Command (Step Motor Smoothing):
Homing
Stage 1:
Stage 2:
Stage 3:
Example: Homing
Figure 6.8 Homing Sequence for Normally Closed Switch and CN,-1
Example: Find Edge
Command Summary - Homing Operation
Operand Summary - Homing Operation
High Speed Position Capture (The Latch Function)
Fast Update Rate Mode
Page
Chapter 7 Application Programming
Overview
Using the DMC-1700/1800 Editor to Enter Programs
Edit Mode Commands
Program Format
Using Labels in Programs
Valid labels
Special Labels
Commenting Programs
Using the command, NO or Apostrophe ()
Executing Programs - Multitasking
Debugging Programs
Trace Commands
Error Code Command
Stop Code Command
RAM Memory Interrogation Commands
Program Flow Commands
Event Triggers & Trippoints
DMC-1700 and DMC-1800 Event Triggers
Event Trigger Examples:
Event Trigger - Multiple Move Sequence
Event Trigger - Set Output after Distance
Event Trigger - Repetitive Position Trigger
Event Trigger - Start Motion on Input
Event Trigger - Set output when At speed
Event Trigger - Change Speed along Vector Path
Event Trigger - Multiple Move with Wait
Define Output Waveform Using AT
Conditional Jumps
Command Format - JP and JS
Logical operators:
Conditional Statements
Multiple Conditional Statements
JP #TEST, (V1<V2) & (V3<V4)
Using If, Else, and Endif Commands
Using the IF and ENDIF Commands
Using the ELSE Command
Nesting IF Conditional Statements
Command Format - IF, ELSE and ENDIF
Example using IF, ELSE and ENDIF:
Subroutines
Stack Manipulation
Auto-Start Routine
Automatic Subroutines for Monitoring Conditions
Example - Limit Switch:
Example - Position Error
Example - Input Interrupt
Example - Motion Complete Timeout
Example - Command Error
Example - Command Error w/Multitasking
Mathematical and Functional Expressions
Mathematical Operators
Bit-Wise Operators
Functions
Variables
Programmable Variables
POSX
Assigning Values to Variables:
Assigning Variable Values to Controller Parameters
Operands
Examples of Internal Variables:
Special Operands (Keywords)
Examples of Keywords:
Arrays
Defining Arrays
Assignment of Array Entries
Using a Variable to Address Array Elements
Uploading and Downloading Arrays to On Board Memory
Automatic Data Capture into Arrays
Command Summary - Automatic Data Capture
Data Types for Recording:
Operand Summary - Automatic Data Capture
Example - Recording into An Array
Input of Data (Numeric and String)
Input of Data
An Example for Inputting Numeric Data
Cut-to-Length Example
Inputting String Variables
Output of Data (Numeric and String)
Sending Messages
Formatting Messages
MG STR {S3}
Using the MG Command to Configure Terminals
Summary of Message Functions:
Displaying Variables and Arrays
Interrogation Commands
Using the PF Command to Format Response from Interrogation Commands
Removing Leading Zeros from Response to Interrogation Commands
Example - Using the LZ command
Local Formatting of Response of Interrogation Commands
Formatting Variables and Array Elements
Local Formatting of Variables
Converting to User Units
Example:
Hardware I/O
Digital Outputs
Example - Turn on output after move
Digital Inputs
1X80
Example:
Example - Start Motion on Switch
Input Interrupt Function
Analog Inputs
Example - Position Follower (Point-to-Point)
Example - Position Follower (Continuous Move)
Example Applications
Wire Cutter
4000/2 = 637 count/inch
X-Y Table Controller
Page
Y
X
Speed Control by Joystick
Page
Position Control by Joystick
Backlash Compensation by Sampled Dual-Loop
Page
Page
Chapter 8 Hardware & Software Protection
Introduction
Hardware Protection
Output Protection Lines
Input Protection Lines
Software Protection
Programmable Position Limits
Off-On-Error
Automatic Error Routine
Limit Switch Routine
NOTE: An applications program must be executing for #LIMSWI to function.
Chapter 9 Troubleshooting
Overview
Installation
Communication
Stability
Operation
Page
Chapter 10 Theory of Operation
COMPUTER CONTROLLER DRIVER
LEVEL
Operation of Closed-Loop Systems
System Modeling
CONTROLLER
Motor-Amplifier
[]
R
L
T
(
Velocity Loop
VEWP
VOLTAGE SOURCE
VWP
VIWP
CURRENT SOURCE
VELOCITY LOOP
DAC
Digital Filter
ZOH
System Analysis
Page
1
4
50 200 2000 W (rad/s)
0.1
System Design and Compensation
The Analytical Method
Page
Page
Page
Appendices
Electrical Specifications
Servo Control
Stepper Control
Input/Output
Performance Specifications
Connectors for DMC-1700/1800 Main Board
Page
Pin-Out Description for DMC-1700/1800
Page
Page
Setting Addresses for the DMC-1700
Standard Addresses
Page
Page
Plug and Play Addresses
Accessories and Options
PC/AT Interrupts and Their Vectors
(These occur on the first 8259)
ICM-1900 Interconnect Module
Features
Page
Page
ICM-1900 Drawing
AMP-19X0 Mating Power Amplifiers
Mounting: Keyholes -- Gain: 1 amp/V
ICM-2900 Interconnect Module
Page
Page
Opto-Isolated Outputs ICM-1900 / ICM-2900 (-Opto option)
Standard Opto-isolation and High Current Opto-isolation:
64 Extended I/O of the DMC-17x8/1700/1800 Controller
Configuring the I/O of the DMC-17x8 (and DMC-1750 to DMC- 1780 & DMC-1810 to 1880, with DB-14064)
Saving the State of the Outputs in Non-Volatile Memory
Accessing extended I/O
OP 7,,,,7
Configuring the 64 Extended I/O of the DMC-1750 to 1780 and 1850 to 1880 using the DB-14064
Connector Description:
J6 50-PIN IDC
Page
J8 50-PIN IDC
IOM-1964 Opto-Isolation Module for Extended I/O Controllers
Description:
0 1 32 5 764
Overview
Configuring Hardware Banks
Digital Inputs
High Power Digital Outputs
Standard Digital Outputs
Electrical Specifications
Digital Inputs
High Power Digital Outputs
Standard Digital Outputs
Relevant DMC Commands
Screw Terminal Listing
Rev A+B boards (orange) and Rev C boards (black) have the pinouts listed below
Page
Coordinated Motion - Mathematical Analysis
Y
CD
B
A
X
DMC-1700/DMC-1000 Comparison
List of Other Publications
Training Seminars
Contacting Us
WARRANTY
Index