• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Galil motion control product workshop january 2012 presentation eis ver
 

Galil motion control product workshop january 2012 presentation eis ver

on

  • 1,563 views

Product Summary

Product Summary

Statistics

Views

Total Views
1,563
Views on SlideShare
1,563
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Galil motion control product workshop january 2012 presentation eis ver Galil motion control product workshop january 2012 presentation eis ver Presentation Transcript

    • Galil Product Workshop January 2012& Serviced By: ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • About the Company Established Reputation and Long History of Success • Founded in 1983 by Jacob Tal and Wayne Baron • Introduced 1st microprocessor-based servo controller • Profitable for over 100 consecutive quarters • Delivered over 500,000 controllers world-wide Excellent Technical Support and Service • World-wide network of factory-trained reps & distributors • Technical support team with over 100 man-years of motion control experience • On-line support tools at www.galilmc.com& Serviced By: 2 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • The Galil Support Team • Live, prompt technical support • Over 100 years of combined motion control experience • Degreed MEs and EEs “The mission of Galil’s experienced Applications Department is to provide prompt and accurate technical assistance to help OEMs successfully deliver their products to market ”& Serviced By: 3 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • We Are Here to Help! • LIVE Tech Support Provided at Galil headquarters: Address: 270 Technology Way, Rocklin, CA 95765 Email: support@galilmc.com Toll Free: 800-377-6329 Phone: 916-626-0101 Fax: 916-626-0102 Hours: 8am to 5pm PST, Monday through Friday • Please provide: – Name – Company – Address – Phone/Email – Galil Products and revisions – Problem – Error messages& Serviced By: 4 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Many On-Line Tools at www.galilmc.com Galil’s free online support tools include: • White Papers & application notes http://www.galilmc.com/support/application-notes.php • On-Line tutorials on motion control http://www.galilmc.com/learning/tutorials.php • MotionCodetm Toolkit with downloadable programs and code http://www.galilmc.com/learning/motioncode.php • MotorSizertm Software for easy sizing of motion systems http://www.galilmc.com/learning/motorsizer.php • HelloGaliltm Quick start for PC programming languages http://www.galilmc.com/learning/hellogalil.php • Bulletin Board with subject search http://www.galilmc.com/forums/ubbthreads.php • ServoTrends Newsletter Archives http://www.galilmc.com/support/servotrends.php • Product catalog with specs and pricing http://www.galilmc.com/support/catalog.php • Customer applications and videos http://www.galilmc.com/support/smartmoves.php& Serviced By: 5 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • About the Products • Leading Edge – 32 bit microcomputer with high-speed processing – On-board program memory with multitasking • Easy to Use – 2 letter, English-like instructions – Software tools for servo tuning • Cost Effective – 100 qty price guarantee; as low as $100/axis • Flexible – Available in 1 through 8-axis configurations – Configurable for steppers and servos on any axis – Box-level or card-level; PCI, RS232, and Ethernet • Easy to Customize – Firmware & hardware customized to specifications& Serviced By: 6 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Features- Handles any Mode of Motion • Point-to-Point Positioning • Position Tracking • Jogging • Linear and Circular Interpolation • Tangential Following • Helical • Electronic Gearing • Electronic Cam • PVT Mode • Teach and Playback& Serviced By: 7 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Features – High Speed • Encoder frequencies up to 22 MHz for servos • Outputs pulses for steppers up to 6 MHz • Servo loop updates as low as 31 µsec/axis • 40 µsec command processing for application programs& Serviced By: 8 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Features – Intelligent Programming • On-board, non-volatile memory for storing application programs, variables and arrays frees host • Programmable event triggers including At time, At position, At input, At speed • Multitasking for simultaneous execution of up to eight application programs • Conditional JUMPS and IF/THEN/ELSE/Constructs • Arithmetic and trigonometric functions& Serviced By: 9 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Features – Multiple Inputs/Outputs • Accepts both main and auxiliary encoders for each axis • SSI and sinusoidal encoder interface options • Uncommitted digital inputs and outputs • Uncommitted analog inputs on most controllers • Expandable I/O • Forward and reverse limits and home input for each axis • High speed position capture • High speed position compare& Serviced By: 10 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Features – Variety of Formats • Available in 1-through 8-axis formats • Box-level or card-level; Bus-based or stand-alone • Ethernet/RS232 or PCI cards • “Mix-n-Match” motor types: User-configurable for steppers, servos and piezo ceramic motors on any combination of axes • Variety of plug-in amplifier options • Custom solutions available& Serviced By: 11 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Latest Generation Galil Controllers • Multi-axis Ethernet Motion Controllers – DMC-40x0 Accelera – DMC-41x3 Econo New! • Single-Axis Ethernet Motion Controllers – DMC-300xx Pocket Motion Controller New! • Ethernet I/O Controllers – RIO-47xxx Pocket PLC • Software Tools – GalilTools Servo Tuning& Serviced By: – Frequency Analysis Software – New! 12 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • DMC-40x0 and DMC-41x3 Motor Drives& Serviced By: 13 * Released April 2011 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Servo Drives with Sine Commutation • AMP-43540 4-axis 600 Watt • AMP-43640 4-axis 20 Watt • Sinusoidal commutation minimizes torque ripple. Ideal for linear motors • Initialize with halls or encoders • Available for DMC-40x0, DMC-41x3,and DMC-30012 (800 Watt)& Serviced By: 14 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Single-Axis Motion Controller & Drive DMC-300xx Pocket Motion Controller Smart. Compact. Low Cost.& Serviced By: 15 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Smart • Uses 32-bit RISC processor for faster processing • PVT, gearing, eCAM • 125 microsecond servo update (2x faster) • 15 MHz encoder, 3 MHz stepper (25% faster) • Controls servos or steppers • Daisy-chainable Ethernet& Serviced By: 16 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Key Benefit – Daisy Chain Ethernet Multiple DMC-300xx can be daisy chained over Ethernet without the use of a hub& Serviced By: 17 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • DMC-30012 Powerful, Efficient Drive 800W Brushless Sine Drive 10A cont, 15A peak, 20-80V (CDS-3310 is 7A cont, 10A peak, 20-72V. Trap Drive.)& Serviced By: 18 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • RIO-47xxx Pocket PLC Analog and Digital I/O with intelligence in a cost-effective, compact unit& Serviced By: 19 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Smart. Compact. Low Cost. Lots of I/O. Smart – RISC processor, memory, counters, timers, PID process loops, web interface, data logging, email alerts, Ethernet, Power-over-Ethernet, Modbus Master/Slave, Ladder Interface Software Compact – 3.9” x 4.3” x 1.3” Low Cost – $295 in single quantity; $195 in 100 qty Lots of I/O – 32 digital I/O & 16 analog I/O& Serviced By: 20 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Operation& Serviced By: 21 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Position Control Systems BLOCK DIAGRAM HOST MOTION MOTOR DRIVER COMPUTER CONTROLLER AND LOAD POSITION SENSOR& Serviced By: 22 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Elements Host Computer Motion Controller Amplifier/Motor Mechanical System& Serviced By: 23 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Elements Using AMP-19540 COMPUTER DMC-1846 Controller Building Earth 100 Pin Cable AMP-19540 Vs Brushless PSR-6-48 GND Amplifier Hall/Encoder Feedback Phase C Phase A Phase B Shield BLM MOTOR& Serviced By: 24 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Elements with Built-in Amplifiers COMPUTER Building Earth 100 Base-T Vs DMC-4000 GND PSR-6-48 Hall/Encoder Feedback Phase C Phase A Phase B Shield BLM MOTOR& Serviced By: 25 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Motion Controller Functions COMMAND R X V PROFILE GENERATOR + Σ FILTER - C POSITION DECODER FUNCTIONS Decode Position Feedback Generate Desired Position R( t ) Close the Position Loop P Stability Compensation& Serviced By: 26 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Filter Operation Proportional P(k) = KP · X(k) Derivative D(k) = KD · [X(k) - X(k-1)] Integral I(k) = KI · X(k) + I(k-1) Functions: Proportional For speed of response Derivative For stability and damping Integral For accuracy - slow response& Serviced By: 27 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Elements FILTER DESIRED R X Y POSITION + Σ G DAC AMP GENERATOR - C POSITION DECODER P M& Serviced By: 28 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Filter& Serviced By: 29 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Connection and Compensation Connecting the system elements is done in three steps: 1. Test each function separately. 2. Close the position loop with low gain. 3. Tune the controller for fast and accurate response. Potential problems and their effects: 1. Ground loops -- instability and noise sensitivity. 2. Connection with wrong polarity (positive feedback) - - causes motor to run away. 3. Too high gain -- causes instability and oscillations.& Serviced By: 30 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • System Compensation Set PID filter to KI = 0 KP, KD low values Step I -- KD Increase the derivative constant, KD, until system vibrates, then back off. Step II - KP Increase the proportional constant, KP, until system vibrates, then back off. Step III -- KI Increase the integral constant, KI, until system vibrates, then back off.& Serviced By: 31 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Controller Features for High Precision Linear Motors • Update Rates as low as 32.25us • Sine / Cosine encoder – interpolation from x32 to x1024 • PID with Feed-forward Acceleration and Velocity. • Dual PID and frictional bias • Integration Limit • Pole and Notch Filters to assist with mechanical vibrations • Profile filter to eliminate high-frequency, or select low- frequency resonances • New PVT mode provides motion profiles that don’t have velocity discontinuities.& Serviced By: 32 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Amplifier Features for High Precision Linear Motors • New AMP-43540 600W Sinusoidal Amplifier • Current loop update of 33 kHz – – Capable of providing a closed loop current loop bandwidth greater than 3 kHz • 16 bits of current resolution – Critical for small adjustments and reducing settling times. – Linear Zero-Crossing, no dead-band or hysteresis around zero. • Settable current loop gains allows for support of a wide variety of motors using standard product • Enhanced PWM control to deliver space vector PWM with sine commutation& Serviced By: 33 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools Software package that enables easy set-up, tuning and analysis of Galil’s latest control systems • Designed for use on Galil’s current generation of products Ethernet/RS232: DMC-40x0, DMC-21x3 and RIO-47100 PCI: DMC-18x6 and DMC-18x2 • Cross-platform compatible • Communication drivers new from the ground-up, designed for quick and efficient controller communication • GalilTools Lite (no charge) also available • Details, demos at http://www.galilmc.com& Serviced By: 34 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools- Scope& Serviced By: 35 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools- Watch All& Serviced By: 36 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools- Watch Some& Serviced By: 37 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools- Tuning& Serviced By: 38 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming& Serviced By: 39 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming: Two Methods • Local (Stand-alone) • Host (Communication Bus) PC PC DMC TPXr . dmc bus DMC C bus Controller DMC file Controller Program Download File 123rn: - PC not required at runtime - Bus can be Ethernet, Serial, PCI, - BP – Burn Program ISA… - #AUTO – Automatic Start Routine - Host can be Terminal, C, PLC, LabView, Visual Basic, QNX Linux, Touch Screen…& Serviced By: 40 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming: Sending Commands • Install terminal emulator software: • GalilTools • Just type commands from keyboard • USE UPPERCASE! • <enter> key completes command • Controller returns : For valid commands ? For invalid commands (TC1 tell error)& Serviced By: 41 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming: Instructional Format • Two-letter commands (mostly). Two kinds: • Axis arguments: A (X), B (Y), C (Z), D (W), E, F, G, H ‘comment BGX Begin X axis only BGXW Begin X and W axes BG Begin motion on all axes • Numerical arguments PR=1000 PRX = 4000 Set distance for X axis PR 4000,,,4000 Set distance for X and W axes PR *= 4000 Set distance on all axes PRX=? Query distance for X axis (MG _PRX) PR?,,,? Query distance for X and W axes PR *= ? Query distance on all axes& Serviced By: 42 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming: Interrogating Status TP Tell Position RP Report commanded position TE Tell Error TT Tell Torque TV Tell Velocity (Average velocity) TA Tell Amplifier Error TC1 Tell error code (Reason for ?) SC Stop Code. Reason for premature stop. KPX=? Print value of parameter (MG _KPX) MG _HMX Print state of the X axis HOME switch (“operand”) var = _HMX Assign state of the X axis HOME switch to variable MG var Displays value of variable& Serviced By: 43 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming: Configuration Commands CE Configure Encoders (Quadrature vs. Pulse/Direction) MT Motor Type (Servo vs. Stepper; Motor Polarity) BR Brushed Motor (for use with internal amplifiers) KD Derivative Gain KP Proportional Gain KI Integral Gain BN Burn (Store above settings in EEPROM) BP Burn Program BV Burn Variables and Arrays& Serviced By: 44 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming: Safety Commands Position Error OE Turn on Off on Error functionality (can be turned off due to position error, limit switch, and/or abort input) ER Position Error Limit TE > ER, turn off motor #POSERR Automatic subroutine that will run with position error occurs Encoder Failure Detection – Standard on Accelera Will trip when encoder has not registered > 1 count of change for OT ms and the torque is > OV. KI should be used when Encoder Failure detection is enabled OA Turn on Off on Encoder Failure OT Time for encoder failure OV Voltage for encoder failure& Serviced By: 45 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Motion Programming • Many modes of motion including: Point-to-Point Positioning Independent Jogging Vector Mode Multi-axis Linear Interpolation Gearing Following Electronic CAM Contouring& Serviced By: 46 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Point to Point Positioning • Motion between specified axes is independent • PR or PA Relative or Absolute Position [counts] • Can change SP and AC during motion • Example: PR 1000, 4000 Specify relative position SP 2500, 2500 Specify slew speed AC 100000, 100000 Specify acceleration DC 50000, 50000 Specify deceleration BG XY Begin motion AM XY Wait until motion complete& Serviced By: 47 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Jogging • User specifies: JG Jog speed and direction [counts/sec] ST Stop motion • Can change JG, AC, DC during motion • Example: JG -1000 Specify jog speed AC 200000 Specify acceleration rate DC 200000 Specify deceleration rate BG X Begin motion& Serviced By: 48 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Vector Mode • Linear and circular interpolation on two axes • VM Specify axes VP Linear segment [counts] CR Circle arc segment [counts] VS Vector speed [counts/sec] VA Vector acceleration [counts/sec2] VD Vector deceleration [counts/sec2] VE End sequence BGS Begin sequence • Up to 511 segments can be given prior to motion • Can send additional segments during motion • Can change VS and VA during motion • Can specify start and end speed with each segment using VP <n& Serviced By: 49 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Specifying Linear Segments 6000 C 4000 B A 2000 • Specify linear segments as destination coordinate with respect to start of move sequence (absolute coordinate system) Segment AB VP 2000, 4000 Segment BC VP 2000, 6000& Serviced By: 50 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Specifying Arc Segments B 90 180 0 A 270 • Specify circular segment as radius, starting angle and travel angle. Clockwise rotation is negative travel. Segment AB CR 1000, 0, 90& Serviced By: 51 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Coordinated Motion C (-4000,3000) D (0,3000) R = 1500 • Example: B (-4000,0) A (0,0) #MOVE VM XY Specify axes VS 5000 Specify speed VP - 4000, 0 Linear Segment AB CR 1500, 270, -180 Circular Segment BC VP 0, 3000 Linear Segment CD CR 1500, 90, -180 Circular segment DA VE End of sequence BGS Begin sequence AMS Wait for sequence complete EN& Serviced By: 52 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Linear Interpolation Mode • Coordinated motion of up to 8 axes • VS, VA, VD also apply • Incremental distances (unlike Vector Mode) • Example: #MOVE LM XYZ Linear Interpolation Mode-use XYZ axes LI 5000, 2000, 0 Specify incremental moves for each axis LI 2000, 1000, 2000 LI 0, 1000, 2000 LE End Linear Interpolation Mode BGS Begin Motion AMS Wait for profiled motion to complete EN& Serviced By: 53 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Gearing • Up to 8 axes electronically geared to master • Eliminates mechanical gears GA n n = X main encoder as master n = CX command position as master n = DX auxiliary encoder as master n=S vector path as master GR Gear Ratio ( + 127.9999 range) • Can change Gear Ratio during motion • Optima and Accelera Series support multiple masters& Serviced By: 54 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Gearing (cont.) • Example: GA Y,,Y Y is master of X and Z GR 5,, -2.5 X ratio = 5, Z ratio = -2.5 PRY=1000 Master position BGY Begin motion& Serviced By: 55 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Electronic Cam • Can be used to simulate the motion of a mechanical cam • Non-linear, periodic motion • Up to 7 axes can be synchronized with an independent master • The master can be either a controlled axis or an outside encoder • An ECAM table is used to specify the position(s) of the slave(s) with respect to the master throughout the motion cycle& Serviced By: 56 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • ECam Example EAY Y axis is master EM 0, 4000 X (slave) change is 0 counts. Y (master) change is 4000 EP 2000 Master interval is 2000 counts between entries ET[0] = 0 ECAM table defines positions of slaves ET[1] = 1000 3 points, 2 intervals ET[2] = 0 EB1 Enable ECam mode EG -1 Engage slave immediately JGY = 500 Jog master at 500 counts per second BGY Begin master motion X Slave Position (counts) Cam Table 1000 500& Serviced By: 0 1000 2000 3000 4000 57 ELECTROMATE Y Master Position (counts) Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Contour Mode • Bypasses the motion profiler • Allows any time based function • Incremental distances • CM Enter contour mode, specify contoured axes DT Specify time interval for each contour segment CD Specify incremental distances for each axis WC Wait for contour move to complete (similar to AM command) - Not valid for Accelera Controllers • Record (RA, RD, RC) and playback motion using Contour Mode and arrays& Serviced By: 58 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Contour Mode (cont.) Example – Accelera Example – Non Accelera CM XY; ‘Setup Contour Mode CM XY; ‘Setup Contour Mode DT4; ‘Interval Time DT4; ‘Interval Time CD50,100; ‘Contour Data CD50,100; ‘Contour Data WC; ‘Wait for Contour CD10,30; ‘Contour Data CD10,30; ‘Contour Data CD100,50; ‘Contour Data WC; ‘Wait for Contour CD 0,0=0; ‘End Segment CD100,50; ‘Contour Data ‘wait for buffer to empty WC; ‘Wait for Contour MG “MOVE DONE” #WAIT;JP#WAIT,_CM<511 EN; ‘End Program MG “MOVE DONE“ EN; ‘End Program& Serviced By: 59 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • PVT (Position Velocity Time) Mode • Standard on Accelera products, available as a standard special for other products • Allows arbitrary motion profiles defined by position, velocity and time • Advantage over Contour mode is there are no velocity discontinuities • PVa=p,v,t PV command (position, velocity, time) _PVa Contains number of segments available in buffer BT Begin PVT Mode _BTa Contains number of PV segments that have executed • Buffer is “per axis” and is 255 segments.& Serviced By: 60 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • PVT Mode (Cont.) • Multi-Axis Coordinated Move Example Required XY Points 6000 X Axis Y Axis 500 500 5000 1500 5000 Y Axis (Counts) 4000 2500 4000 3300 4200 3000 7300 3300 2000 1000 0 0 1000 2000 3000 4000 5000 6000 7000 8000 X Axis (Counts)& Serviced By: 61 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • PVT Mode (Cont.) X vs Y Commanded Positions #PVT 6000 PVA = 500,2000,500 PVB = 500,5000,500 5000 PVA = 1000,4000,1200 PVB = 4500,0,1200 4000 PVA = 1000,4000,750 Y Axis (Counts) PVB = -1000,1000,750 3000 BTAB PVA = 800,10000,250 2000 PVB = 200,1000,250 PVA = 4000,0,1000 1000 PVB = -900,0,1000 0 PVA = 0,0,0 0 1000 2000 3000 4000 5000 6000 7000 8000 PVB = 0,0,0 -1000 EN X Axis (Counts)& Serviced By: 62 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • PVT Mode vs Contour Mode Contour Mode Solution PVT Mode Solution Point 3 Point 3 Y-Axis Y-Axis Point 1 Point 1 Finish Finish Point 2 Point 2 Start Start X-Axis X-Axis& Serviced By: 63 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Application Programming • A DMC program allows motion commands to be combined with other commands such as I/O handling to solve a complete machine application.& Serviced By: 64 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Entering Programs •Use Editor window for entering programs •Use Upload and Download on GalilTools, Smart Term or WSDK to modify existing programs and download changes to the controller •SmartTerm: Turn on Syntax – Help for ease of programming and press F1 to see more information •GalilTools: double tap “Tab” in Terminal to get info on a command •DMC Code Helper on line • http://www.galilmc.com/support/code-helper/dmc-code-help.php& Serviced By: 65 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Program Structure • Programs begin with #Label and end with EN instruction • Labels designated by # followed by up to 7 characters First character must be a letter Other characters can be numbers Spaces are not permitted • Examples: #AUTO Automatically starts on power-up #BEGIN #Pos1& Serviced By: 66 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Entering Commands • Some commands return a value, some do not • TPX returns a value • STX does not • Explicit Notation vs Implicit Notation • PAX=1000 or PA 1000 either method is okay • Don’t do: PA=1000 that will set a variable named PA • XYZW or ABCD • PAA=1000 or PAX=1000 both formats will move axis 1& Serviced By: 67 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example Program #BEGIN; ‘Begin program PAX= 10000; ‘Position absolute SPX= 50000; ‘Slew speed ACX= 500000; ‘Acceleration rate DCX= 500000; ‘Deceleration rate BGX; ‘Begin motion AMX; ‘After motion EN; ‘End program XQ #BEGIN Execute program from terminal& Serviced By: 68 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Program Flow • Galil controllers offer many instructions to control program flow such as halting until an event occurs, jumping to a location, looping or executing a subroutine.& Serviced By: 69 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Trippoints • Special commands that pause execution of a program until a specified event occurs. • Only valid inside a .dmc program. AD After distance (profiled) AI After input AM After motion complete (profiled) MC After motion complete (actual) WT After time elapsed (wait)& Serviced By: 70 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Conditional Statements • Special commands that cause program to branch on specified conditions. • JP is a “blind” jump. JS jumps to a subroutine and then returns. • Format: JP #LABEL, condition(s) • Conditions: < less than > greater than = equal to <= less than or equal to >= greater than or equal to <> not equal • Examples: JP #STOP, (error>100) Jump to #STOP if error is greater than 100 JS #B, ((v1<0) & (v2>0)) Jump to subroutine #B if v1 is less than zero and v2 is greater than zero (JS statements can be nested up to 16 deep)& Serviced By: 71 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Conditional Statements • IF statements can be nested up to 255 deep • Use parentheses to surround each statement • Example: IF ((_TPX <= 5000) & (_TPX >=4000)) MG “In Position” ELSE IF (_TPX < 4000) MG “UNDERSHOOT” ELSE MG “OVERSHOOT” ENDIF ENDIF& Serviced By: 72 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Creating Loops #A Main program n=5 Loop counter #LOOP Loop program PRX= 1000 Move distance 1000 BGX Begin Motion AMX Wait for motion done WT 500 Wait 500 msec PRX=-1000 Move distance-1000 BGX Begin motion AMX Wait for motion done WT 500 Wait 500 msec n=n-1 Decrement loop counter JP#LOOP, n>0 Repeat 5 cycles EN End program& Serviced By: 73 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Automatic Subroutines • Controller can monitor certain conditions in the background (“Event Driven” programming) • Automatic monitoring is enabled by using the following special labels: #LIMSWI Limit switch active #ININT Designated input changes state #POSERR Position error exceeds ER limit #CMDERR Bad command given #MCTIME Timeout on motion complete trippoint #TCPERR Communication error (Ethernet only) #COMINT Communication interrupt subroutine (RS-232 only) #AMPERR Amplifier Error (Galil Amps) • An application program must be running in Thread 0 for automatic monitoring for Optima/Econo controllers& Serviced By: 74 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Multitasking • Multiple independent programs called “threads” can run simultaneously • All threads have equal priority • One thread can execute or halt another thread • All trippoints are available in every thread • Variables are global - common to all threads • Useful for background PLC; truly independent motions • Use semicolons to execute a group of commands together Commands: XQ #Label,n Execute Program in thread ‘n’, where n=0 through 7 is thread number. 0 is main thread. HXn Halt Execution of Thread ‘n’& Serviced By: 75 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Multitasking -- Example • Example to Download: #X X-Thread PR 1000;BGX;AMX Move 1000 PR-1000;BGX;AMX Move-1000 JP #X Repeat Motion #Y Y-Thread PR,500;BGY;AMY Move 500 PR,-500;BGY;AMY Move -500 JP#Y Repeat Motion #TIME I/O Thread AT-50;SB1;AT-10;CB1 Every 50 msec Set Bit 1 JP#TIME Repeat #MAIN Main Thread JP#EXIT,@IN[1]=0 If input 1 low, exit JP#MAIN Loop if input 1 high #EXIT AB Abort Motion and Program EN End Program • To execute from host/terminal: XQ#MAIN,0 XQ#X,1 XQ#Y,2 XQ#TIME,3& Serviced By: 76 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Special Features • Galil controllers use comments, variables, arrays, and mathematical functions to make programming easier and free your host PC for other tasks.& Serviced By: 77 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Commenting Programs • Code with comments is far easier to understand • Use NO or ‘ (single quote) to cause the processor to ignore the following text. Not valid on Legacy controllers. • Use “REM” to save space by having Galil software strip out those lines before downloading to the controller • Example: REM – JOG motor 5000 cts/sec JGX= 5000 ‘set accel ACX=100000 NO set decel DCX= 100000 BGX; ‘ Begin Motion& Serviced By: 78 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Variables • For inputting or changing parameters in a program • Each variable is defined by a name, up to 8 characters long. Variables are case sensitive. Lower case recommended. • Range: +/- 2,147,483,647.9999 for numeric variables Six characters for string variables • Examples: posx=500 Assigns 500 to the variable posx PR posx*2 Multiply variable by 2 and increment X axis by result var = “cat” Assign string cat to variable named var& Serviced By: 79 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Axis Designator • Axis Designator ~a to ~h can be used like a variable axis • Example ~a=0; ‘Axis A #L PR~a=1000;BG~a;AM~a; ~a=~a+1 JP#L,~a<4; ‘move axes 0-3 EN& Serviced By: 80 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Arrays • For storing and collecting data (ideal for contour mode, teach, and playback) • One dimensional • Each entry has same numerical range as variable • Arrays defined by a name and number of entries DM posx[7] Defines an array named posx with seven entries • Can automatically capture certain types of data, such as position, error and commanded torque, into arrays over specified time intervals& Serviced By: 81 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Record Data Mode Instruction Interpretation #RECORD; ‘Label DM yerr[100]; ‘Dimension array RA yerr[ ]; ‘Specify record mode RD _TEY; ‘Data type for record RC 4, 100; ‘Actual recording EN; ‘End program& Serviced By: 82 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Mathematical and Functional Expressions Mathematical Operators Logical Operators & + - * / | @SIN[n] @COS[n] @COM[n] @ABS[n] @FRAC[n] @INT[n] @RND[n] @TAN[n] @ATAN[n] @ASIN[n] @ACOS[n] @SQR[n] Note: Math order of operations is left to right. Use ( ) parenthesis for correct order of operations& Serviced By: 83 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Programming with Inputs/Outputs (I/O) • Galil application programs handle hardware I/O, data input, and messaging.& Serviced By: 84 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Input of Data • Input data using variables #INIT Speedx=1000 #GO JGX=Speedx WT250 JP#GO • From Host PC or HMI, send Speedx=2000 to double the speed • Can use arrays instead of variables to enter a lot of data& Serviced By: 85 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Output of Data • MG command used to send a message or return a value • MG _KPX to show the value of KPX • MG posx to display the variable POSX • Output to specific communication port: MG "HELLO THERE" Displays message out default port (CF command) MG {P2} "HELLO THERE" Displays message to auxiliary RS-232 port LU0; MG {L1} “ERROR” Displays message to Line1 of DMC-40x0 LCD MG {EA}"POSITION=",_TPX Displays message via Ethernet (Handle A) MG "Variable=",v1{F6.1} Displays message and value of variable v1 with format 6 integers and one decimal& Serviced By: 86 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Uncommitted Inputs • Available commands: AI +/- n Wait for input n high/low II n Interrupt if input n occurs TI n Return state of all inputs in block n MG@IN[1] Return state of input 1 TZ Returns all status of all i/o points • After Input Example: #JOG Jog program JGX=1000 Jog speed AI 1 After Input 1 high BG X Begin motion AI - 1 After Input 1 low ST X Stop motion& Serviced By: 87 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Uncommitted Outputs • Defined by: SB n Set Bit n CB n Clear Bit n OP n Define all 8 bits • Example: #POS Label PRX=1000 Position BG X Begin motion AM X After motion SB1 Set bit 1 WT 1000 Wait OP 0 Clear all outputs EN End program& Serviced By: 88 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Analog Inputs • + 10 Volts with 12 bit resolution (16-bits optional) • AQ to adjust input range 0-10V, 0-5V, +/-5, differential (AQ not available on all controllers) • Available commands: a1 = @AN[n] set variable a1 to analog input (in volts) • Analog Input Example #JOYSTK Joystick JG0 Jog mode BGX #LOOP Loop a1 = @AN[1] Read analog input JGX= a1*1000 Change jog speed JP #LOOP Repeat EN End program& Serviced By: 89 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Homing • Special moves to initialize the system: FE Find Edge - Look for a transition on the home switch input FI Find index - Look for an index (Z channel) pulse HM Home - Includes: High speed FE Reverse and low speed FE Low speed FI HV Home Velocity – Velocity for 2nd stage for Accelera& Serviced By: 90 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Homing Sequence HOME SENSOR H O M E S W IT C H _H M A=1 _H M A=0 P O S IT IO N V E L O C IT Y (1 ) M O T IO N B E G IN S TO W AR D H O M E D IR E C T IO N P O S IT IO N V E L O C IT Y M O T IO N R E V E R S E (2 ) TO W AR D H O M E P O S IT IO N D IR E C T IO N V E L O C IT Y M O T IO N TO W AR D (3 ) IN D E X D IR E C T IO N P O S IT IO N IN D E X P U L S E S P O S IT IO N& Serviced By: 91 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Limit Switches • Define the physical forward and reverse limits of your system. • When a limit switch is triggered during a commanded move, motion is stopped and further motion in the direction of the triggered switch is not possible. • Use the TS command or the _LF and _LR operands to monitor the state of the limit switches. • Use the #LIMSWI subroutine to respond to limit switches. • SD – Switch Deceleration for new controllers • Use the FL and BL commands to set travel limits in software. • #LIMSWI example: #LIMSWI; ~c=0 #Lim IF (_LF~c=0);MG ~c," LIMIT HIT";ENDIF IF (_LR~c=0);MG ~c," LIMIT HIT";ENDIF ~c=~c+1;JP#Lim,~c<4& Serviced By: 92 RE ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Dual Encoders • Every axis has two encoder ports: Main and Auxiliary. • The main encoder is used to close the primary control loop. • The auxiliary encoder can be used to: • Read the load position (linear encoder) for backlash compensation. (Dual Loop mode – DVX=1) • Provide position feedback for external device. Applications: hand-wheel input, synchronizing with an open loop motor (ie: a conveyor belt).& Serviced By: 93 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Program Troubleshooting TC1 Tell Error Code (Why was a command rejected?) SC Stop Code (Why did the motor stop?) TI Tell Inputs (Is controller reading inputs correctly?) TR1 Trace Program (Display each line as it executes) TS Tell Switches (Home, Limit Switch status) TA Tell Amplifier Status (Galil Amps)& Serviced By: 94 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • More Information • DMC Code Helper for 40x0 and RIO • http://www.galilmc.com/support/code-helper/dmc-code-help.php • Sample DMC Code Programming Library • http://www.galilmc.com/support/sample-dmc-code.php • User Manuals and Command References • http://www.galilmc.com/support/manuals.php& Serviced By: 95 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • I/O Hardware& Serviced By: 96 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • I/O Hardware Overview • Home, limit and general purpose inputs • Amp Enable Circuit • Uncommitted outputs • Analog inputs • Extended I/O options& Serviced By: 97 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Optically Isolated Inputs • Two Primary benefits of Opto • Electrical Isolation between systems • Voltage level conditioning • Grounding issues: the ground of an isolated power supply should not be connected to the controller gnd for true isolation. • Non-opto inputs: inputs are TTL with pull-up to 5V/3.3v. Close to ground for activation. Take extra precautions to prevent noise. (examples DMC-21x3-ICM-20100, DMC-18x2, DMC-40x0 extended I/O)& Serviced By: 98 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Optically Isolated Inputs (Cont) Bi-directional Optos External R needed External R needed LSCOM if V > +28V LSCOM if V < -28V + 2.2K 2.2K Isolated Isolated I Supply I Supply + FLS FLS Example Hardware: DMC-40x0-I000 DMC-41x3 DMC-18x6 DMC-18x0 DMC-21x3-ICM-20105& Serviced By: 99 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Encoder Synchronization • High Speed Latch – Save encoder position when input occurs • Use inputs 1-4 for latch inputs. IN[1] for X, IN[2] for Y, etc. • ALx arms latch and _RLx stores the position once the position is captured. • Captures position on state transition of specified input. • Latch speed on TTL input is less than 1µs, low-going opto-isolated input is 12µs, 35 µs for high-going. • Output Compare – Pulse output at encoder position • One-Shot and circular/modular compare possible • OC command sets up all behavior • Powerful for position based external hardware synch (e.g. laser marking, raster scans)& Serviced By: 100 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Input Safety Features • Abort input configuration and usage: - Instantly stop motion on all axes (infinite deceleration) - Opto-isolation provided through INCOM - Used with OE command will disable amplifier (coast stop) - CN command configures inputs for axis-specific aborts and code handling • #ININT subroutine (configure with II command) - Used to interrupt the controller on a specific input. - Can be used to interrupt on a high or low going signal • #LIMSWI subroutine - Used if a limit switch condition occurs. • #AMPERR subroutine - used to interrupt on an amplifier fault (bad hall state, over current, over voltage, ELO, etc) • Note for Optima/Econo: Thread 0 must be running for automatic subroutines to function.& Serviced By: 101 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Amplifier Enable • The amplifier enable signal allows the Galil firmware to control an external amplifier’s ready state. (SH/MO) • Third party amps have widely differing enable signals. – Active High/Active Low; Enable/Inhibit; Sinking/Sourcing; 5v, 12v, 24v • DMC-40x0-I200, DMC-41x3 & DMC-21x3-20105 are easily field upgradeable for 16+ configurations. • Provisions for other hardware (ICM-20100, 2900,1900) through 7406/7407 ICs& Serviced By: 102 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Uncommitted Outputs • Outputs are single ended and TTL level on the controller board. • Opto-Isolated Outputs • DMC-4000, RIO, DMC-21x3-ICM-20105 have high power opto outputs. 500mA at a max of 3A per byte. 12-24VDC • RIO also has 8 low power opto at 25mA. 5-24VDC • DMC-41x3 has 4mA outputs, 5-24VDC. High power, 500mA outputs available with (HSRC) order option • PCI based: low power, 24mA opto-isolated outputs are available through the ICM-1900-Opto and ICM-2900-Opto. Available sourcing with –HISIDE order option.& Serviced By: 103 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Uncommitted Outputs (cont) High-power, sourcing, optically-isolated outputs as on the RIO, 4000, 41x3(HSRC), and ICM-20105 Low power, sinking, optically isolated outputs on the RIO, ICM-1900/2900-OPTO,& Serviced By: 104 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Analog Inputs • Single ended analog inputs can be used for feedback, joystick control, pressure or force transducers, etc. • Controllers equipped with “AQ” command provide +/- 10, 0-10, +/- 5, 0-5 v ranges, and allow differential inputs. • Standard 12-bit resolution. Optional 16-bit resolution. Increased resolution does not necessarily yield increased accuracy. • Noise considerations should be taken into account when using analog inputs, especially in PC environment. • DMC-40x0, 41x3 and RIO controllers have a dedicated analog ground.& Serviced By: 105 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Extended I/O Options (local and remote) • DMC-4000 has 32 extended I/O 3.3v or 5v. Other boards may add DB daughterboard. • Extended I/O available on the controllers is 3.3 or 5v level. Take caution not to connect 5v circuits to 3.3v extended I/O. Order -5v. • Remote extended I/O via the RIO. Programmatically, the I/O appears local (SB, CB, @IN, @OUT). • Galil Ladder Compatible. • Modbus TCP/IP and RTU. Motion controllers are ModBus masters.& Serviced By: 106 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting "There are only 10 types of people in the world: Those who understand binary, and those who dont."& Serviced By: 107 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Overview • Communication problems • Feedback problems • Motion problems • The red LED • Programming problems • Noise problems& Serviced By: 108 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Bus Communication (PCI, ISA) • Install most current Galil communication drivers/software • PCI is Plug and Play • Check for Error LED • Check for communication conflicts in PC’s Device Manager - I/O Address conflicts – especially ISA - IRQ/DMA Conflicts Software OS PCI Driver Win7/Vista/XP x86 x64 GALILPCI.INF GalilTools Linux, Linux 64 GALILPCI.KO WSDK, SmartTerm, XP x86 x64, Win2000 GLWDMPCI.INF Setup32, ActiveX WinNT, Win98SE DMCTerm, Talk2DMC Win98, Win95, Win3.1 - Legacy (16 bit), DOS Choose the right software for your application!& Serviced By: 109 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Serial Communication • Check for proper communication settings A. Baud rate (jumper configurable) Controller Default Baud DMC-21x3 19.2k DMC-4xxx 115.2k RIO-47xxx 115.2k B. RS232 Settings (when not using Galil software) Data Bits 8 Parity None Stop Bit 1 Flow Control Hardware • DMC-41x3 behaves like a USB-SERIAL converter. PC’s OS is bundled with device driver and will connect like a COM port. http://www.ftdichip.com/Drivers/VCP.htm • Proper serial cable – straight 9 Pin, CTS/RTS connected. Order from Galil - CABLE-9-PIND, $10 • Aux RS232 port uses NULL modem cable. CC,CI,#COMINT sets up operation& Serviced By: 110 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Unsolicited Messages (CW) • Data transmitted from the controller asynchronously from embedded code – embedded command such as MG “Hello” or TP, or a program bug • CW1 sets most significant bit for Galil drivers. CW2 doesn’t. Character from Binary Hyperterm controller display “H” with CW2 01001000 H “H” with CW1 11001000 • CW,1 used to determine what to do when nothing is listening to RS232 traffic. TC1 error: 131 Serial Port Timeout& Serviced By: 111 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Unsolicited Messages (CF) Where should the controller send the “Hello” message? Main CFA / CFB GalilTools w/ Scope RS232 Port CFC RIO-47100 CFS CFD RIO-47120 DMC-40x0 #A CFE CFB Ethernet DMC-40x0 MG{EH}”Hello” EN CFF DMC-41x3 CFT CFG LCD Screen Aux RS232 Port CFH HMI& Serviced By: 112 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools 3 Controller Data Streams • Unsolicited messages transmit in a data stream that go to one location, set by CF or { }. Other controller data streams are the Data Record, and UDP interrupts. • By default GalilTools will redirect messages (CFI), data records (DR,n) and interrupts (EI,,n). • To connect without affecting these channels, use optional connection switches in GalilTools and the GCL. • -s (totally silent) • -ei 0 (leave interrupts alone) • -mg 0 (leave unsolicited messages alone) • -dr 0 (leave data records alone) • http://www.galilmc.com/support/manuals/galiltools/connections.html& Serviced By: 113 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Ethernet Communication Simplified Network Model • Why Ethernet? Application – Proven technology – Non-proprietary – High performance Packets – Low cost – hardware and software readily available Physical – No special kernel drivers – Can easily be totally Wire deterministic for real-time apps& Serviced By: 114 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Ethernet Communication Physical Layer • Correct Ethernet Cable? Auto- MDIX (DMC-4xxx and many newer computers) don’t care. May need a crossover cable. Check for LINK/ACT led. • Activity LED will blink indicating network traffic and BOOTP/DHCP requests • RIO can receive power from cat5 cable via P.O.E • RIO-47xx0 requires a jumper for 10BaseT networks (100BaseT default)& Serviced By: 115 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Ethernet Communication Packets Layer (IP) • IP address can be assigned with many methods – DHCP or BOOTP server – GalilTools assign IP over Ethernet (may depend on Firewall, user permissions, etc) COM1, RIO47100 Rev 1.0d, 938 – GalilTools assign IP over :DH0 RS232 with DH, IA, BN :IA 10,0,6,46 commands :BN :IA? 10, 0, 6, 46 • Most OS default to DHCP. If there is no DHCP server, set IP static before assigning the Galil’s IP. This is set in Windows Device Manager, not GalilTools.& Serviced By: 116 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Ethernet Communication Packets Layer (Subnet) • Devices with IP numbers matching the subnet pattern can communicate with each other. PCs, 4xxx and RIO have subnet settings (SM command). • 255.255.0.0 10. 0.6. 27 10. 0.6. 39 10. 1.6.233 • Computers with multiple network interface cards (NICs) should use IP numbers that are outside of each others subnet. • 4xxx and RIO have subnet disabled by default, but PCs always use one.& Serviced By: 117 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Ethernet Communication Applications Layer • Useful tools for Ethernet diagnostics – ipconfig – network status of PC, IP & subnet – ping – Checks route to controller. Reply indicates link, IP assigned, and subnet ok – telnet – Simple connection indicating controller is available for communication – GalilTools – Galil development <ctrl>R<ctrl>V environment, assigns IP to controller – Wireshark – Free network analysis tool http://www.wireshark.org& Serviced By: 118 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Encoder Problems • No encoder counts – Check wiring – For single ended encoder, CHA- and CHB- must be left unconnected – Encoder configuration set with CE command – If position increments by only one count, one channel is either missing or damaged. – PCI - Auxiliary encoder requires separate cable attached to ICM-1900 or ICM-2908 • Motor Position Drifts – Compare TP to actual, independently observed motor position – Check for loose connections or coupling – Avoid noise: » Use differential encoders » Add termination resistors (-TRES) » Shield encoder wires from motor wires » Use 12V encoders » Add ferrite& Serviced By: 119 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting “Runaway” Motors • Positive Feedback A. Reverse motor or encoder wiring to reverse feedback B. Use MT or CE commands to reverse feedback (non-defaults lost after master reset) C. See Application Note #1418 – “Motor and Encoder Configuration” • Broken Encoder wire A. Motor movement without change in TP B. Accelera – Encoder Failure detection feature (OT,OV,OA) C. Application Program can monitor for broken wires D. See Application Note #1417 – “Encoder Failure Circuitry” • Motor Moves in opposite direction than desired A. Hardware or software swap of encoder AND motor leads B. Use MT & CE command to reverse direction& Serviced By: 120 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Amplifier Fault LEDs • Over Current/ Short Circuit LED A. Check for short between phases or between phase and ground B. Fix problem before re-enabling C. Clear with MO/SH commands (latching) • Over/Under Voltage LED A. Unregulated power supply may overcharge during forced deceleration B. Use regulated power supply or add Galil shunt regulator C. LED turns off when voltage drops to acceptable level D. Ensure integrated amplifier is powered, even when unused • Over Temperature LED A. Turns on if heatsink temp rises above 80 c B. May require MO/SH Use TA and #AMPERR to monitor the status of integrated Galil Amps.& Serviced By: 121 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Motors Not Moving • 3rd party Amplifiers - Check amplifier docs for enable/disable requirements - Check for MO due to Abort, _AB, _TS, _MO - Is motor command output driving correct voltage? 1. Disconnect motor command signal from amplifier 2. Set KI,KP,KD to 0 3. Use OF command to set output, e.g. OFX=7 4. Check value of TT (If not correct, check TL) 5. Use voltmeter to measure MCMA 6. If output is 0, TT is not zero, may have blown analog switch on ICM unit • Integrated Amplifiers - Check for MO condition BR1, TA, _AB, _TS, _MO - TL or filter set to 0? If TT shows 0, no motion expected - Proper commutation? QH, 6 combos& Serviced By: 122 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Poor Performance • Motion is uneven or oscillations occur A. Use GalilTools for tuning assistance B. Commutation of brushless motor. QH, 6 combos. C. Commutation track of motor D. Sine Amp configuration (BA,BM,BZ) • Motion stops before target position A. Use KI and IL to compensate for deadband B. Encoder failure detection misconfigured C. Stop Code, “SC”, command to check for unexpected stops A. Soft Limits B. Noise on limit switches or abort C. Error limit& Serviced By: 123 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Stepper Motors • Verify SM jumpers are installed. Issue MT2; if the controller returns “Stepper motor jumpers must be installed”, check the physical jumper placement. NO JUMPERS ON 4xxx,18x6. • Check connections to ICM module; STEP, DIR, AEN • Use correct motor type command (MT2, MT-2, MT2.5, MT-2.5) • Verify commanded motion gives change to both RP and TD. In stepper mode, TD is a “loop-back counter” of the commanded steps, RP. • Motor Stalling? • KS for stepper smoothing • Reduce AC/DC & SP/JG • Change gain AG on integrated amps • Check TA for amp problems& Serviced By: 124 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Command/Program Execution Problems Command Description TR1 Trace. Prints each command as its executed. Print message strings, variables, and controller MG parameters. Print current line number that is executing in MG _XQn thread n (or -1 if thread is not running) LV List all declared user variables and their values LS List the controller program LS first line, last line List a program section LS_XQn,_XQn List current running line of code QU array[] Print the contents of a given array SC Stop code for axis Tell error code and brief description (reason for TC1 controller returning a "?") #CMDERR Automatic sub, runs on crashed thread XQ Begin Program ST Stop Program BK line Set breakpoint at line BK Resume from breakpoint SL Single Step& Serviced By: 125 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Troubleshooting Errors Three Reasons for the Red LED • Position error exceeds error limit A. Check TE value vs. ER limit • Use SH to clear error • #POSERR subroutine can be used for error handling • Watchdog timer is activated due to microprocessor lock up A. Check the voltages on the power supply • +5V supply must be at least 4.75V for proper operation B. Verify communication with controller • A master reset may clear the watchdog error • Re-installation of the firmware may clear error • Controller is in the reset state. A. Check for reset line shorted or pulled to ground B. Protect against noise on reset line and ground loops& Serviced By: 126 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Software& Serviced By: 127 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Galil CD-Rom Free Software Password Required • GalilTools Lite (includes GCL) • GalilTools Full • DMC Smart Terminal • Ladder • DMC Setup • Galil PVT • DMC .NET API • CAD-to-DMC • DMC Win32 • ECAM Setup • WSDK • User manuals and examples included • Active X Toolkit • Latest versions of software and manuals are on website Items in grey are not recommended for new applications& Serviced By: 128 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GalilTools Lite Provides direct interface between controller and computer: 1. Can send commands directly and see response 2. Function to upgrade controller firmware 3. Editor for creating, editing, uploading, downloading programs 4. Watch Window for real-time controller status 5. Function for download, upload arrays 6. Dynamic syntax help 7. Includes GalilTools Communication Library (GCL)& Serviced By: 129 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • GCL Introduction • Use GCL to interface high level programs with the controller • Abstract away communication protocols (Ethernet, RS-232, USB, PCI) • Works with any development environment that supports COM objects including Visual Basic, Visual C++, C#, Labview, and Matlab • Also includes Visual C++ DLL& Serviced By: 130 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Visual Basic (VB) • Majority of customers prefer VB because of ease of use and ability to program quickly • All versions of VB are supported from VB6 up to Visual Studio 2010 • Express version of VB is free • Visual Basic is a simple programming tool created by Microsoft. It uses the BASIC language and a graphical interface to allow a developer to write powerful programs quickly and easily. • Object oriented and event driven& Serviced By: 131 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Visual Basic Overview The VB environment has three basic parts: • The tool bar on the left • The program form in the middle • The property list on the right& Serviced By: 132 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • VB Example • This program will print “Hello” inside a textbox when the command button is pressed. • Step 1. Draw a command button on the form: a. Click on the rectangle shaped tool called the Button. To locate this tool hold the mouse pointer over each tool until the help tag appears as “Button” b. Click on the tool. c. In the form area draw the button by holding down the mouse button and dragging within the form area. Release the mouse button.& Serviced By: 133 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • VB Example Create Command Button& Serviced By: 134 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • VB Example (cont.) • Step 2. Draw a textbox on the form: a. Find the tool with the help tag ‘TextBox’ and draw it on the form above the command button. The textbox tool is a white rectangle with the letters ‘ab’ inside. • The form should now look like this:& Serviced By: 135 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • VB Example (cont.) • VB is event driven and VB code has to be entered to make something happen when the button is pressed. • Step 3. Double click on the command button. Enter the code: TextBox1.Text = “Hello” • The line of code tells VB display “Hello” inside the textbox control. • “TextBox1” is the default name of the textbox. “Text” is a property of the textbox, in this case the text that will be shown inside the textbox control. By making the text property equal to a string, VB is instructed to display 136 it in the textbox.& Serviced By: ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • VB Example – Changing Properties • Properties define how any object looks or operates. To see a list of properties select an object on the form and look at the property list on the right of the VB screen. • Step 4. To change the caption of the command button: a. Select the Button1 button on the form b. Scroll down the property list to the ‘Text’ property c. Enter the text “Say hello” in the box directly to the right of the property name. d. The caption of the command button should now be changed • Step 5. To run the program, hit F5. • The textbox should be blank by default. To change it press the command button.& Serviced By: 137 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #1 – Query Position Purpose: Allow the user to query the controller’s position by pressing a button Procedure 1. Add a reference to the Galil Communications Library (GCL) 2. Add a button and a text box 3. Program the Form Load event to open a connection to the controller 4. Program the Button Click event to send the command and display the response in the text box& Serviced By: 138 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using the GCL in VB • Using the COM object from GCL allows us to communicate to the controller • To add a reference click Project->Add Reference->COM • Select the Galil COM object& Serviced By: 139 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Opening Communication • Create a Galil object called g • Set the address property in the Form Load event – Setting address to double quotes opens connections dialog box& Serviced By: 140 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Add Visual Objects • Create a command button and a textbox control on the form • Select the command button. Find the property list on the right and change the ‘Text’ property to “TPX”.& Serviced By: 141 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Sending Command • Double click the TPX button and add this code to the Button Click event • TextBox1.Text = g.command(“TPX”)& Serviced By: 142 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Run The Program • Run the program by pressing F5 • Notice the connections dialog box appears • Select the controller then press the TPX button& Serviced By: 143 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #2 – Continuous Update Purpose: Learn to use the data record to automatically display X and Y position data from the controller Procedure 1. Establish Communication 2. Add textboxes and labels 3. Program the On_Record event to display positions& Serviced By: 144 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Data Record • A packet that contains all the information on the controller • Accelera controller’s can automatically send DR packet every other servo sample – As fast as every 125us on the DMC-40x0! – No polling by host PC – Econo/Optima support DR but slower • Used by GalilTools for the scope& Serviced By: 145 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #2 – Set Up • Add a reference to the GCL • Create a Galil object • Set address property • Add 2 textbox’s and 2 labels – Change the Text property of the labels& Serviced By: 146 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #2 – OnRecord • Select the object g and choose the event onRecord& Serviced By: 147 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #2 – OnRecord (cont.) • Add g.recordsStart(-1) to the Form_Load – Tell the controller to send DR packets as fast as possible • Use g.sourceValue() to parse the datarecord – Record object contains DR information& Serviced By: 148 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – User Interface Purpose: Create a project that allows the user to write a DMC program and download it to the controller while also sending commands and displaying user selectable data Procedure 1. Add a GCL reference and establish communication 2. Add textboxes and labels for a program editor, terminal, and display areas 3. Add combo boxes for selecting data to be displayed 4. Write code to populate combo boxes 5. Write code to use datarecord 6. Write code to send commands and display response 7. Write code to download DMC programs& Serviced By: 149 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – Establishing Communication • Add a reference to Galil • Dimension Galil object • Include g.address – Add Try Catch statement& Serviced By: 150 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – Add Design Elements • Add Program Editor text box – Set multiline true and scrollbars to vertical • Add boxes for sending commands, receiving responses, and displaying values • Add 2 combo boxes • Add labels and buttons to describe all& Serviced By: 151 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – Add Code For Combo Boxes • Create source strings • Fill combo boxes with DR sources • Combo box event& Serviced By: 152 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – Add Code For Datarecord • Use source1 and source2 strings from combo box • User g.sourcevalue() to get the user selected data& Serviced By: 153 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – Commands and Program • Use g.command to send commands • Use g.programdownload() to download programs& Serviced By: 154 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 – Complete Program& Serviced By: 155 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Example #3 - Working& Serviced By: 156 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Application Examples& Serviced By: 157 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Drive X-Y with Velocity Proportional to Joystick Position Task: Drive a motor at a speed proportional to the input voltage of a joystick. Note; An X-Y joystick 2 signals in the range between +/- 10V • Assume that a full voltage of 10 Volts must produce a motor speed of 3000 rpm with an encoder resolution of 1000 lines or 4000 count/rev. This speed equals: 3000 rpm = 50 rev/sec = 200,000 count/sec • The program reads the input voltage periodically and assigns its value to the variable VIN. To get a speed of 200,000 ct/sec for 10 volts, we select the speed as Speed = 20,000 x VIN& Serviced By: 158 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Drive X-Y with Velocity (cont.) Instruction Interpretation #JOYS Label AC 100000 Set Acceleration DC 100000 Set Deceleration JG 0,0 Set in Jog Mode BG XY Start Motion #LOOP Label VX=@AN[1]*20000 Read joystick & compute speed X VY=@AN[2]*20000 Read joystick and compute speed Y JG VX, VY Change speeds JP #LOOP Repeat& Serviced By: 159 EN End program ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Point to Point Motion with 2 Velocity Levels Task: Move a distance of 10,000 counts at a speed of 20,000. Acceleration and deceleration should be 100,000. For last 100 msec of move, approach target at speed of 2000 cts / sec. VELOCITY 200 20000 2000 0 2000 7800 10000& Serviced By: POSITION 160 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Point to Point Motion with 2 Velocity Levels (cont.) Calculate distance to change speed A = Distance moved during acceleration A = V2 / (2*AC) A = 20,000*20,000 / (2* 100,000) A = 2000 B = Distance moved while approaching target at 2000 B = 2000 cts / sec * .100 sec B = 200 cts C = Total Distance for dec and approaching target C=A+B C = 2200 D = Distance at which speed must be changed to 2000 D = 10,000 - C D = 7800& Serviced By: 161 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Point to Point Motion with 2 Velocity Levels Instruction Interpretation #A Label DP 0 Define Position of X axis 0 PA 10000 Move to position 100000 SP 20000 Set Speed to 50000 AC 100000 Set Acceleration to 120000 DC 100000 Set Deceleration to 120000 BGX Begin Motion on X axis D = 7800 Define D (position of new speed) AD D SP 2000 Set new speed& Serviced By: 162 EN End of Program ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Controlling Motion with Digital Input Task: After start pulse, move forward a distance of 4000 counts at an initial speed of 4000 ct/s. After a distance of 2000, lower the speed to 2000. After the completion of the forward motion, wait for 100 ms and move backwards at a speed of 4000 ct/s. INPUT 1 4000 VELOCITY 2000 TIME& Serviced By: 163 ELECTROMATE -4000 Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Controlling Motion with Digital Input (cont.) Instruction Interpretation #A Label PR 4000 Distance SP 4000 Speed AC 10000 Acceleration DC 10000 Deceleration AI1 Wait for Input 1 BGX Start X motion AD 2000 Wait until distance = 2000 SP 2000 New Speed AMX Wait until move is complete WT 100 Wait 100 ms PR -4000 Distance SP 4000 New speed BGX Start motion AMX Wait for motion completion JP #A Start the cycle again& Serviced By: 164 ELECTROMATE EN End Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Stop Motion at N Counts After Input Task: Jog Motor at 5000. Capture the encoder position of the motor when the input is detected, using the Latch Function. Stop the motor at 1000 counts after detecting input. • Define the following variables: N = The target distance, 1000 D = The distance required for the motor to decelerate to a stop = (1/2 * SP2 / DC) • The latch is armed with command, ALX. When latch occurs, _ALX changes from 1 to 0 and _RLX = captured position. • Desired target position is _RLX+N • Initiate deceleration (ST command) at position _RLX+N-D& Serviced By: 165 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • VELOCITY Stop Motion at N Counts After Input (cont.) _RLX N D TIME INPUT 1 STATE OF LATCH _ALX=1 _ALX=0& Serviced By: 166 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Stop Motion at N Counts After Input (cont.) Instruction Interpretation DP 0 Define X Position 0 N = 1000 Stopping Distance ALX Arm X axis Latch JGX = 10000 Set Jog Speed ACX = 50000 Set Acceleration Rate DCX = 50000 Set Deceleration Rate BGX Begin Jog Motion #WAIT Wait for latch JP#WAIT, _ALX=1 D= (.5*_JGX*_JGX)/_DCX Calculate Deceleration Distance T = _RLX + N - D Calculate stopping point AP T Wait until distance achieved STX Decelerate to a stop EN End Program& Serviced By: 167 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using Vector Mode Task: Command X and Y axes to trace out the following motion 6000 E F 5000 G D 1000 C H B A I 0 -5000 -4000 0 4000 5000 A to B B to C C to D XB = -4000, YB = 0 R = 1000 XD = -5000 VP -4000,0 q = 270O YD= 5000 D = -90O VP -5000,5000& Serviced By: 168 CR 1000,270,-90 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using Vector Mode Instruction Interpretation VP -4000,0 Segment A to B CR 1000,270,-90 Segment B to C VP -5000,5000 Segment C to D CR 1000,180,-90 Segment D to E VP 4000,6000 Segment E to F CR 1000,90,-90 Segment F to G VP 5000,1000 Segment G to H CR 1000,0,-90 Segment H to I VP 0,0 Segment I to J VE End of Vector Sequence VS 40000 Set Vector Speed VA 1000000 Set Vector Acceleration VD 1000000 Set Vector Deceleration& Serviced By: BGS Begin Sequence 169 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maximize Performance of Vector Motion Task: Vary the speed of the vector motion on difficult segments (such as corners). Use vector speed operators, < and >. • Monitor Vector Motion with SDK to determine system performance • Use ‘<’ and ‘>’ operators to adjust speed for critical segments • From Previous Example: • Maximum speed for circular motion: 40000 • Maximum speed for straight line segments: 80000& Serviced By: 170 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maximize Performance of Vector Motion (cont.) Vector Speed Vector Speed Begins Accelerating is 40000 to 80000 Vector Speed Vector Speed Begins Accelerating is 40000 E F to 80000 D G Vector Speed Vector Speed Beings Accelerating H is 40000 to 80000 C B A I At this Point, Vector Speed Beginning of Vector Speed Begins Accelerating Motion Path is 40000 to 80000& Serviced By: 171 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maximize Performance of Vector Motion (cont.) Instruction Interpretation #A VP -4000,0 <80000>40000 Decrease speed at end of segment CR 1000,270,-90 VP -5000,5000 < 80000>40000 Increase to 80000; End at 40000 CR 1000,180,-90 VP 4000,6000 < 80000>40000 CR 1000,90,-90 VP 5000,1000 < 80000>40000 CR 1000,0,-90 VP 0,0 < 80000 Increase speed at beginning of segment VE End of Vector Sequence VA 1000000 Set Vector Acceleration VD 1000000 Set Vector Deceleration BGS Begin Sequence AMS& Serviced By: JP#A 172 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maximize Performance of Vector Motion (cont.) 80000 VECTOR SPEED 40000 A B C D E F G H I A VECTOR SEGMENT& Serviced By: 173 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maintain Knife Tangent to X-Y Motion Task: Use Vector Motion on X-Y axes for vector and circular motion. Use Z axis to control knife position. • The Z axis has 4000 counts / rev The resolution is 4000 counts / 360 • Determine the relationship between Knife position and angle For example: At Position 1000, Z axis points in direction of 00 • Z axis resolution and starting position is specified by TN command 90 Direction of knife at position 1000 180 0 270& Serviced By: 174 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maintain Knife Tangent to X-Y Motion(cont.) • Use the value _TN to set the correct knife position before executing the vector motion. -4000,3000 0,3000 Point Knife in -4000,0 0,0 Starting Direction Knife Path PA ,,_TN& Serviced By: 175 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Maintain Knife Tangent to X-Y Motion(cont.) Instruction Interpretation VMXYZ Motion on XY plane and Z tangent TN 4000/360,1000 Specify resolution and offset of Z axis VP -4000,0 CR 1500,270,-180 Specify vector moves VP 0,3000 CR 1500,90,-180 VE End of vector move PA 0,0,_TN Move X, Y & Z into starting position BG XYZ Start the move to get into position AM XYZ Wait for move completion SB 1 Move Knife into material (with output bit) WT 100 Wait for Knife to be in position BGS Begin vector motion AMS After the coordinated move is complete CB 1 Remove Knife from material EN End program& Serviced By: 176 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Glue Dispensing Task: Move a dispensing head in the XY plane and dispense glue at uniform rate per length • Method - Drive XY in the vector mode, VM, generating linear and circular segments. • To achieve uniform glue flow per length, there are two choices: 1. Run VM at constant rate, VS. Turn dispenser on and off when motors are at full speed. This requires that trajectory must overlap. 2. Run VM at variable VS rate, allowing slowdown on corners. Drive pump motor in proportion to vector speed. GAZ=S, GR,,1.& Serviced By: 177 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using a Gantry System Task: Maintain equal load sharing between motors on a gantry X-axis Y-axis Position Error (TEX) Position Error (TEY) Commanded Position (RPX, RPY) Actual Position (TPX) Actual Position (TPY)& Serviced By: 178 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using a Gantry System (cont.) Task: Configure X and Y motors of a gantry to be geared together. Maintain equal load sharing between the motors. • To specify the master axis, use the command, GA Example: GAX=Y specifies Y as the master of X axis Choices for master: - Motor position or encoder - XYZW or ABCDEFGH - Commanded motor position - CX,CY,CZ etc - Auxiliary encoder - DX,DY,DZ etc - Vector speed of S or T plane - S,T - Virtual axis -N& Serviced By: 179 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using a Gantry System (cont.) • To specify gear ratio, use the command, GR GRX=2 specifies X to follow master with a ratio 2:1 • To maintain gearing, use the Gantry mode, GM. With GM, gearing will not be disabled by ST command, Limit Switches or Abort Input. GM 1 enables Gantry Mode for the X axis. • For a gantry system: - Set KI=0 for both master and slave. This eliminates excessive torque on the system - Use commanded position (CX) as the gearing master. This avoids load coupling. - Enable Gantry Mode for the slave axis • Use a program to maintain load sharing; - When positional error exceeds threshold, make a& Serviced By: correction on the slave axis (on top of gearing). 180 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Using a Gantry System (cont.) Instruction Interpretation #GANTRY Label GA ,CX Define X axis as master, Y as slave GR ,1 Set Slave Gear Ratio GM ,1 Enable gantry mode for slave axis #LOOP E=_TEX-_TEY Torque difference of master and slave JP#LOOP, E*E < 400 Do nothing if error is small IPY=E Make Correction AMY Wait for Motion to Complete JP#LOOP Repeat EN End of Program& Serviced By: 181 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Web Cutting with Fixed Cut Length Task: As web moves continuously, cut web with a rotary knife at constant length segments. Roller w/ Encoder • Synchronize knife to web in electronic gearing. • Similar Applications -Applying labels to bottles • Example Circumference of knife: 20” Encoder Resolution of knife axis: 4000 cts / rev Circumference of Roller: 10” Encoder Resolution of Roller Axis: 8000 cts Need to set Web Speed = Knife Speed Web Line Speed is 30” / sec Speed of Knife: 1.5 Revs / Sec = 6000 cts /sec Speed of Roller: 3 Revs / Sec = 24000 cts / sec Ratio of Knife / Roller = 6000 / 24000 Instruction Interpretation& Serviced By: 182 GA ,X Define X axis as master for Y ELECTROMATE 1/4 GR, Set Gear Ratio to be 1/4 Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Web Cutting With Variable Cut Length Task: As web moves continuously, cut web with a rotary knife at constant length segments. Advancing Knife Correction VELOCITY& Serviced By: 183 ELECTROMATE KNIFE SPEED TIME Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Web Cutting with Fixed Cut Length • To cut at a given length, add PR command on top of gearing. Knife circumference = 20” Desired cut length = 16” Knife encoder resolution = 4000 counts Knife must be advanced 4000/5 = 800 counts • Position of knife to clear contact: 2500 counts Instruction Interpretation #A Label DP0,0 Define X and Y position 0 GA,X Define X axis as master* GR,.25 Set Slave Gear Ratio 1 V=2500 Position of Knife to advance #LOOP MF,V Wait for knife to reach pos. PR, 800 Advance knife position BGY Begin advancing movement AMY Wait for move to complete V=V+4000 Add 1 Rev to next position JP#LOOP Repeat EN For DMC-1000, DMC-1500 the gear command should be: GAX& Serviced By: 184 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Pause Motion Task: When input is triggered, decelerate vector motion to a stop, when input is de-activated, resume motion • Create #ININT subroutine in Program • Use General Use Input to generate interrupt • Set Vector Speed, VS, to zero • Pause while interrupt remains active Instruction Interpretation II1 Set X axis only for vector motion #LOOP Vector motion path VP -4000,0 CR 1500,270,-180 VP 0,3000 CR 1500,90,-180 VE BGS;AMS JP#LOOP Repeat motion when done EN #ININT Input Interrupt routine N= _VS Save Current Vector Speed VS 0 Set Speed to 0 #PAUSE Wait while input is active JP#PAUSE,@IN[1]=0& Serviced By: 185 VSN Resume ELECTROMATE RI1 Return from interrupt Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Backlash Compensation Task: Eliminate servo instability and / or poor accuracy due to mechanical backlash • Install an encoder on the load with resolution <= motor resolution • Place motor encoder into auxiliary encoder input. Place load encoder into main encoder input • Issue DV1 command • Tune System Using SDK& Serviced By: 186 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com
    • Galil Customer Product Training is protected by copyright and must not be reproduced or disseminated in any form without prior written consent of Galil Motion Control, Inc.& Serviced By: 187 ELECTROMATE Toll Free Phone (877) SERVO98 Toll Free Fax (877) SERV099 www.electromate.com sales@electromate.com