Although great effort has been taken to ensure the accuracy ofthe information in this document, it is intended
to be used only as a guide. Knowledge of motion control, hydraulic servos, electric servos, magnetostrictive
displacement transducers, and safety rules is required. Delta Computer Systems, Inc. cannot accept
responsibilityfor problems resulting from omissions in th is document. The information in th is document is
subject to change without notice.
Neither Delta Computer Systems, Inc. nor anyone else involved in the creation, production, or delivery of this
product shall be liable for any direct, indirect, consequential injuries and or damages arising out of the use, the
results of use, or the inability to use this product.
All brand names and trademarks referenced in this manual are the pr operty of their respective holders.
UNING ................................................................................................................................................. 25
T
OGGING THE AXIS.................................................................................................................................26
J
Delta Computer Systems, Inc. 360/254-86883
ContentsMMC120 Linear Motion Control Module
SAVING PARAMETERS AND PROFILES....................................................................................................... 26
MOTION CONTROL PARAMETERS ..................................................................................................... 27
SER NOTES .......................................................................................................................................... 93
Reading the Current Step............................................................................................................ 103
Terminating a Loop.................................................................................................................... 103
Interrupting a Sequence.............................................................................................................. 103
Multiple Axes Can Use th e Same Steps....................................................................................... 103
No Conditional Branching.......................................................................................................... 103
INDEX ....................................................................................................................................................... 104
6Delta Computer Systems, Inc. 360/254-8688
Delta Computer Systems, Inc. 360/254-86887
8Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleOverview
OVERVIEW
The MMC120 Motion Control Module is a complete two-axis position control subsystem for the Modicon TSX
Quantum Automation Seriesfamilyof Programmable Controllers. An onboard pr ocessor controls the axes,
providing complete independent PID motion control loops and allowing on-the-flymotion profile chan ges.
The module h as two opticallyisolated magnetostrictive tr ansducer interfaces and twoopticallyisolated ±10
volt outputs.
The MMC120 occupies one slot of the Quantum rack. The MMC120 and the Programmable Contr oller
communicate over the backplane through four output and four input registers. The onboard 80C188EB
20MHz processor relieves the Programmable Controller of the overhead n eeded for servo control. The Motion
Control Module updates the axis position and drive output 1000 times each second, assuring precise
positioning even at high speeds.
If more than two axes of control are needed, additional MMC120 modules can be installed.
• Maximum velocity in excess of 120 inches per second
• Maximum transducer length greater than 220 inches
• Hardware fail safe timers
• FLASHmemoryfor parameter and profile storage
• Software configurable -- no jumpers or switches
• Diagnostic and tuning software included
Position Inputs
• Two optically isolated magnetostrictive transducer interfaces
• Differential or single-ended signal compatibility
• Start/Stop or Pulse Width Modulated signal compatibility
• 120 MHz count rate -- counting both edges of a 60 MHz clock
• 1 circulation
• Position resolution better than 0.001 of an inch
Modicon, ModConnect and TSX Quantum Automation Series are registered tr ademarks ofSchneider
Delta Computer Systems, Inc. 360/254-86889
OverviewMMC120 Linear Motion Control Module
Drive Outputs
• Two optically isolated ±10 volt outputs
• 12 bit digital-to-analog converters
• Current output available with VC2100 voltage-to-current option
10Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleOverview
SPECIFICATIONS
Temperature
Operating:0oCto+60oC
Storage:-40oCto+85oC
Humidity
93% non-condensing
Vibration Resistance
1gat60Hzto500Hzfor23minutes
0.075 mm displacement from 10 Hz to 60 Hz
Shock Resistance
30 g for 11 milliseconds
ESD Immunity
8kV
Power Requirements
+5V @ 1 Amp from the backplane
Transducer Inputs
Direct in terface to magnetostrictive transducers
Differential or single-ended transducer compatibility
Start/Stop pulses or Pulse Width Modulated signals
Outputs
±10 volts into 2000 Ohm or greater load -- current output is available with the optional VC2100 voltage-tocurrent converter
Isolation
All inputs a nd outputs used for control purposes are optically isolated from the module, with 2500VDC
withstand voltage
Each input an d output section is isolated from the other sections
The RS-232 port is not isolated
I/O Protection
All inputs and outputs are protected against transients by clamp diodes
Agency Compliance
UL, CSA, and CE
Delta Computer Systems, Inc. 360/254-868811
OverviewMMC120 Linear Motion Control Module
Bus Compatibility
ModConnect® Certified partners
Quantum Automation Series
Direct connection to Quantum backplane
4 input and 4 output registers, using 64 input and 64 output points
32 registers for parameter storage (16 per axis)
32 registers maximum for profile storage (16 per axis)
2048 registers maximum for event steps (256 steps)
Fail Safe Timers
The MMC120 has two fail safe timers:
Drive Output Disable -- 15 microseconds
The fastest fail safe timer on the MMC120 is 15 microseconds long and is retriggered by activity on th e
module's internal bus. If the timer is not r etriggered within 15 microseconds, it disables the dr ive outputs.
When internal bus activityresumes, the driveoutputs are re-enabled.
Hardware Reset -- 17 milliseconds
If the microprocessor fails to retrigger the onboard watchdog timer, the 17 millisecond h ardware reset timer
expires and resets the hardware. This has the same effect on the MMC120 as powering up. While the module
is being reset, the Fail LED on the front panel is illuminated.
12Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleDescription
DESCRIPTION
Principle Of Operation
Position Measurement
The MMC120 has interface circuitry for twomagnetostrictive transducers. Each axis can be configured for a
Start/Stop transducer or a Pulse Width Modulated transducer by changin g the axis' Configuration Word. To
make a measurement with a Start/Stop transducer, the MMC120 sends an interrogation pulse to the
transducer. The transducer responds byreturning 2 pulses -- a 'Start' pulse and a 'Stop' pulse. The counters
on the MMC120 are active between the two pulses. The time between the pulses is proportional to the
transducer position.
Interrogation
Pulse
Start Pulse
Counters Active
Start/Stop Pulse Transducer
To make a measurement with a Pulse Width Modulated transducer, the MMC120 sends an interrogation pulse
to the transducer. The transducer responds with a return signal th at is high while the transducer is
determining its position. The counters on the MMC120 are active while the return signa l is high. The width
of the return signal is pr oportional to the transducer position.
Interrogation
Pulse
Return Signal
Counters Active
Pulse Width Modulated T ransducer
Stop Pulse
While the counters on the MMC120 are active, they count the number of half-cycles of a 60 MHz clock (120
MHz effective rate). At this frequency, each half-cycle represents less than 0.001 inch displacement of the
axis.
The MMC120 converts the Transducer Counts read from the counters to an ACTUAL POSITION in userdefined Position Units (usually 0.001 inch) for use by the Quantum Programmable Controller.
Delta Computer Systems, Inc. 360/254-868813
DescriptionMMC120 Linear Motion Control Module
Position
Control Loop
The MMC120 is a targeting controller; each millisecond the onboard microprocessor updates the TARGET
POSITION and target speed values. For point-to-point moves, TARGET POSITIONS are generated so the
target speed follows a profile. The MODE, ACCELERATION, DECELERATION, SPEED, and COMMAND
VALUE (requested position) are used to generate the profile. They are specified bythe user, and can be
changed while th e axis is moving.
Maximum Speed
Speed
Acceleration Ramp
Deceleration Ramp
Time
The ACTUAL POSITION measured by the magnetostrictive transducer is compared with the TARGET
POSITION to determine the position error. Every millisecond the position error is used to calculate th e closed
loop components of the drive output. It is multiplied by the PROPORTIONAL GAIN to calculate the
proportional component of the drive output. The accumulated position err or is used, along with the
INTEGRAL GAIN, to calculate the integral portion of the drive output. The change in position error, along
with the DIFFERENTIAL GAIN, is used to calculate th e differential portion of the drive output.
Actual
Position
Σ
-
ErrorProportional
Gain
+
Integral
Gain
Differential
Gain
Drive
Output
Σ
Target
Position
Accumulator
(Integrator)
∆
∆ Error
∆ ∆
(Differentiator)
Position∆∆∆∆
(Velocity)
Velocity
∆∆∆∆
Target
Generator
Command
Processor
Ladder
Logic
14Delta Computer Systems, Inc. 360/254-8688
DCS120
(Acceleration)
Feed
Forward
Accel Feed
Forward
Deadband
Eliminator
MMC120 Linear Motion Control ModuleDescription
In addition to the closed loop drive, the MMC120 has two feed forward terms, made up of EXTEND and
RETRACT FEED FORWARD, and EXTEND and RETRACT ACCELERATION FEED FORWARD. These
feed forward terms give approximatelythe drive needed to make the axis followthe target, freeing the PID
loop to correct for nonlinearity in the system and changes in system load.
Drive Output
The drive generated by the MMC120 is sent through optical isolation to a 12 bit digital-to-analog converter
(DAC). Th e output from the DAC is amplified to providea ±10 volt output to th e hydraulic valve. Servo
valves that need current input require a voltage-to-current converter (Delta par t number VC2100).
Proportional valves work directlywith the voltage signal.
Quantum Interface
The MMC120 communicates with the Quantum controller over the backplane. The module is I/O mapped as
a DCS MMC 120 0x with four input and four output registers. Commands and status for both axes are
transferred across the backplane in groups of four 16-bit words.
Programming
Commands to the MMC120 are sent by writing to the Programmable Controller's output registers. The first
two registers send commands to axis 1 while the n ext two registers send commands to axis 2. Programming
details ar e presented in the section "COMMUNICATING WITH THE MMC120."
Event Control
Sequences of commands can be stored and executed by the MMC120 with little in tervention by the
Programmable Controller. This allows a 1 millisecond response time by the MMC120 to internal events such
as move done or elapsed time.
FLASH Memory
You can store parameters, profiles, and Event Control steps in the MMC120's non-volatile FLASH Memory.
This reduces th e memory requirements in the ProgrammableController and eliminates the need to tran sfer
initialization parameters back and forth.
NOTE: Since data is stored in the module, when you replace one module with another you must transfer the
parameters and profiles to the n ew module . Because of this, you must store all par ameters an d profiles
either in the ladder logic program or in a DCS120 file so they can betransferred to a module when needed.
Delta Computer Systems, Inc. 360/254-868815
Front Panel IndicatorsMMC120 Linear Motion Control Module
FRONT PANEL INDICATORS
There are 14 green and red light emitting diodes (LEDS) on the front panel of the MMC120. These LEDS
providestatus information about the module and each of the two axes.
The LED labeled "F" is the FAIL indicator for the MMC120 microprocessor. If the FAIL indicator is red, the
drive outputs are disabled an d the axes will n ot move unless the valveis out of null.
The LED labeled "Active" indicates the status of communications over the backplane. When th is LED is
green, communication is normal. When it is off, communication has stopped.
The numbered LEDS indicate the status of the axes.
NOTE: Thereare three transducer errors: No Transducer, Transducer Noise, and Transducer Overflow. The default
AUTO STOP settings will make any of these errors cause a Hard Stop, set the output of the axis to the
current drive null, an d turn on its red LED. Once the transducer error h as been corrected, a new command
to the axis will turn the red LED off.
Active indicator offCommunication disabled
Active indicator greenCommunication OK
Green LED 1Axis 1 Parameters Initialized
Green LED 2Axis 1 Transducer OK
Greed LED 5Axis 2 Parameters Initialized
Green LED 6Axis 2 Transducer OK
Red LED 1(Emergency Stop)Axis 1 Hard Stop/Open Loop
Red LED 2(No MDT)Axis 1 No Transducer
Red LED 3(Noise)Axis 1 Transducer Noise
Red LED 4(Overflow)Axis 1 Transducer Overflow
Red LED 5(Emergency Stop)Axis 2 Hard Stop/Open Loop
Red LED 6(No MDT)Axis 2 No Transducer
Red LED 7(Noise)Axis 2 Transducer Noise
Red LED 8(Overflow)Axis 2 Transducer Overflow
16Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleSetup Checklist
SETUP CHECKLIST
Wiring (Pages 18 and 19)
Wire magnetostrictive transducers to 9-pin terminal block on MMC120. See your transducer documentation
for connector pinout or cable color codeinformation.
Wire MMC120 drive outputs (3-pin terminal block) to actuators (+out = axis extends)
Install and connect power supplies needed for your transducers
Installation (Page 18)
Define input and output registers
I/O Map the MMC120 (DCS MMC 120 0x, 4 input registers, 4 output registers)
Reserve memory for the module (parameters, profiles, event steps)
Start-up and Tuning
Run DCS120 setup program
Configure MMC120 to match transducers (See Configuration Word, bits 1-4onpage25)
Set Extend and Retract Limits
Tune the axes
Save parameters in DCS120 to a .BD1 file (S filename command - page 78)
Save parameters to Flash memory (page 43)
Read parameters and profiles into Programmable Controller
Delta Computer Systems, Inc. 360/254-868817
Preparing For InstallationMMC120 Linear Motion Control Module
PREPARING FOR INSTALLATION
Wiring Notes
Useshielded twisted pairs for all connections to in puts and outputs. Route the tr ansducer wiring separate from
other wiring.
You must provide the power supplies needed for your transducers.
Drive Outputs
When wiring the system, it is important that the drive extends and tr ansducer counts increase when a positive
voltage is sent to the drive. The extend direction is defined as the direction that causes the transducer to return
increasing counts. The extend direction of a magnetostrictivetransducer is away from the head.
Magnetostrictive Transducer Wiring
NOTE: The following example schematics do not include transducer pin numbers, color codes, or power supply
requirements, since these vary among different transducers. To determine your power supply needs and
connector pinouts or cable color codes, consult your transducer documentation.
The MMC120 can interfaceto transducers with either single-ended (TTL) or Differential Line Driver (RS-
422) interrogation and return signals. With RS-422 signals, connect both the '+Int' and '-Int' between the
transducer and the MMC120 for the interrogation signal, and connect both the '+Ret' and '-Ret' between the
transducer and the MMC120 for the return signal. Connect the transducer DC ground to MDT Common.
For single-ended transducer with positiveinterrogation, connect th e transducer '- interrogation in' wire to the
MDT Common pin and the tran sducer '+ interrogation in' wire to the '+ Int' pin. CONNECT NOTHING TO
THE '- INT' PIN OF THE MMC120. Connect the transducer return plus wire to the '+' return pin on the
MMC120 and the transducer return common wire to MDT Common on the MMC120. CONNECT
NOTHING TO THE '- RETURN' PIN OF THE MMC120.
18Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModulePreparing For Installation
Temposonics I transducer users:
For the negative in terr ogation version of this transducer, connect the transducer '+ interrogation in' wire to the
MDT Common pin and the tran sducer '- interrogation in' wire to the '- Int' pin. CONNECT NOTHING TO
THE '+ INT' PIN OF THE MMC120. Connect the transducer return plus wire to the '+' return pin on the
MMC120 and the transducer return common wire to MDT Common on the MMC120. CONNECT
NOTHING TO THE '- RETURN' PIN OF THE MMC120.
Some Temposonics I transducers from MTS have 200 Ohm termination resistors installed between their
interrogation pins and common. If yours do not, it maybe necessaryto install them as close to the
transducers as possible to reduce electrical noise in the system.
Delta Computer Systems, Inc. 360/254-868819
Preparing For InstallationMMC120 Linear Motion Control Module
Serial Port
The communication cable attached to th e serial port is a potential source of electromagnetic radiation from the
MMC120. To minimize radiation, use a well-shielded cable which is as sh ort as possible. Route it out the
bottom of the module and against the back panel.
NOTE: The tran sducer interface can be used with either differential (RS-422) or single-ended (TTL) transducer
signals. For an RS-422 transducer, connect both the '+Int' and '-Int' between the transducer and the
MMC120 for the interrogate signal, and connect both the '+Ret' and '-Ret' between the transducer and the
MMC120 for the return signal. Connect the transducer DC ground to MDT Common.
For a positiveinterrogation, single-ended transducer, connect the transducer '- interr ogation in' wire to the
MDT Common pin and the tran sducer '+ interrogation in' wire to the '+ Int' pin. CONNECT NOTHING
TO THE '- INT' PIN OF THE MMC120. Connect the transducer return plus wire to the '+' return pin on
the MMC120 and the transducer return common wire to MDT Common on the MMC120. CONNECT
NOTHING TO THE '- RETURN' PIN OF THE MMC120.
For a negative interrogation, single-ended transducer, connect the tr ansducer '+ interrogation in' wire to the
MDT Common pin and the tran sducer '- interrogation in' wire to the '- Int' pin. CONNECT NOTHING TO
THE '+ INT' PIN OF THE MMC120. Connect the transducer return plus wire to the '+' return pin on the
MMC120 and the transducer return common wire to MDT Common on the MMC120. CONNECT
NOTHING TO THE '- RETURN' PIN OF THE MMC120.
Drive Output:Three Pin Plug-in Terminal Block
PinFunction
1Axis 1 Drive
2Drive Common
3Axis 2 Drive
Serial Port:DB-9
PinFunction
2Receive
3Transmit
5Common
20Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModulePreparing For Installation
Hydraulic System Notes
Hydraulic systems must have enough pressure and fluid volume (accumulator) to move the desired load the
commanded distance at the commanded speed. Inadequate pressure or volume will cause the axis to lag the
target position as the controller attempts to move the axis faster than the system can move.
There should be no flexible h ose between the valveand th e cylin der being controlled. Hose swells and
contracts as th e valve opens and closes, causing oscillation and loss of control.
If pr oportional valves are used they should h ave zero overlap an d a linear (not curvilinear) response.
Overlapped or nonlinear valves may cause oscillation or hunting.
Valves with slow response cause the Motion Control Module(MCM) to overcompensate for disturbances in
the motion of the system. With a slow value the system will n ot respond immediatelyto the control signal, so
the MCM continues to increase the drive signal. By the time the system begins to respond to the error, th e
control signal has become too large and the system overshoots. The MCM then attempts to control in the
opposite direction, but again it overshoots. These valves can causethe system to oscillate around th e set point
as the MCM overshoots first in one dir ection, then the other.
Delta Computer Systems, Inc. 360/254-868821
StartupMMC120 Linear Motion Control Module
STARTUP
CAUTION: Do not connect the drive outputs to the drives un til the EXTEND and RETRACT limits have been
determined and the MMC120 has been properly initialized with these limits by the Quantum
ProgrammableController.
Great care must be taken to avoid accidents when starting the Motion Control Module for the first time.
The most common accident is a r un away, where th e motion controller tr ies to go to a position beyond the
physical limits of an axis.
When the MMC120 Motion Control Module is first turned on the parameters are set to default values. These
values allow th e module to maintain the pr esent positions of the axes it controls; the parameters must be
changed for the module to work in your system. The Quantum Programmable Controller program is
responsible for initializing the parameters when the MMC120 is powered up by sending the correct
initialization parameters to the module, then issuing a 'P' command. The following procedure will help find
the optimum values for the initialization parameters.
TIP: Use Delta's DCS120 setup program to help determine initial parameters an d operation. Also, Delta's SSS/10
ServoSystem Simulator and PPS/14 Position/Pressure Simulator provide a simple wayto test your program
before connecting the module to a real system. See APPENDIX A: DCS120 DIAGNOSTIC AND SETUP
PROGRAM.
Configure DCS120 to communicate with the module. Make sure the transducers are connected and powered
up. Disconnect the drive output from the MMC120 (3 pin connector), and arrange a wayto manually move
the axis, either physicallyor with a control box that can electrically drive the valve (a 'diddle box'). If neither
of these options are usable to you, the procedure shown in 'Moving the Axis' (pages 21 and 22) uses DCS120
and the Open Loop mode to slowlymovethe axis.
Initialization Parameters
If you want to get started quickly, go to the next section - Moving The Axis. Continue with this section now
or return to it later to set the SCALE and OFFSET parameters.
The easiest way to set the SCALE and OFFSET is to use the P0 and P1 commands in DCS120. To use these
commands, you n eed to know the physical position and the corresponding transducer counts at two points
(usuallythe extend and r etract limits). For example, if the first position is 0.000 inches and the counts are
2163, and the second position is 27.500 inches and t he counts are 31626, then enter:
P0 0 2163 <ENTER>
P1 27500 31626 <ENTER>
After you enter values for bo th P0 and P1, the SCALE and OFFSET fields will be updated on the screen
(notice the parameters turn gray). Use the alt-P command to activate th e newvalues. See Appendix A for
more information about the P0 and P1 commands.
The SCALE factor converts TRANSDUCER COUNTS to Position Units. The SCALE is defined as:
Position Units per Inch x 32768
SCALE = xSign
Transducer Cal. Number (µs/in.) x 120 MHz
Where 'Sign' equals +1 when an extend move yields increasing ACTUAL POSITION, and -1 when an extend
move yields decreasing ACTUAL POSITION. An extend move always y ields increasing TRANSDUCER
COUNTS, but the sign of SCALE determines whether extending the axis will give increasing or decreasing
ACTUAL POSITION.
The calibration number must be specified in the same base units as the Position Units (inches, mm, etc.).
Position Units are generally 0.001 inches or 0.1 mm. There are usually1000 Position Units per inch when the
calibration number is in microseconds per in ch.
OFFSET Parameter (Default: 0) Range: -65535 to 65535 position units
Next, the axis OFFSET must be set. The axis OFFSET is added to the position of the axis when the ACTUAL
POSITION is computed. When the OFFSET is changed make sure to change the EXTEND LIMIT and
RETRACT LIMIT by the same amount. Use the following equation to adjust the current ACTUAL
POSITION to be something else:
OFFSET = old OFFSET + DESIRED POSITION - ACTUAL POSITION
Both th e EXTEND and RETRACT limits must be adjusted in the same way as the OFFSET, and another 'AltP' command must be issued. Move the axis to the EXTEND and RETRACT limits and make an y adjustments
necessary.
MAXIMUM COUNTS
65,535
-60,423
-35,423
-35,423
TRANSDUCER COUNTS
SCALE = -30,212
OFFSET = 25,000
EXTEND & RETRACT LIMITS
RETRACT LIMIT= 20,000
0
0
25,000
25,000
ROD LENGTH
39,046
-36,000
0
-11,000
0
-11,000
EXTEND LIMIT = -6,000
Moving The Axis
With the axis drive output still disconnected and the transducer on, move the axis close to the ph ysical extend
limit (move it either man ually or with a 'diddle box') - be sure to leave some space for safety. If neither of these
movement options are usable to you, the following procedure uses DCS120 and the Open Loop mode to slowly
move the axis. (Remember: extending is the direction that returns increasing TRANSDUCER COUNTS.)
Delta Computer Systems, Inc. 360/254-868823
StartupMMC120 Linear Motion Control Module
Open Loop Procedure
CAUTION - OPEN LOOP OPERATION IGNORES ALL LIMITS! BE PREPARED TO REMOVE DRIVE
POWER!
A. Connect the MMC120 drive output to the valves.
B. In DCS120, with the cursor on the axis you want to adjust, enter Alt-R to restore the null. Put 0 (zero)
in the COMMAND VALUE field, enter Alt-Shift-O, and verify that DRIVE = 0. If the NUL L DRIVE
is not zero, enter Alt-N to zero it.
C. Turn on the hydraulics (the axis will drift due to valve null errors).
D. Put 500 in the COMMAND VALUE field and enter Alt-Shift-O, then put 0 (zero)in the COMMAND
VALUE field. Verify that DRIVE = 500. The axis should extend. If the axis retracts, check the drive
wiring polarity, hydraulic plumbing, and the value null. Correct any pr oblems before continuing.
E. When the axis gets to the extend limit, enter Alt-Shift-O, then Alt-P to stop the axis. Enter the
ACTUAL POS. value in the EXTEND LIMIT parameter.
F.Put -500 in the COMMAND VALUE field and enter Alt-Shift-O, then put 0 (zero) in the COMMAND
VALUE field. Verifythat DRIVE = -500. The axis should retract.
G. When the axis gets to the retract limit, enter Alt-Shift-O, then Alt-P to stop th e axis. Enter the
ACTUAL POS. value in the RETRACT LIMIT parameter.
H. Repeat Steps B through G for each axis in use.
Enter the ACTUAL POSITION reading as the value fo r the EXTEND LIMIT parameter. Now move the axis
close to the physical retract limit and set the RETRACT LIMIT parameter. Issue an 'alt-P' command. (If you
are using DCS120, be sure to read the parameters in to the Programmable Controller's memory using
Command Type B.)
Powering Up
CAUTION: If the outputs from the MMC120 are reversed, the axis will be uncontrollable when power is
connected. Confirm that your wiring is correct!
NOTE: To input hexadecimal numbers to DCS120, enter a zero as the first character: 0FFFF
Turn off the power to the MMC120 and connect the drive output. Turn the power back on and issue a 'P'
command on both axes. Set the MODE to 00000, and the SPEED, ACCELERATION, and DECELERATION
to about 20% of the expected maximum speed. To confirm that everything is correct, make some short moves
by entering the COMMAND VALUE and issuing a GO ('G') command.
NOTE: DCS120 is extremely useful; we recommend you use it to configure, tune, and troubleshoot the system.
Refer to Appendix A for information about creating plots of moves.
At this point AUTO STOP should be set to 0E0E0 so any transducer error on an axis will cause it to stop, but
other errors will not. Check the STATUS word for errors after each move.
24Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleStartup
Tuning
There is no substitute for experience when tuning an axis. This section offers some guidelines, tips, and
suggestions for tuning your system. While these steps will work for many systems, they may not be the best
for a particular system.
In many hydraulic systems the feed forward parameters (EXTEND FEED FORWARD and RETRACT FEED
FORWARD) are the most important par ameters for position tracking during a move. One way to adjust these
parameters is to set the DIFFERENTIAL GAIN and INTEGRAL GAIN to zero and the PROPORTIONAL
GAIN to a small value (between 1 and 5), then make long slow moves in both directions. Adjust the EXT
FEED FORWARD and RET FEED FORWARD until the axis tracks within 10% in both directions. In
hydraulic systems, the EXTEND and RETRACT FEED FORWARD terms will differ by the ratio of the
extend and retract piston areas.
Alternately, you can find th e appropriate value for the FEED FORWARD terms by making moves with the
axis at a SPEED of 1,000. The amount of output drive required to maintain this SPEED is the correct value
for th e FEED FORWARD par ameter.
A third approach is to use the 'alt-F' command. This command, used after a move without oscillation or
overdrive on an axis, will automaticallyadjust the FEED FORWARD parameter for th e direction of that move.
See Appendix A for more information.
PROPORTIONAL GAIN affects the responsiveness of the system. Low gains make the sy stem sluggish and
unresponsive. Gains th at are too high make the axis oscillate or vibrate. You can adjust the
PROPORTIONAL GAIN by slowly increasing it and moving the axis. When yo u see a tendency to oscillate as
the axis moves or stops, reduce the gain by10 to 30 percent.
Many hydraulic systems do n ot require INTEGRAL GAIN or DIFFERENTIAL GAIN. However, it is usually
desirableto have some INTEGRAL GAIN (5 to 50 counts) to help compensate for valve null drift or changes
in system dynamics. Some systems may require larger INTEGRAL GAIN, in particular if theyare moving a
large mass or are n onlinear. Too much INTEGRAL GAIN will cause oscillations.
DIFFERENTIALGAIN is used mainly on systems which have a tendency to oscillate. This happens when
heavyloads ar e moved with r elatively small cylinders. DIFFERENTIAL GAIN will tend to dampen out
oscillations and help th e axis track during acceleration and deceleration. If you use DIFFERENTIAL GAIN,
you may be able to increase the PROPORTIONAL GAIN somewhat without causing the system to oscillate.
A disadvantage to DIFFERENTIAL GAIN is th at it amplifies position measurement noise which can cause the
system to chatter or oscillate if the gain is toohigh or there is toomuch noise.
The ACCELERATION FEED FORWARD terms are particularly useful for axes which move large masses
with relativelysmall cylinders. This combination delays the start of movement, and the ACCELERATION
FEED FORWARD terms can h elp compensate for this delay. ACCELERATION FEED FORWARDS ar e
easiest to adjust with the PID gains set low and the VELOCITY FEED FORWARDS adjusted properly. After
commanding a move, plot the move using DCS120 and look for a following error during the acceleration.
Increase the ACCELERATION FEED FORWARD until the error disappears. For large masses the
ACCELERATION FEED FORWARD can be in the tens of thousands.
If the axis hunts around the set point, you can increase the DEAD BAND ELIMINATOR value slowly until
the hunting stops or the axis starts to oscillate. If it oscillates, reduce the DEAD BAND ELIMINATOR value.
If the axis gets no fo llow ing errors, reduce the MAXIMUM ERROR until errors start to occur then adjust the
FEED FORWARD gains.
Increase the SPEED and ACCELERATION values gradually while making long moves. Use DCS120 to plot
the moves and look for following errors, overshoot, or oscillations. Eventually, when the SPEED an d
ACCELERATIONS are too high, the moves will cause an error on the axis.
If an overdrive err or occurs, th ere is not enough drive capacity to drive the axis at the requested SPEED.
Should th is occur, reduce the SPEED. If a following error occurs, the appropriate FEED FORWARD must be
Delta Computer Systems, Inc. 360/254-868825
StartupMMC120 Linear Motion Control Module
increased. If the FOLLOWING ERROR occurs on an extend move, increase the EXTEND FEED
FORWARD; it the error occurs on a retractmove, increasethe RETRACT REED FORWARD. If this doesn't
solve the problem, the ACCELERATION and DECELERATION ramps are too steep for the response of the
system. Their values can be reduced, or the ACCEL FEED FORWARD and DECEL FEED FORWARD
terms can be increased. After the problem which caused the error has been corrected, keep moving the axis
back and forth with in creasing speed until you r each the desired speed. Should the system seem a little sloppy,
try decreasing the MAXIMUM ERROR and adjusting the PROPORTIONAL GAIN until the axis can be
moved without getting an error. Remember: the parameters are not updated in the MMC120 until th e 'P'
command is issued.
Jogging The Axis
You can jog the axis by setting th e COMMAND VALUE to the EXTEND LIMIT or RETRACT LIMIT and
using the 'G' an d 'H' commands repeatedly. This causes the Motion Control Module to GO and HALT.
Saving Parameters and Profiles
After the system is set up and tuned using DCS120, you need to store the parameter and profile values in the
ProgrammableController. Th is is done using Command Types A and B. Only the parameters for the axes
used need to be saved, and only the profiles used need to be saved.
26Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
MOTION CONTROL PARAMETERS
Sixteen Parameter registers and 6 Command registers control the operation of the MMC120. The status of the
module is shown in 10 in tern al Readback registers. Manipulating the contents of the Parameter and
Command registers is key to the successful application of the MMC120.
Delta's DCS120 program (included with the module) gives you direct access to all the internal registers. This
is helpful for setup and debugging.
The chapter ' Communicating With The MMC120' describes howthe Quantum Programmable Controller gains
access to the internal registers of the MMC120. This chapter describes these internal registers.
Initialization Parameters
CONFIGURATION Word (Default: 0000)
Eleven bits of this 16-bit word control the configuration of the module. Bit 16 is the LSB; bit 1 is the MSB.
Bits1-4-Transducer Type bits
Set these bits all to 0 if the transducer is start-stop. If the transducer is gated, set the bits so the value of th ese
four bits equals the number of recirculations the gated tran sducer is set to (bit 1 = 8, bit 2 = 4, bit 3 = 2, and bit
4 = 1). For example, if the transducer is set to one recirculation, bit 4 should be set. If the transducer is set to
10 recirculations, bits 1 an d 3 should be set, and if it is set for 15 recirculations, all four bits should be set to 1.
When a transducer is set for multiple recirculations, there is a small time delay between those recirculations.
During th is time the counter on the MMC120 continues to count, resulting in about 2700 extra counts per
recirculation which are added to the transducer count. These extra counts create an offset; to correct this offset
the module calculates the extra counts based on the number of transducer recirculations and subtracts them
from th e transducer count. If the value of these bits and the transducer recirculations agree, the transducer
count should be slightly positive when the transducer is at its minimum position. If your minimum position
count is negative, reduce the setting of these bits until the count is slightly positive.
If you are using a gated transducer and want resolution better than 0.001 inches, we suggest using 10
recirculations an d setting bits 1 and 3. This will give 0.0001 inch resolution with a stroke of about 6.5 inches.
Bit 10 - Reverse Drive Mode bit
When this bit is set the polarityof the axis’ output voltage is reversed. This bit is useful when you are
connected to two drives which do not have differential or isolated inputs, and you need one to extend with
positive dr ive and the other to extend with negative dr ive. (If the drives have differential or isolated inputs,
you can just reverse the connections to th e drivethat must extend with negative drive.) When this bit is set,
transducer counts will DECREASE with positive drive and the displayed drive will be the opposite of what is
output by the module (a positive display will output a negative voltage).
Bit 11 - Absolute Mode bit
This mode is intended for use with a two-valve system, one controlling the flow rate and the other the
direction. This axis controls the flow rate valve. The directional valve must be controlled by other means. In
this mode, the axis generates a positive drive output regardless of th e direction of the move. The drive will not
Delta Computer Systems, Inc. 360/254-868827
Motion Control ParametersMMC120 Linear Motion Control Module
go negative if the motion controller overshoots the target. This is useful for some injection and blow-molding
applications. When this bit is set, two chan ges are made to the way Open Loop mode is used:
1) After completing a move the axis is automatically placed in Open Loop mode with the dr ive set
to null.
2) When a “P” command is sent to the axis, it is placed in Open Loop mode with th e driveset to
null.
Bit 12 - Continue Mode bit
This bit affects what happens when the module loses contact with the PLC. When this bit is set, the module
will finish any move it has started; otherwise it will halt immediately upon detecting loss of contact with th e
PLC. This is useful for finishing a move which must complete to prevent th e machine from stopping in an
incomplete state (for example, a partial shot in an injection molding machine).
Bit13-Simulatebit
When this bit is set, the drive output is set to null and the magnetostrictivetransducer inputs are ignored.
Internally the TARGET POSITION is used as the ACTUAL POSITION. This mode is used for debugging.
(The transducer error bits and LEDS will be cleared.)
Bit 14 - Divide by 4
When this bit is set and bit 15 is cleared, the tran sducer counts are divided by four before being used by the
MMC120. When bits 14 and 15 are both set, the transducer counts are divided by eight.
Bit 15 - Divide by 2
When this bit is set and bit 14 is cleared, the tran sducer counts are divided by two before being used by th e
MMC120. When bits 14 and 15 are both set, the transducer counts are divided by eight.
Bit 16 - Integrator Limit
When this bit is cleared, the integrator limit is 20%. When the bit is set, the limit is 80%. If the integrator
tries to go above the limit, the Integrator Windup bit in the Status word is set and the integrator value is held
at the limit. The integrator limit is designed to prevent the drive output from saturating.
28Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
CONFIGURATION Word Bit Map
The axis CONFIGURATION word contains 16 bits of in formation. This hexadecimal table provides an easy
wayto convert hexadecimal numbers to bit patterns.
F 1111111111111111
E 1110111011101110
Hexadecimal ToD1101110111011101
Binary ConversionC1100110011001100
TableB1011101110111011
Motion Control ParametersMMC120 Linear Motion Control Module
SCALE (Default: 30300) Range: -32767 to 32767, excluding 0
See the Startup section (page 20) for additional information.
TIP: Use DCS120 commands P0 and P1 to help calculate SCALE an d OFFSET.
The SCALE par ameter is used to calculate the ACTUAL POSITION in Position Units from the
TRANSDUCER COUNTS. Position Units can be0.001", 0.1 mm, etc. The primary use for the SCALE
parameter is to compensatefor variations in magnetostrictive transducers. It can also be used to convert to
non-standard units for special applications.
SCALE is defined as 32768 times the number of Position Units per TRANSDUCER COUNT:
(P0 - P1)
SCALE = x 32768
(C0 - C1)
Where P0 and P1 are two positions and C0 and C1 are the corresponding transducer counts.
Magnetostrictive displacement transducers have a calibration number (nominally 9.012 microseconds per
inch) an d the MMC120 has a 60 MHz oscillator with both edges counted, for an effective counter speed of 120
MHz. To determine the SCALE for a magnetostrictive transducer use the following formula:
Position Units per Inch x 32768
SCALE = xSign
Cal. Number (µs/in) x 120 (MHz)
Where Sign equals +1 when an extend move yield increasing ACTUAL POSITION counts, and it equals -1
when an extend move yields decreasing ACTUAL POSITION counts. Negative SCALE values indicate the
axis moves in reverse. That is, the ACTUAL POSITION decrease as the TRANSDUCER COUNTS increase.
The calibration number must be specified in the same un its as th e Position Units (inches, mm, etc.). Position
Units are generally 0.001 inches or 0.1 mm. Usuallythere are 1000 Position Units per i nch when the
calibration number is in microseconds per in ch.
The ACTUAL POSITION is determined as follow s:
TRANSDUCER COUNTSxSCALE
ACTUAL POSITION = + OFFSET
32768
NOTE: When the SCALE parameter is changed, the EXTEND LIMIT, RETRACT LIMIT, and OFFSET must also
be changed.
SCALE Calculation Examples
Example 1
For a system using a magnetostrictive transducer with a calibration number of 9.0110 µs per inch and
a position un it of 0.001 inch, the SCALE will be:
1000(Position Units Per Inch) X 32768
SCALE = = 30304
30Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
9.0110(µs/in) x 120 (MHz)
Example 2
For a system using a magnetostrictive transducer with a calibration number of 9.0110 µs per inch and
a position un it of 0.1 millimeter, th e SCALE will be:
254(Position Units Per Inch) X 32768
SCALE = = 7697
9.0110(µs/in) x 120 (MHz)
OFFSET (Default: 0)
OFFSET is used to shift the ACTUAL POSITION with respect to the transducer zero. The OFFSET is
specified in Position Units and is equal to the desired ACTUALPOSITION at zero TRANSDUCER
COUNTS. It is defined as:
(P0 - P1)
OFFSET = P0 - xC0
(C0 - C1)
The P0 and P1 commands can help calculate the OFFSET parameter. See page 82 for additional in formation.
CAUTION: When using OFFSET, you must be familiar with the limitations of 16 bit math.
EXTEND LIMIT (Defaults to current position on power-up)
The EXTEND LIMIT specifies the maximum requested position value that the MMC120 will allow as a
COMMAND VALUE. (When the SCALE is negative, this is the minimum value.) A COMMAND VALUE
that exceed this value will be set to the EXTEND LIMIT, and the PARAMETER ERROR bit (bit 5) in the
STATUS word will be set. The EXTEND LIMIT is given in Position Units. On startup the EXTEND LIMIT
defaults to the current position of the axis. New EXTEND and RETRACT LIMITS must be issued with a 'P'
command before the axis will move.
NOTE: The EXTEND LIMIT must be changed when the SCALE or OFFSET parameters are changed. Extending
is the direction that gives increasing TRANSDUCER COUNTS.
RETRACT LIMIT (Defaults to current position on power-up)
The RETRACT LIMIT specifies the minimum value the MMC120 will allow as a position COMMAND
VALUE. (When the SCALE is negative, this is the maximum value.) A COMMAND VALUE belowthis
value will be set to the RETRACT LIMIT. The RETRACT LIMIT is given in Position Units. On startup the
RETRACT LIMIT defaults to the current position of th e axis. New EXTEND and RETRACT LIMITS must
be entered, then a 'P' command sent, before the axis will move.
NOTE: The RETRACT LIMIT must be changed when the SCALE or OFFSET parameters are changed.
PROPORTIONAL GAIN (Default: 1) Range: 0 to 65535
The PROPOR TIONAL GAIN specifies the amount of drive added to the output for each unit of position error.
It is defined as:
Delta Computer Systems, Inc. 360/254-868831
Motion Control ParametersMMC120 Linear Motion Control Module
PROPORTIONAL GAIN = 0.1 millivolt per unit of Position Error
Proportional drive is defined as:
Proportional Drive = PROPORTIONAL GAIN x Position Error
INTEGRAL GAIN (Default: 1) Range: 0 to 65535
The INTEGRALGAIN is used to control the amount of drive provided by the integrator. The integrator adds
the position error to an accumulator every millisecond.
INTEGRAL GAIN is defined as:
INTEGRAL GAIN = 0.1 millivolt per 1024 counts of accumulated Position Error
Integral Drive is defined as:
Integral Drive = INTEGRAL GAIN x Accumulated Counts
DIFFERENTIAL GAIN (Default: 0) Range: 0 to 65535
The DIFFERENTIAL GAIN field is used to control the differentiator. The change in error is multiplied by the
DIFFERENTIALGAIN value to get the differentiator dr ive term.
DIFFERENTIAL GAIN is defined as:
DIFFERENTIAL GAIN = 0.1 millivolt per change in Position Error
Differential Drive is defined as:
Differential Drive = (E0
where E0 is th e position err or in the first time period and E1 is the position error in the second time period.
(E0 - E1) is the chan ge in position error between the two time periods.
(TARGET POSITION - ACTUAL POSITION)
x DIFFERENTIAL GAIN
-E1
(TARGET POSITION - ACTUAL POSITION)
EXTEND FEED FORWARD (Default: 100) Range: 0 to 65535
FEED FORWARD is an open loop compensation which is proportional to the TARGET SPEED of the axis.
This value is expressed in terms of millivolts per 1,000 Position Units per second. EXTEND FEED
FORWARD drive is added to the output only when the axis is extending. The drive output provided by the
EXTEND FEED FORWARD is determined as follows:
EXTEND FEED FORWARD x TARGET SPEED
Feed Forward Drive =
1,000
TIP: After th e axis has made a complete move without oscillations or overdrive errors, use the 'F' command to
automaticallyset the FEED FORWARD value.
RETRACT FEED FORWARD (Default: 100) Range: 0 to 65535
)
Same as EXTEND FEED FORWARD, except it is used when retracting.
NOTE: Retracting is the direction that returns decreasing COUNTS.
32Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
EXTEND ACCELERATION FEED FORWARD (Default: 0) Range: 0 to 65535
An axis will not respond to a change in the drive output un til sometime has passed. This causes the error
between the actual and target positions to be larger for axes that ar e moving large masses or have slow valves.
The MMC120 can help compensate for these factors by increasing the drive output. The increase in drive is
controlled by the value of this par ameter, which h as units of millivolts of dr ive per 100,000 position units per
second per second.
If the position unit is .001 inches, th is equals millivolts of drive per 100 inches per second per second.
RETRACT ACCELERATION FEED FORWARD (Default: 0) Range: 0 to 65535
Same as EXTEND ACCELERATION FEED FORWARD, except it is used when retracting.
DEAD BAND ELIMINATOR (Default: 0)
Some valves and drives do not react to small changes in output around the null drive value; this effect is
termed "dead band". The DEAD BAND ELIMINATORvalue is the number of millivolts added to or
subtracted from the drive output (depending on the direction of travel) so the dr ive output is outside the dead
band.
CAUTION: Do not make this value too large or the drivewill oscillate.
IN POSITION (Default: 50)
IN POSITION specifies the size of a window around the COMMAND POSITION. When the ACTUAL
POSITION gets within this window, the In Position bit is set (but not latched) in the STATUS word.
For example, if an axis COMMAND POSITION is 10,000 and the IN POSITION parameter is 30, the In
Position bit will be set when th e ACTUAL POSITION is between 9,971 and 10,029. The bit will be cleared
whenever the ACTUAL POSITION is outside the range. Note that if the IN POSITION parameter is 0 (zero),
the In Position bit will never be set.
FOLLOWING ERROR (Default: 250)
The FOLLOWING ERROR determines how large the difference between the TARGET POSITION and
ACTUAL POSITION can get before the Following Error bit is set in the STATUS wo rd.
AUTO STOP (Default: 0FFE0 - Soft Stops enabled, Hard Stop enabled
for transducer errors)
Bits 1 through 8 in theAUTO STOP field havea one-to-one correspondence with bits 1 through 8 in the
STATUS word. The bits in this byte enable a Soft Stop whenever the corresponding error bit (1 through 8) is
set in the STATUS word. During a Soft Stop, the target speed ramps down to zerousingthe current
DECELERATION value. On startup these bits are all set, so any error will cause a Soft Stop. Bits 1, 2, and 3
(the transducer error bits) cannot be cleared. This means that a tr ansducer error will always cause a Soft Stop,
and will cause a Hard Stop if bits 9, 10, or 11 are set. If a transducer error causes a Soft Stop then the axis
goes into open loop an d ramps the drive output to null using the current open loop r amp rate.
NOTE: T o input hexadecimal numbers using DCS120, enter a zero as the first char acter: 0FFFF
Bits 9 through 16 in the AUTO STOP field also have a one-to-one correspondence with bits 1 through 8 in the
STATUS word. The bits in this byte enable a Hard Stop whenever the corresponding error bit (1 th rough 8) is
Delta Computer Systems, Inc. 360/254-868833
Motion Control ParametersMMC120 Linear Motion Control Module
set in the STATUS word. Durin g a Hard Stop, the drive output is set to zero and the axis placed in open loop
mode, and held there until a new command is issued; bits 13 (Open Loop) and 14 (Halt) are also set. On
startup the Hard Stop error bits are set to E0 hex, enabling only the tr ansducer error bits.
Soft Stop, Bit #Error BitHard Stop, Bit #
11- No Transducer9
22- Transducer Noise10
33 - Transducer Overflow 11
44– Overdrive12
55 - Parameter Err or13
66 - Position Overflow14
77 - Integrator Windup15
88- Following Error16
If both Soft Stop and Hard Stop bits are set for a particular error condition, a Hard Stop will be executed.
34Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
Motion Control Commands
The motion control command words (MODE, ACCELERATION, DECELERATION, SPEED, COMMAND
VALUE, and COMMAND) can be changed while the axis is in motion.
MODE (Default: 00000)(See page 36 for the MODE Word bit map)
Eight bits in the MODE word determine the way the MMC120 responds to control commands and parameters.
Bit 1 is the MSB and bit 16 is the LSB.
Bit 1 - Graph Disable
When this bit is set on an axis of the MMC120, the controller will not log graph data during the move. This is
useful for troubleshooting long sequences of moves.
Bit 9 - S-Curve
When this bit is set th e MMC120 calculates an s-shaped target, resulting in smoother motion with more
gradual starts and stops and higher peak speeds. In an S-Curve move, the maximum acceleration is about 1.5
times the straight-line acceleration. If another move command is given before the S-Cur ve is finished, there
may be a discontinuity (jerk) at th e transition.
Bit 11 - Quick Mode
When this bit is set, a move will ramp the drive up in Open Loop mode to the value specified (in millivolts) in
the SPEED field, th en maintain it there until it reaches the deceleration point. It will then ramp down to the
requested position (specified bythe COMMAND VALUE) in Closed Loop mode. The ACCELERATION and
DECELERATION fields specifythe ramp times in milliseconds.
Bit 12- Sync
When this bit is set, it causes the axes to move in synchronization. The axes are synchronized as follows:
A) The axis with the longest moveis the master.
B) The profile of the other axis is determined by the length ofits move relative to the master axis.
Both axes will accelerate together, move at constant speed together (their constant speeds will
differ, depending on their move lengths), and decelerate together, arriving simultan eously at their
individual COMMAND POSITIONS.
C) If either axis is halted by an error condition, th e other axis will also be halted.
Bits 13 and 14 - Integrator Mode Select
These two bits define four integrator modes:
Bit #
13 14
Mode0-Integratoralwaysactive -----------------------------00
Mode 1 - Integrator active only during DECEL and IN POSITION ----01
Mode 2 - Integrator active only during IN POSITION --------------10
Mode3-Integratorneveractive -----------------------------11
Delta Computer Systems, Inc. 360/254-868835
Motion Control ParametersMMC120 Linear Motion Control Module
Bits 15 and 16 - Acceleration and Deceleration MODE Select
These two bits define four acceleration/deceleration modes:
Bit #
15 16
Mode0- RampRate(Default)-------------------------------00
Mode1- RampRate*1000---------------------------------01
Mode2- Distancetospecifiedspeed--------------------------10
Mode3 - Time to specified speed ----------------------------11
In Mode 0, the ACCELERATION and DECELERATION parameters define the ramp rate in position units
per second per second.
In Mode 1, the ACCELERATION and DECELERATION par ameters define the ramp rate in 1000 position
units per second per second. For example, with position units of 0.001 inches, an ACCELERATION of 50
will cause the axis to accelerate at 50 inches per second per second.
In Mode 2, the parameters define the distance to accelerate or decelerate to the specified SPEED.
In Mode 3, the parameters define the time to accelerate or decelerate to the specified SPEED.
ACCELERATION (Default: 1000)
This parameter defines the acceleration ramp rate used bythe axis for a move. It has four meanings
depending on the setting of the acceleration/deceleration mode.
In Mode 0, this parameter is interpreted as acceleration r ate and is expressed in Position Units/sec/sec. If
SCALE is set so one Position Unit equaled .001", then a value of 200 would represent an acceleration r ate of
0.200 inches/sec/sec.
The relationship between the ramp distance, ACCELERATION and SPEED is:
SPEED x SPEED
Ramp Distance =
ACCELERATION x 2
SPEED x SPEED
ACCELERATION =
Ramp Distance x 2
In Mode 1, the ramp rate is one thousand times larger:
SPEED x SPEED
Ramp Distance =
ACCELERATION x 2000
In Mode 1, if one Position Unit equals .001", an ACCELERATION of 200 would represent an acceleration
rate of 200 inches/sec/sec.
In Mode 2, this parameter defines the distance to the specified SPEED, and in Mode 3, it defines th e time to
the specified speed.
36Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
MODE Word Bit Map
The axis MODE word contains 16 bits of in formation. This hexadecimal table provides an easywayto
convert hexadecimal n umbers to bit patterns.
F 1111111111111111
E 1110111011101110
Hexadecimal ToD1101110111011101
Binary ConversionC1100110011001100
TableB1011101110111011
Motion Control ParametersMMC120 Linear Motion Control Module
DECELERATION (Default: 1000)
This parameter is the same as ACCELERATION except it specifies the deceleration ramp length or
deceleration rate.
SPEED (Default: 1000)
The SPEED parameter sets the constant speed to be achieved after acceleration. SPEED is expressed in
position units/second. If the SCALE is set so one position unit equals .001", a speed of 25 inches per second is
expressed as 25000.
NOTE: When using Acceleration/Deceleration Mode 2, changing the SPEED without changing the
ACCELERATION and DECELERATION distances will change the acceleration and deceleration rates.
If the SPEED is set to zero, the axis will not move.
COMMAND VALUE
The COMMAND VALUE field is multipurpose. Usuallyit is used with the 'G' command to specifyth e
position where the axis is to move. When used this way, the value is bounds-checked bythe Motion Control
Module using the EXTEND LIMIT and RETRACT LIMIT and is then used as the COMMAND POSITION
value.
Here is the complete list of commands th at use this field:
For this command:The COMMAND VALUE field is:
'A' (Change ACCEL)Acceleration value
'D' (Change DECEL)Deceleration value
'E' (Start Events)Event number
'G' (Go To Position)Requested Position
'I' (Set Integral Drive)Integral Drivevalue
'J' (Go Relative)Relative Position
'M' (Set Mode)Mode
'N' (Set Null)NewNull value
'O' (Open Loop Output)Requested Drive
'U' (Update FLASH)The section of FLASHmemoryto update
'V' (Set SPEED)Speed
Make sure that the data in the COMMAND VALUE field is correct befo re you issue any of these commands.
COMMAND
The COMMAND word tells the MMC120 what to do. See Appendix A for more information about
commands.
38Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
Move Profiles
The module stores 16 user-programmable move profiles in its memory. The following table lists the default
values for these profiles. Profiles 0 through 7 can be changed byeither a PLC program or DCS120; profiles 8
through 15 can be changed only by DCS120.
Motion Control ParametersMMC120 Linear Motion Control Module
MMC120 Initial Move Profiles
A 'Go' or 'Open Loop' command uses th e profile of the last move. If these commands are issued immediately
after power up, when there is no ' last move' profile, the module uses the following profiles for these
commands:
Profile
Parameter
MODE10
ACCEL1001000
DECEL1001000
SPEED01000
Open LoopGo
40Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
Readback Parameters
ACTUAL POSITION
The ACTUAL POSITION is the measured position of the axis at any moment. Th is position is updated every
millisecond. The ACTUAL POSITION is calculated from the TRANSDUCER COUNTS as follows:
TRANSDUCER COUNTS x SCALE
ACTUAL POSITION = + OFFSET
32768
AXIS STATUS Word (See map on page 42)
The axis STATUS word contains 16 bits of information about the condition of the axis. You can use any of
the first eight error bits to trigger a STOP on the axis. (See the AUTO STOP parameter on page 31.)
Error bits 2 th rough 8 are cleared whenever a 'G' command is given.
NOTE: Bit 1 is the MSB, Bit 16 is the LSB.
Bit 1 - No Transducer
This bit is set and the corresponding front panel axis LED (light emitting diode) glows red if the tran sducer
does not respond at least once every6 milliseconds. It causes a Hard Stop or a Soft Stop, depending on the
setting of AUTO STOP bit 9 (page 31). This bit will stay on until a new command is given to the axis.
Bit 2 - Transducer Noise
If a new transducer count differs from the previous reading by more than 250 counts, the new value is assumed
to be an error and th is error bit is set. When the Transducer Noise bit is set, the system r esponse depends on
the setting of the AUTO STOP word. It causes a Hard Stop or a Soft Stop, depending on the setting of AUTO
STOP bit 10. This bit will stay on until a new command is given to the axis.
Bit 3 - Transducer Overflow
This bit is set when there has been no stop pulse from the transducer bythe time th e counter has overflowed 18
bits (about 2 ms). When this bit is set, the system response depends on the setting of the AUTO STOP word. It
causes a Hard Stop or a Soft Stop, depending on the setting of AUTO STOP bit 11. This bit will stay on until
a new command is given to the axis.
Bit 4 - Overdrive
This bit is set when the calculated drive output exceeds the 12 bit range of the D/A converter. Usually this
error indicates the system does not have enough power to drive the axis at the requested SPEED. The module
will truncate th e driveto 12 bits. It causes no action, a Soft Stop, or a Hard Stop, depending on the setting of
AUTO STOP bits 4 and 12. Th is bit will stay on until a new command is given to the axis.
BIT 5 - Parameter Error
This bit is set when an initialization parameter or control parameter is out of bounds. In some cases one
parameter's limit will depend on the value of another parameter, so definite limits maynot always be available.
However, the motion controller does try to replacethe erroneous value with another th at is within range, sothe
offending parameter can be determined by comparing the parameter values before and after the error bit is set.
This error causes no action, a Soft Stop, or a Hard Stop, depending on the setting of AUTO STOP bits 5 and
13. This bit will stay on until a new command is given to the axis.
Delta Computer Systems, Inc. 360/254-868841
Motion Control ParametersMMC120 Linear Motion Control Module
Bit 6 - Position Overflow
This bit is set when the ACTUAL POSITION is greater than its 16 bit limit (above 65535 counts). The
ACTUAL POSITION will display 65535, indicating an invalid value. The Position Overflow bit is not
latched. It causes no action, a Soft Stop, or a Hard Stop, depending on th e setting of AUTO STOP bits 6 and
14. This bit will stay on until a new command is given to the axis.
Bit 7 - Integrator Windup
This bit is set when the integrator value is larger than 20% or 80%, depending on the setting of the Integrator
bit in the Configuration word. It causes n o action, a Soft Stop, or a Hard Stop, depending on the setting of
AUTO STOP bits 7 and 15. Th is bit will stay on until a new command is given to the axis.
Bit 8 - Following Error
This bit is set when the difference between the TARGET POSITION and the ACTUAL POSITION is greater
than the MAXIMUM ERROR parameter. It causes no action, a Soft Stop, or a Hard Stop, depending on the
setting of AUTO STOP bits 8 and 16. This bit will stay on until a new command is given to the axis.
Bit 9 - Acknowledge
This bit will toggle after a valid command or Status Area Request is received by the MMC120 from the
ProgrammableController.
Bit 10 - Initialized
This bit is set after a Set Parameter ('P') command is successfully executed. Until this bit is set, th e axis will
not respond to any GO ('G') commands. Th is bit is cleared whenever the module is reset.
Bits 11 & 12 - State Bits
Bits 11 and 12 show th e state of the target generator:
STATE
Stopped00
Accelerating01
Constant Speed10
Decelerating11
These bits will also be active when the axis is in open loop (zero output drive, rampin g drive up, constant
drive, and ramping dr ive down).
Bit 11 (State Bit B)Bit 12 (State Bit A)
42Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
For example, to detect when an axis' target position has come to a halt after an "H" command, monitor for the
following status bit combination:
Halt bitON (1) (Bit 14)
State bit AOFF (0) (Bit 12)
State bit BOFF (0) (Bit 11)
You may also want to monitor the Stopped bit (bit 15).
As another example, to detect when an internal error has caused a Hard Stop or a transducer error has caused
a Soft Stop, monitor for the following status bits:
Halt bitON (1) (Bit 14)
Open Loop bitON (1) (Bit 13)
Bit 13 - Open Loop
This bit is set when the axis is in Open Loop. The axis can be in Open Loop because of an "O" command or
becausean error caused a Hard Stop.
NOTE: While an axis is in Open Loop mode it may drift due to a valve 'out-of-null' condition.
Bit 14 - Halt
There are thr ee conditions that will set this bit:
•A Halt ("H") command is issued
•An internal error causes a Soft Stop
•An internal error causes a HardStop
This bit is cleared when a n ew command is issued.
Bit 15 - Stopped
This bit is set when the average speed of the axis is less than 500 Transducer Counts per second and is cleared
when the speed is greater than 1000 Transducer Counts per second. It can be used as an axis obstruction
indication. The Stopped bit is n ot latched.
Bit 16 - In Position
This bit will be set when the difference between the ACTUAL POSITION and COMMAND POSITION is less
than the value in the IN POSITION field; it is not latched. See the IN POSITION parameter.
NOTE: When bit 16 is set, an axis is at the commanded position. This bit can be monitored by the ladder program
to determine when an axis has arr ived at the commanded position.
COMMAND POSITION
The COMMAND POSITION is the requested position (specified by the COMMAND VALUE) with bounds
checking applied. If the requested position is outside the RETRACT or EXTEND LIMIT, th e COMMAND
POSITION will be set to the value of the limit, and the axis will go only to the limit. Th e COMMAND
POSITION is updated when a 'Go', 'Go Using Profile', or 'P' command is issued using the COMMAND
parameter.
TARGET POSITION
The TARGET POSITION is the position calculated by the target generator, using the ACCEL, DECEL,
SPEED, COMMAND VALUE, and MODE parameters, showing where the axis should be at any moment.
Delta Computer Systems, Inc. 360/254-868843
Motion Control ParametersMMC120 Linear Motion Control Module
When the axis is moving, the TARGET POSITION is updated each millisecond as it moves toward the
COMMAND POSITION. The value can be read bythe Quantum Controller on every scan.
NOTE: When an axis is stopped, the TARGET POSITION should be the same as the COMMAND POSITION
unless an error or HALT has occurred.
TRANSDUCER COUNTS
TRANSDUCER COUNTS is the axis position r ead dir ectly from the transducer counters with no scaling.
TRANSDUCER COUNTS can overflow the 16-bit value; status bit 6 is set when this happens.
ACTUAL SPEED
The ACTUALSPEED is the calculated speed at which the axis is moving at any point in time. It is based on
changes in transducer counts, displayed in position units per second, and updated every millisecond.
DRIVE
DRIVE is the output to the actuator in millivolts. The 12 bit (4000 step) digital value output, -10000 (full
negative drive) to 10000 (full positive drive) will generate a ±10 volt output in steps of 0.005 volts. Note that
there are no pots to electronicallynull the output; this is done in software. Null drive will be near 0 volts. The
internal drive calculations are done to 14 bit resolution. This additional r esolution is used to "dither" the least
significant bit of the output, giving additional resolution.
44Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleMotion Control Parameters
STATUS Word Bit Map
The axis Status word contains 16 bits of in formation about the status of th e axis. This hexadecimal table
provides an easy way to convert hexadecimal n umbers to bit patterns.
F 1111111111111111
E 1110111011101110
Hexadecimal ToD1101110111011101
Binary ConversionC1100110011001100
TableB1011101110111011
////////
Acknowledge -------------- 09 -----------////////
Initialized -------------- 10 ------------/ / /////
State B ------------------ 11 -------------/ /////
State A ------------------ 12 --------------/////
////
Open Loop ---------------- 13 ----------------////
Halt --------------------- 14 -----------------/ / /
Stopped ------------------ 15 ------------------/ /
In Position -------------- 16 -------------------/
* Can cause a Soft or Hard Stop if the corresponding bits are set in the AUTO STOP field.
** Will cause either a Soft or Hard Stop depending how AUTO STOP bits 9, 10, and 11 are set.
Delta Computer Systems, Inc. 360/254-868845
Flash MemoryMMC 120 Motion Control Module
FLASH MEMORY
The MMC120 contains FLASH memory that h as twouser-accessiblesections. Section 1 contains the
parameters and profiles for both axes. Section 2 contains the event step table for both axes. Th e two sections
have separate checksums; the checksums are tested on module power-up and on reset.
If the parameters initialize bit is off, check the parameter error bits, take the action described below to correct
the problem, th en issuea 'P' command. Even if th e parameter error bits are not set, you still must issue a 'P'
command to an axis before using it.
If the checksum for Section 1 is incorrect, the axis 1 parameter error bit will be turned on. If the checksum for
Section 2 is incorrect, the axis 2 parameter error bit will be turned on. If either of these bits is set, you must
update all the data for both axes in that section. For example, if the axis 2 parameter error bit is on, you must
update th e event step table information for both axes.
To update the FLASH information, you must first download correct data to th e MMC120 volatile memory.
Usethe SET PARAMETERScommand (type3) to download the parameters, th e SET PROFILES command
(type 2) to download the profiles, and the EVENT STEP TRANSFER command (type Extended E) to
download the event data. (See page 47 for command types.)
After the correct data has been downloaded to the MMC120's volatilememory, transfer it to th e FLASH
memorywith the 'U' command (55h ). To transfer data to the parameter section (1), put a '1' in the
COMMAND VALUE field then issue a 'U' command. To transfer data to the event step table section (2), put
a '2' in the COMMAND VALUE field then issue a 'U' command. The 'U' command uses the Acknowledge bit
(9) of the Status word to report the result of the update. If th e FLASH updated successfully, bit 9 ofaxis 1 is
toggled; if the update was unsuccessful, bit 9 of axis 2 is toggled.
The disadvantage to storing configuration data in the MMC120 is that when one module is replaced with
another, the stored data must be loaded into the new module. Because of this, all parameters, profiles, and
event step table data must be stored either in the ladder logic program or in a DCS120 file so they can be
transferred to an MMC120 when needed.
46Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
COMMUNICATING WITH THE MMC120
Quantum Bus Configuration
Select four 3XXXXX registers for inputs and fo ur 4XXXXX registers for outputs of each module.
The MMC120 must be configured as a DCS MMC 120 0x module in the I/O map.
NOTE: You must confirm that the following line is pr esent in the \MODSOFT\RUNTIME\GCNFTCOP.SYS file. If
this line is not present it must be added; if it is pr esent but does not EXACTLY match this line (except for
the sequence number) it must be changed:
DCS MMC 120 0x,156,0,08,08,2 AXES HYD MOTION,1,L0128,2,
The sequence number (156 in the example above) must not be repeated. It must be set to the next value
availablein your file.
In the remainder of this chapter 3TTTTT represents the base address for the input registers and 4TTTTT
represents the base address for the output registers. These are the addresses at which the MMC120 is
configured.
MemoryRequirements
The MMC120 has non-volatile FLASHmemorythat can be used for parameter, profile, and event steps
storage. If you also want to store th e parameters in the Programmable Controller's memory you must reserve
32 words of memory (registers).
TIP: Use DCS120 software to set up and modify the par ameters, profiles, and event steps, th en move them to the
ProgrammableController memory.
Each axis requires 16 words of memory in the Quantum Programmable Controller. This memory contains the
initialization parameters for the axis. The parameters are arranged in the following order:
0CONFIGURATION
1SCALE
2OFFSET
3EXTEND LIMIT
4RETRACT LIMIT
5PROPORTIONAL GAIN
6INTEGRAL GAIN
7DIFFERENTIAL GAIN
8EXTEND FEED FORWARD
9RETRACT FEED FORWARD
10 EXTEND ACCELERATION FEED FORWARD
11 RETRACT ACCELERATION FEED FORWARD
12 DEAD BAND ELIMINATOR
13 IN POSITION
14 FOLLOWING ERROR
15 AUTO STOP
Delta Computer Systems, Inc. 360/254-868847
Communicating with the MMC120MMC120 Linear Motion Control Module
In addition to the par ameter storage blocks, memory may be allocated for pr ofile and event step storage if these
features are used.
Each profile requires four registers and each module can store up to eight profiles in the PLC's memory, for a
total of 32 r egisters. These first eight profiles can be changed from the PLC and another eight, for a total of
16, can bechanged from DCS120. Only enough memory must be allocated to hold the profiles used in all the
modules in the system. The profiles consist of Mode, Acceleration, Deceleration, and Speed information.
If you use Event Control and want to store the step sequences in the PLC, you must reserve eight registers for
each step used. If you use all 256 event steps, you must reserve 2048 registers.
The demo pr ogram on the DCS120 disk shows an example of ladder logic for transferring parameters,
profiles, and Event Control steps to and from the MMC120.
I/O Register Overview
The MMC120 communicates with the Quan t um Programmable Controller through four input (to the
programmable controller) and four output (to the MMC120) registers.
Input RegistersOutput Registers
3TTTTT + 0Axis 1 Status Bits4TTTTT + 0Axis 1 SAR/Command
3TTTTT + 1Axis 1 Data In4TTTTT + 1Axis 1 Data Out
3TTTTT + 2Axis 2 Status Bits4TTTTT + 2Axis 2 SAR/Command
3TTTTT + 3Axis 2 Data In4TTTTT + 3Axis 2 Data Out
See page 46 for Output Register information and page 62 for Input Register information
Whenever you issue a command to a module that changes th e statusarea's definition, you must wait for the
ACK bit to toggle before reading the input registers. This guarantees that the data in the input registers is
valid. The following ladder logic will detect whenever the ACK bit changes state.
P
N
The MMC120 can accept commands as fast as the P/C can send them, but there could be as much as 2 ms of
latency before the MMC120 toggles the ACK.
I/O scan time must not be faster than segment scan. To keep data synchronized in a single-segment program,
round the minimum scan time up to the next 10ms boundary. For example, if your program has a 5 ms scan
time, set the minimum scan time to 10 ms; if it is 12ms, set th e minimum to 20 ms.
48Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
Output Registers
Four 16-bit registers are sent to the MMC120 each time the I/O drop is accessed. Th e registers contain
commands and data:
The commands sent to the two axes are independent of each other.
Data should only be written to the module once per segment, otherwise new data overwrites previous data.
Only the last in formation placed in the output registers is transferred to the module.
Contents
COMMANDS
Command registers are divided into two bytes. The most significant byte (bits 1 - 8) specifies the Readback
mode; it is called the READBACKbyte. The least significant byte (bits 9 - 16) specifies the instruction the
MMC120 is to follow; it is called the INSTRUCTION byte.
The two bytes in the command r egister are divided into 4-bit nibbles (a "nibble" is half a byte). In the
INSTRUCTION byte the most significant nibble (bits 9 - 12) specifies the Command Type; the least
significant n ibble (bits 13 - 16) specifies an index indicating what the command acts on. In the Readback
byte,bits5-8aretheStatus Area Request (SAR) field indicating what status in formation the MMC120 is to
return,andbits1-4areusedbyplotsandEventStepcommands. (See the Input Register section.)
Command Register
READBACKINSTRUCTION
Events & PlotsSARCMD TYPEINDEX
Bit#12345678910111213141516
Delta Computer Systems, Inc. 360/254-868849
Communicating with the MMC120MMC120 Linear Motion Control Module
Command Types
The Command Types available for controlling the MMC120 are:
In the following discussion, an X represents a bit whose value does not affect the meaning of the rest of the
bits in a word. An N in dicates a bit that can be either 1 or 0 and whose value does affect the meaning of the
word.
50Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
Command Type 1 - Go Using Profile (0000 XXXX 0001 NNNN)
The Go Using Profile command allows th e Quantum Programmable Controller to tell the MMC120 to move
the axis using stored profiles. These are the most commonlyused commands. The Go Using Profilecommand
toggles the Acknowledge bit and clears the In Position bit in th e STATUS word.
Each stored pr ofile contains MODE, ACCELERATION, DECELERATION, and SPEED parameters, which
define the profile of a move.
The format of the Command Register is:
BIT #
|| 111|1111
1234|5678|9012|3456
------------------HEX|SAR |CMND|INDX
VALUE------------------XX100000|XXXX|0001|0000- GO USING PROFILE0
XX110000|XXXX|0001|0001- GO USING PROFILE1
XX120000|XXXX|0001|0010- GO USING PROFILE2
XX130000|XXXX|0001|0011- GO USING PROFILE3
XX140000|XXXX|0001|0100- GO USING PROFILE4
XX150000|XXXX|0001|0101- GO USING PROFILE5
XX160000|XXXX|0001|0110- GO USING PROFILE6
XX170000|XXXX|0001|0111- GO USING PROFILE7
XX180000|XXXX|0001|1000- GO USING PROFILE8Predefined profiles XX190000|XXXX|0001|1001- GO USING PROFILE9modify from DCS120 only
XX1A0000|XXXX|0001|1010- GO USING PROFILE 10
XX1B0000|XXXX|0001|1011- GO USING PROFILE 11
XX1C0000|XXXX|0001|1100- GO USING PROFILE 12
XX1D0000|XXXX|0001|1101- GO USING PROFILE 13
XX1E0000|XXXX|0001|1110- GO USING PROFILE 14
XX1F0000|XXXX|0001|1111- GO USING PROFILE 15
The output registers are defined as follows:
4TTTTT+0Axis 1 Command - Go using profile
4TTTTT+1Axis 1 Requested Position
4TTTTT+2Axis 2 Command - Go using profile
4TTTTT+3Axis 2 Requested Position
Delta Computer Systems, Inc. 360/254-868851
Communicating with the MMC120MMC120 Linear Motion Control Module
Command Type 2 - Set Profiles (0000 XXXX 0010 NNNN)
These commands allow the programmer to change motion pr ofiles stored in the MMC120. Only one value in
one pr ofile can be changed each time the drop is accessed, but the profiles can be changed while the axis is
moving. The new profile will be used bythe next Go Using Profile command specifying th at profile. New GO
commands can also be given while the axis is moving.
BIT #
|| 111|1111
1234|5678|9012|3456
-------------------4TTTTT+04TTTTT+2
HEX|SAR |CMND|INDXAxis 1Axis 2
VALUE------------------0X200000|XXXX|0010|0000- SET PROFILE04MODE
0X210000|XXXX|0010|0001- SET PROFILE04ACCEL
0X220000|XXXX|0010|0010- SET PROFILE04DECEL
0X230000|XXXX|0010|0011- SET PROFILE04SPEED
0X240000|XXXX|0010|0100- SET PROFILE15MODE
0X250000|XXXX|0010|0101- SET PROFILE15ACCEL
0X260000|XXXX|0010|0110- SET PROFILE15DECEL
0X270000|XXXX|0010|0111- SET PROFILE15SPEED
0X280000|XXXX|0010|1000- SET PROFILE26MODE
0X290000|XXXX|0010|1001- SET PROFILE26ACCEL
0X2A0000|XXXX|0010|1010- SET PROFILE26DECEL
0X2B0000|XXXX|0010|1011- SET PROFILE26SPEED
0X2C0000|XXXX|0010|1100- SET PROFILE37MODE
0X2D0000|XXXX|0010|1101- SET PROFILE37ACCEL
0X2E0000|XXXX|0010|1110- SET PROFILE37DECEL
0X2F0000|XXXX|0010|1111- SET PROFILE37SPEED
Setting one complete pr ofile requires four scans with one command written each scan.
Example: Set profiles 2 and 7
Commands to axis 1 set profile 2 while commands to axis 2 set profile 7, so these two profiles can be set
simultaneously.
First Scan4TTTTT + 00X28h (Set profile 2 MODE)
+ 10001h (MODE for profile 2)
+ 20X2Ch (Set profile 7 MODE)
+ 30001h (MODE for profile 7)
Second Scan4TTTTT + 00X29h (Set profile 2 ACCEL)
+ 1100(ACCEL for profile 2)
+ 20X2Dh (Set profile 7 ACCEL)
+ 3150(ACCEL for profile 7)
Third Scan4TTTTT + 00X2Ah (Set profile 2 DECEL)
+ 170(DECEL for profile 2)
+ 20X2Eh (Set profile 7 DECEL)
+ 370(DECEL for profile 7)
52Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
Fourth Scan4TTTTT+ 00X2Bh (Set profile 2 SPEED)
+ 112000 (SPEED for profile 2)
+ 20X2Bh (Set profile 7 SPEED)
+ 320000 (SPEED for profile 7)
Communicating with the MMC120MMC120 Linear Motion Control Module
Command Type 3 - Set Parameters (0000 XXXX 0011 NNNN)
These commands allow th e Quantum Programmable Controller to download new initialization par ameters to
the MMC120. New parameters can be downloaded at any time, but they do not take effect until a 'P' command
is issued (see Command Type 5). An axis must be stopped when issuing a 'P' command.
Set Parameter commands are defined as follows:
BIT #
|| 111|1111
1234|5678|9012|3456
------------------HEX|SAR |CMND|INDX
VALUE------------------0X300000|XXXX|0011|0000 - Set CONFIGURATION
0X310000|XXXX|0011|0001 - Set SCALE
0X320000|XXXX|0011|0010 - Set OFFSET
0X330000|XXXX|0011|0011 - Set EXTEND LIMIT
0X340000|XXXX|0011|0100 - Set RETRACT LIMIT
0X350000|XXXX|0011|0101 - Set PROPORTIONAL GAIN
0X360000|XXXX|0011|0110 - Set INTEGRAL GAIN
0X370000|XXXX|0011|0111 - Set DIFFERENTIAL GAIN
0X380000|XXXX|0011|1000 - Set EXTEND FEED FORWARD
0X390000|XXXX|0011|1001 - Set RETRACT FEED FORWARD
0X3A0000|XXXX|0011|1010 - Set EXTEND ACCELERATION FEED FORWARD
0X3B0000|XXXX|0011|1011 - Set RETRACT ACCELERATION FEED FORWARD
0X3C0000|XXXX|0011|1100 - Set DEAD BAND ELIMINATOR
0X3D0000|XXXX|0011|1101 - Set IN POSITION
0X3E0000|XXXX|0011|1110 - Set FOLLOWING ERROR
oX3F0000|XXXX|0011|1111 - Set AUTO STOP
The output registers are defined as follows:
4TTTTT + 0Axis 1 command - set parameter
4TTTTT + 1Axis 1 parameter value
4TTTTT + 2Axis 2 command - set parameter
4TTTTT + 3Axis 2 parameter value
These commands usually don't require parameters. Th e 'E', 'I', 'G', 'J', 'M', 'N', 'O', 'U', and ‘V’ commands are
exceptions. T he MMC120 acknowledges these commands bysetting the Acknowledge bit in the STATUS
word until the next time the dr op is accessed.
0X690000|XXXX|0110|1001- iSet Integral Drive to null drive value
0x6E0000|XXXX|0110|1110- nSet NULL to Integral Drive value
0x720000|XXXX|0111|0010- rRestore Integral Drive
0x730000|XXXX|0111|0011- sSave Integral Drive
0x790000|XXXX|0111|1001- yStart a graph
NOTE: Any hex values not listed are reserved
Example:
4TTTTT + 00X47
4TTTTT + 112000
Axis 1 moves to 12000 using last profile given.
Delta Computer Systems, Inc. 360/254-868855
Communicating with the MMC120MMC120 Linear Motion Control Module
NOTE: When issued by the PLC, these commands must be entered in Hex or Binary. Th e ASCII representation is
used by the DCS120 software package.
'A' - Change ACCELERATION (41h)
This commands sets the ACCELERATION par ameter to the value in the data register of the PLC or the
COMMAND VALUE field in DCS120.
'D' - Change DECELERATION (44h)
This commands sets the DECELERATION parameter to the value in the data register of the PLC or the
COMMAND VALUE field in DCS120.
'E' - Start Events (45h)
This commands starts the Events sequence at the step specified in the data register of the PLC or the
COMMAND VALUE field in DCS120.
'F' - Set Feed Forward (46h)
The 'F' command is used to automaticallyset the feed forward values. After a move is made where the axis is
allowed to reach constant velocityand th e overdrivebit is not set, an 'F' command will set the FEED
FORWARD for the direction last moved. This command is quick and easy, and it will allow th e system to
adjust for changing system dynamics. This will also make setup easier.
NOTE: The 'F' command should be used only after the axis is moving smoothly.
'G' - Go to COMMAND VALUE (47h)
When the Quantum Programmable Controller issues an ASCII 'G' command with a requested position
specified in the data register of the PLC or the COMMAND VALUE field in DCS120, the MMC120 executes
the move with the last profile used. When no pr evious Go Using Profile commands have been executed, the
last profile used defaults to profile 0. In general, the PLC should use th e GoUsing Profilecommands rather
than the ASCII GO command.
When the GO command is issued from DCS120 the profile information (MODE, ACCEL, DECEL, and
SPEED) are taken from the DCS120 screen (the COMMAND VALUE contains the requested position). New
GO commands with different MODE, ACCEL, DECEL, SPEED, or positions can be issued while the axis is
in motion.
'H'-HALT(48h)
The HALT command is used for a Soft Stop, jogging the axis, or when the drive power is off. Putting an 'H' in
the Command word while the axis is moving will cause the axis to ramp down until it stops. Jogging an axis
is accomplished byalternating GO and HALT commands. Th e 'H' command disables the integral gain term
and the null update.
NOTE: Issue a HALT command when hydraulic power is turn ed off. This prevents the integrator from winding up.
'I' - Integral Drive Set (49h)
This command sets the Integral Drive to the value in the COMMAND VALUE field.
'i' - Integral Drive Clear (69h)
This command sets the Integral Drive to the Null Drive value.
'J' - Relative Move (4Ah)
This command changes the COMMAND POSITION by the amount specified in the data register of the PLC
or the COMMAND VALUE field in DCS120.
56Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
'K' - Disable Drive Output (4Bh)
This command immediatelysets the drive output on the module to the current null value. This is equivalent to
a Hard Stop. Th e output will remain at null until a new command is issued. When a 'K' command is issued
from DCS120 it is issued to all axes simultaneously. When issued from th e Quantum PLC, it goes only to the
specified axis.
'M' - Set Mode (4Dh)
This commands sets the Mode to the value in the data register of th e PLC or the COMMAND VALUE field in
DCS120.
'N' - Set Null (4Eh)
The 'N' command sets the Null Drive to the value in th e data register of the PLC or the COMMAND VALU E
field in DCS120.
'n' - Null Drive Clear (6E)
The 'n' command sets the Null Drive to the current Integral Drivevalue.
'O' - Open Loop (4Fh)
CAUTION: Use this command with care! Open Loop operation disables all safetyfeatures on the MMC120!
The Open Loop command allows the Quantum Controller to directly specify values for th e analog output. The
output range is -10000 to 10000 where -10000 is -10 volts and 10000 is +10 volts.
The O command uses the following parameters from the last open loop profile specified:
The COMMAND VALUE field specifies the amount of drive to be added to (or subtracted from) the current
null value.
The ACCELERATION an d DECELERATION fields control the rate at which th e driveoutput ramps to the
requested value. The ACCEL and DECEL parameters are in millivolts per millisecond.
To command the MMC120 to output 10% of negative drive you would enter -1000 in the COMMAND
VALUE field and 79 (O) in the COMMAND field. A '25' in the ACCELERATION field would cause the
module to ramp the output at 25 millivolts every millisecond, so the output would ramp to -1000 in 40
milliseconds.
See also Command Type 9.
'P' - Set Parameters (50h)
When a 'P' command is given all initialization parameters are updated . The minimum requirement of this
command is to set the Extend and Retract Limits to their proper values (see Start-Up and Tunin g). When a 'P'
command is given, the MMC120 will copy the ACTUALPOSITION of the axis into the TARGET and
COMMAND POSITIONS.
'Q' - Quit Events (51h)
This command stops the event control sequence.
'R' - Restore Null (52h)
The Restore Null command restores the last saved value of null. This value will be 0 if no previous Save Null
was issued.
'r' - Restore Integral Drive (72h)
This command restores a previously saved Integral Drive value.
Delta Computer Systems, Inc. 360/254-868857
Communicating with the MMC120MMC120 Linear Motion Control Module
'S' - Save Null (53h)
The Save Null command saves the current value of the null so it can be recalled later with a Restore Null
command ('R').
's' - Save Integral Drive (73h)
This command saves the current valueof th e Integral Drive so it can berecalled later with a Restore Integral
Drive command ('r').
'U' - Update FLASH (55h)
This command instructs th e MMC120 to write all parameters and profiles to FLASH for storage in case of
power loss or reset. Issuing 'U' with a 1 in the COMMAND VALUE field updates the Parameters and
Profiles, while 'U' with a 2 in the COMMAND VALU E field updates the Event Step Table. Do not use a
COMMAND VALUE greater than 2 with the 'U' command.
The 'U' command uses the Acknowledge bit (9) of the Status word to report th e result of the update. If th e
FLASH updated successfully, bit 9 ofaxis 1 is toggled; if the update was unsuccessful, bit 9 of axis 2 is
toggled.
'V' - Set SPEED (56h)
This command sets SPEED to the value in th e COMMAND VALUE field.
58Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
Command Type 9 - Open Loop Using Profile (0000 XXXX 1001 NNNN)
The Open Loop Using Pr ofile command allows the Quantum to tell the MMC120 to change the output drive to
a specified value with respect to null. The drive output will change at a rate specified by the selected prestored profile.
NOTE: This command shares the profile table used by the "GoUsing Profile" commands. Profiles used for one type
of command should NOT be used for the other.
The information stored in the profile table is used as follows:
MODE -- Only mode bit 1 (Graph Disable) is valid. All other bits are ignored.
ACCELERATION -- The rate of change of the drive output is controlled with this parameter. It is specified in
millivoltsof dr ive per millisecond. It applies while the drive is ramping away from null.
DECELERATION -- This parameter is the same as the acceleration, except it applies while the drive is
ramping toward null.
SPEED -- The speed parameter is used as a drive limit. A value of 1000 will let the drive ramp up or down to
plus or minus 1000 (1 volt) from null regardless of the value in the COMMAND VALUE field.
The Open Loop command sets the state bits in the Statusword (bits 11 an d 12) to indicate whether the drive is
ramping up, ramping down, or at constant speed (other than null).
The format of the Command Register is given below:
BIT #
|| 111|1111
1234|5678|9012|3456
-------------------
HEX|SAR |CMND|INDX
VALUE------------------0X900000|XXXX|1001|0000- OPEN LOOP USING PROFILE0\
0X910000|XXXX|1001|0001- OPEN LOOP USING PROFILE1\ Modify by
0X920000|XXXX|1001|0010- OPEN LOOP USING PROFILE2/ writing to
0X930000|XXXX|1001|0011- OPEN LOOP USING PROFILE3/Axis 1
0X940000|XXXX|1001|0100- OPEN LOOP USING PROFILE4\
0X950000|XXXX|1001|0101- OPEN LOOP USING PROFILE5\ Modify by
0X960000|XXXX|1001|0110- OPEN LOOP USING PROFILE6/ writing to
0X970000|XXXX|1001|0111- OPEN LOOP USING PROFILE7/Axis 2
0X980000|XXXX|1001|1000- OPEN LOOP USING PROFILE8Predefined
0X990000|XXXX|1001|1001- OPEN LOOP USING PROFILE9profiles 0X9A0000|XXXX|1001|1010- OPEN LOOP USING PROFILE 10changed only
0X9B0000|XXXX|1001|1011- OPEN LOOP USING PROFILE 11from DCS120
0X9C0000|XXXX|1001|1100- OPEN LOOP USING PROFILE 12
0X9D0000|XXXX|1001|1101- OPEN LOOP USING PROFILE 13
0X9E0000|XXXX|1001|1110- OPEN LOOP USING PROFILE 14
0X9F0000|XXXX|1001|1111- OPEN LOOP USING PROFILE 15
Delta Computer Systems, Inc. 360/254-868859
Communicating with the MMC120MMC120 Linear Motion Control Module
The 4 output registers are defined as follows:
4TTTTT+0Axis 1 Command - Open Loop using profile
4TTTTT+1Axis 1 Requested Drive
4TTTTT+2Axis 2 Command - Open Loop using profile
4TTTTT+3Axis 2 Requested Drive
Command Type A - Get Profiles (0000 XXXX 1010 NNNN)
These commands allow the Programmable Controller to retrieve from the MMC120 profile data that was set
up with DCS120.
BIT #
|| 111|1111
1234|5678|9012|3456
-------------------4TTTTT+04TTTTT+2
HEX|SAR |CMND|INDXAxis 1Axis 2
VALUE------------------0XA00000|XXXX|1010|0000- GET PROFILE04MODE
0XA10000|XXXX|1010|0001- GET PROFILE04ACCEL
0XA20000|XXXX|1010|0010- GET PROFILE04DECEL
0XA30000|XXXX|1010|0011- GET PROFILE04SPEED
0XA40000|XXXX|1010|0100- GET PROFILE15MODE
0XA50000|XXXX|1010|0101- GET PROFILE15ACCEL
0XA60000|XXXX|1010|0110- GET PROFILE15DECEL
0XA70000|XXXX|1010|0111- GET PROFILE15SPEED
0XA80000|XXXX|1010|1000- GET PROFILE26MODE
0XA90000|XXXX|1010|1001- GET PROFILE26ACCEL
0XAA0000|XXXX|1010|1010- GET PROFILE26DECEL
0XAB0000|XXXX|1010|1011- GET PROFILE26SPEED
0XAC0000|XXXX|1010|1100- GET PROFILE37MODE
0XAD0000|XXXX|1010|1101- GET PROFILE37ACCEL
0XAE0000|XXXX|1010|1110- GET PROFILE37DECEL
0XAF0000|XXXX|1010|1111- GET PROFILE37SPEED
Retrieving one complete profilerequires four scans with one command retrieved each scan.
Example: Retrieve Profile 5 from the MMC120 -MODE=0002h
When this command is used, the MMC120 ignores the SAR field and the parameter register.
Delta Computer Systems, Inc. 360/254-868861
Communicating with the MMC120MMC120 Linear Motion Control Module
Command Type B - Get Parameters (0000 XXXX 1011 NNNN)
These commands allow the Programmable Controller to read the current state of the MMC120 initialization
parameters. These commands are similar to the Type A commands. The r equested par ameter will be returned
in the corresponding axis status area, and it will be available the next scan after the ACK bit toggles. It will
take 17 scans to get all 16 parameters.
BIT #
|| 111|1111
1234|5678|9012|3456
------------------HEX|SAR |CMND|INDX
VALUE------------------0XB00000|XXXX|1011|0000 - Get CONFIGURATION
0XB10000|XXXX|1011|0001 - Get SCALE
0XB20000|XXXX|1011|0010 - Get OFFSET
0XB30000|XXXX|1011|0011 - Get EXTEND LIMIT
0XB40000|XXXX|1011|0100 - Get RETRACT LIMIT
0XB50000|XXXX|1011|0101 - Get PROPORTIONAL GAIN
0XB60000|XXXX|1011|0110 - Get INTEGRAL GAIN
0XB70000|XXXX|1011|0111 - Get DIFFERENTIAL GAIN
0XB80000|XXXX|1011|1000 - Get EXTEND FEED FORWARD
0XB90000|XXXX|1011|1001 - Get RETRACT FEED FORWARD
0XBA0000|XXXX|1011|1010 - Get EXTEND ACCELERATION FEED FORWARD
0XBB0000|XXXX|1011|1011 - Get RETRACT ACCELERATION FEED FORWARD
0XBC0000|XXXX|1011|1100 - Get DEAD BAND ELIMINATOR
0XBD0000|XXXX|1011|1101 - Get IN POSITION
0XBE0000|XXXX|1011|1110 - Get FOLLOWING ERROR
0XBF0000|XXXX|1011|1111 - Get AUTO STOP
The output registers are defined as follows:
4TTTTT + 0Axis 1 command - Get parameter
4TTTTT + 1Don't care
4TTTTT + 2Axis 2 command - Get parameter
4TTTTT + 3Don't care
When using this command the SAR field and the data register ar e ignored by the MMC120.
62Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
Command Type E - Event Step Edit (0000 XXXX 1110 00NN)
The "Event Step Edit" commands let you change an event parameter's value across a ran ge of steps in a single
scan.
E0 = 0000|XXXX|1110|0000Beginning Step Number (0 to 255)
E1 = 0000|XXXX|1110|0001Ending Step Number (0 to 255; > E0)
E2 = 0000|XXXX|1110|0010Parameter to Modify 0 to 7)
E3 = 0000|XXXX|1110|0011Value to be Used
These commands must be issued once to initialize the par ameters; this will take four scans. Once the
beginning step number, the ending step number, and the parameter to be changed havebeen defined, all the
steps can be changed in a single scan by sending an E3 command with the new parameter value.
For example, if you h ave a step table that is 100 steps long and you want to change the time delay link value in
each step, it would take 100 scans using the E007 extended command type. If the scan time is 20ms, this
would take 2 seconds. By using the Event Step Edit commands, it would take 80ms for the first chan ge (four
scans times 20ms/scan), and only 20ms for another change.
Command Type F - Diagnostics (0000 XXXX 1111 XXXX)
The "Diagnostic" commands are for testing t he MMC120 under safe conditions. The command echoes the
output registers in the input registers. This tests the Quantum-to-MMC120 communications.
When using this command the SAR field is ignored by the MMC120.
Delta Computer Systems, Inc. 360/254-868863
Communicating with the MMC120MMC120 Linear Motion Control Module
Extended Command Type E - Event Step Transfer (1110 DSSS SSSS SNNN)
The "Event Step Transfer" commands are used to move event step information to and from the MMC120. The
‘D’ bit indicates the direction of data transfer (0 = Put Step, 1 = Get Step), the ‘S’ bits specify the step number,
and the ‘N’ bits specifythe field of the step to be transferred. Commands E000 to E7FF put (write) data to the
MMC120, while commands E800 to EFFF get (read) data from the MMC120. While writing steps , the new
command value is echoed to th e SAR.
To write event step information to the MM120 :
Cmd Reg 1Parameter Register 1
E000Step 0 MODE
E001Step 0 ACCELERATION
E002Step 0 DECELERATION
E003Step 0 SPEED
E004Step 0 COMMAND VALUE
E005Step 0 COMMAND
E006Step 0 LINK TYPE and LINK NEXT
E007Step 0 LINK VALUE
E008Step 1 MODE
E009Step 1 ACCELERATION
..
..
E7FDStep 255 COMMAND
E7FEStep 255 LINK TYPE and LINK NEXT
E7FFStep 255 LINK VALUE
To update two words every PLC scan, you can also use Command and Data Parameter Register 2 for axis 2.
Byusing Register 1 for the first half of a table and Register 2 for the second half, transfer time can be cut in
half.
To read event step information from the MMC120:
Cmd Reg 1Status Word 1
E800Step 0 MODE
E801Step 0 ACCELERATION
E802Step 0 DECELERATION
E803Step 0 SPEED
E804Step 0 COMMAND VALUE
E805Step 0 COMMAND
E806Step 0 LINK TYPE and LINK NEXT
E807Step 0 LINK VALUE
E808Step 1 MODE
E809Step 1 ACCELERATION
..
..
EFFDStep 255 COMMAND
EFFEStep 255 LINK TYPE and LINK NEXT
EFFFStep 255 LINK VALUE
The data will be valid when the ACK bit in the Status word toggles (on the next scan).
64Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleCommunicating with the MMC120
Input Registers
Status In formation can be selectivelyread by the Quantum Programmable Controller by using the Status Area
Request (SAR) field of the command words. The status word returned per axis is specified in th e SAR field of
the command for the axis.
OffsetAXISREGISTER DESCRIPTION
3TTTTT+11specified by Command 1, 3TTTTT + 0Axis 1 status bits
3TTTTT+32specified by Command 2, 3TTTTT + 2Axis 2 status bits
The register indexes are as follows:
00000Command Position
10001Target Position
20010Actual Position
30011Transducer Counts
40100Status
50101Drive Output
60110Actual Speed
70111Drive Null
81000Step
91001Link Value
10 - 15Reserved
To get the STATUS and ACTUAL POSITION, you would set SAR to 2 (0010). In the example below, the
registers are selected by SAR.
SARCMND INDX(HEX)
4TTTT+0 0000|0010|0XXX|XXXX(02XX)3TTTT+0 AXIS 1 STATUS
+1 xxxx xxxx xxxx xxxxxxxx3TTTT+1 AXIS 1 ACTUAL POSITION
4TTTT+2 0000|0101|0XXX|XXXX(05XX)3TTTT+2 AXIS 2 STATUS
The STATUS is always reflected into 3TTTTT + 0 and 3TTTTT + 2. You can monitor the ACK bit in the
status word (bit 9) to confirm that a command has been received.
Delta Computer Systems, Inc. 360/254-868865
Quantum Programming HintsMMC120 Linear Motion Control Module
QUANTUM PROGRAMMING HINTS
The Programmable Controller is responsible for storing the initialization parameters used by the MMC120 an d
initializing th e Motion Control Module with those par ameters.
The MMC120 provides a STATUS word for each axis. If an error bit is set in the STATUS word, the
ProgrammableController is responsible for shuttin g down the axis drive power. It must h ave a watchdog
timer that will shut down the drives if a time-out occurs.
Write to the MMC120 only once per segment, otherwise the newest data will overwrite the previous data.
See the demo program on the DCS120 disk for ladder logic examples.
Error Handling
The MMC120 reports errors to the Quantum Controller within one millisecond of detection. Errors ar e
reported by setting bits in the affected axis' STATUS word and turning on the appropriate Front Panel LEDS.
The Programmable Controller is responsible for checking errors byreading the STATUS words. It is up to the
ProgrammableController to determine what should be done if an error is detected.
The system must be able to shut down the axis drive power using a normallyopen output which is held closed
when the system is runn ing. This contact should be in series with an operator emergencyoff button. If power
to the rack is lost, the contact will open and the axes will stop. If an error occurs in the MMC120 the contact
can be deactivated, which stops the axes. Usuallythe ProgrammableController will not take so drastic a step
until it has determined that all control is lost. An 'H' (HALT) command to the axis with an error can take care
of most error conditions.
When two axes are makin g a coordinated move and one axis starts moving slower than it should, it is best to
issue a HALT command to both axes to stop all movement un til the problem with the faulty axis has been
resolved.
You can alsouse AUTO STOP for error detection by setting th e appropriate bits in the SOFT STOP the
HARD STOP bytes corresponding to the error bits in the STATUS word. See AUTO STOP (page 31) and
STATUS (pages 38-40).
66Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleTroubleshooting
TROUBLESHOOTING
Problems and Solutions
Ladder program cannot access parameters or operate module
1) Module not configured properly - Active LED off. Configure the module as a 4 input and 4 output
register module with binary format.
2) Make sure the Programmable Controller is accessing the correct I/O registers.
RedLEDS2,3,4,6,7,or8areon
This indicates the transducer is n ot responding to the module. Every millisecond the module interrogates the
transducer's position. If a return response is not seen after about two milliseconds, the internal counters
overflow, and red LED 4 or 8 will be latched. If a return response is not seen after six milliseconds, red LED
2 or 6 will be latched. If the transducer count between interrogations changes too much (indicating n oise), red
LED 3 or 7 will be latched. Check the tra nsducer power supply and check the wires to the transducer.
Red LEDS 2 and 6 are on; all other red LEDS are flashing; no green LEDS on
This indicates that th e flash memory on the module has an invalid checksum. You must download a new copy
of the firmware to the module.
Duringamove,theActualPositioniserratic
Electrical n oise or a defective tran sducer is usually the cause of this problem. Monitor bits 1, 2, an d 3 of the
axis' STATUS word to determine if th e module is detecting a transducer error. To reduce electrical noise
check the following:
1) Make sure the transducer wiring is separated from all other wiring.
2) Add a termination resistor (220 ohm for Temposonics I) as close to the transducer as possible.
3) Connect the shieldat the moduleend, the transducer end, or both.
During a move, the drive comes to a halt for no apparent reason
When the module detects a 'tran sducer not r esponding' error it makes a Hard Stop. See 'Actual Position is
erratic' above for more information. If any of the following conditions ar e enabled, the axis will also halt:
Following Error
Overdrive Error
Position Overflow
Parameter Error
Stopped
Transducer counts field not indicating transducer location
See 'Axis indicator constant red' above.
Transducer counts field changes but output drive does not work
See '...drive comesto a h alt for no apparent reason' above.
Delta Computer Systems, Inc. 360/254-868867
TroubleshootingMMC120 Linear Motion Control Module
The System is unresponsive and hard to tune
This problem could have several causes. The first items to check are:
1) Is there h ose, rather than rigid pipe, installed between the hydraulic valve and the cylin der? Th e hoseacts
like an accumulator and the fluid goes to fill the hose rather than move th e cylin der.
2) Does the valve have overlap? Overlap in hydraulic valves causes a significant dead band and slows the
system response. Some pr oportional valve amplifier cards have dead band eliminator circuits which make
tuningeasier.
3) If you have a servo motor and a ball screw, is there any backlash? Backlash produces a dead band when
the axis changes direction, so the controller will tend to oscillate ar ound the dead band.
The axis oscillates
This problem could have several causes. The first items to check are:
1) Make sure that the DEAD BAND ELIMINATOR value is not too high.
2) Try reducing the PROPORTIONAL, INTEGRAL, or DIFFERENTIAL gains.
The axis does not finish moves or moves differently than expected
This can be caused by the PLC issuing unintended commands to the module. Use the DCS120 command
queue to monitor commands sent by the PLC to the module. Confirm that only th e expected commands ar e
being sent. See Appendix A: DCS120 Diagnostic and Setup Program for more information about the
command queue.
68Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleHydraulic System Problems
HYDRAULIC SYSTEM PROBLEMS
These h ydraulic system problems can make system tuning difficult or impossible.
Nonlinear Valves
A valve is linear when th e flow through it is directlyproportional to th e input signal over the entire r ange of
the input signal. It is nonlinear when the output is not directly proportional to the input. You may find two
types of valve n onlinearity:
Overlapped valves- Oil does n ot start to flow through these valves un til the spool has moved some distance.
This causes a dead band in the system, where small amounts of dr ive do not produce motion. Overlapped
valves are designed for manual and on/off typecontrol and are not suited for servo control. These valves
should be replaced with non-overlapped valves.
Curvilinear valves - The flow th rough these valves increases slowly as the input signal increases for the first
20% of range. Beyond 20% the flow increases rapidly as the input increases. This is equivalent to having two
different gains for different signal levels. The low gain at low flow causes poor r esponse at slowspeeds, and
the high gain at high speed can cause instability. These problems are more pronounced when heavy loads are
moved byrelativelysmall cylinders.
LinearOverlappedCurvilinear
FlowFlowFlow
Input SignalInput SignalInput Signal
Slow-Response Valves
Valves with slow response cause the Motion Control Module(MCM) to overcompensate for disturbances in
the motion of the system. Since the system does not respond immediatelyto the control signal, the MCM
continues to increase the drive signal. By the time the system begins to respond to the error, the control signal
has become too large an d the system overshoots. The MCM then attemptsto control in the oppositedirection,
but again it overshoots. Th ese valves can cause the system to oscillate around th e set point as the MCM
overshoots first in one direction, then the other.
Hoses
Long h oses between th e valves and cylin der act as accumulators and make the system r espond as if it has a
spring in it (imagine tr ying to control the position of one end of a Slinky™ by moving the other end!). The
lines between th e valves and cylin ders must beas short and rigid as possible.
Delta Computer Systems, Inc. 360/254-868869
Hydraulic System ProblemsMMC120 Linear Motion Control Module
Pumps and Accumulators
Insufficient pump and/or accumulator capacitywill cause the system r esponse to degrade during a move
because the effective pressure drops.
Pressure transients due to insufficient accumulator volumecause jerky motion, particularly during starts and
stops. Note: Even systems with ‘fast’ pumps usuallyrequire at least a small accumulator near th e cylin der to
maintain the constant pr essure needed to get smooth motion.
Insufficient pump capacity can r esult in inadequate control when moving many axes simultaneously or when
making long moves. In these cases pr essure can drop so much a fully open valve cannot maintain the
requested speed.
Identification and Correction
To identifyand correct these pr oblems, make a move with very low (or zero) gains except th e FEED
FORWARD terms. Graph the move with DCS120. The graph (ignoring the Position terms) should show:
If the actual speed and target speed show:
Drive (green)
Target Speed (purple)
Actual Speed (blue)
Your valve probably has overlap. Replacethe valve with a linear one or try increasing the DEAD BAND
ELIMINATOR value.
70Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleHydraulic System Problems
If the speeds show:
Your valve is probablycurvilinear. Replacethe valve with a linear one or increase the proportional gain and
tune the system for high-speed stability; expect poor control at low speed and when stopped.
If the speeds show:
You may have too much hose between th e valve and the cylinder. Reduce th e amount of hose or add
differential gain (usually less than 5).
Delta Computer Systems, Inc. 360/254-868871
Hydraulic System ProblemsMMC120 Linear Motion Control Module
If the speeds show:
Your valve may have slow response. Change to a faster valve or add Acceleration Feed Forward.
With normal gain values, if the graph shows:
Your pump and/or accumulator may be inadequate (you are running out of oil). Reduce speed, increase pump
pressure, add accumulator volume, or get a bigger pump.
72Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleRepairs and Returns
REPAIRS AND RETURNS
Warranty
The MMC120 shall befree from defects in materials and workmanship under normal and proper use and
servicefor a period of fifteen (15) months from the date of shipment by Delta Computer Systems, Inc. (Delta)
or Delta's auth orized distributor so long as the module was under warranty when shipped to the customer by
the distributor.
The obligation of Delta under this warranty shall be limited to repairing or replacing the MMC120 or any part
thereof which, in the opinion of Delta, shall be proved defective in materials or workmanship under normal
useand service during the warrantyperiod.
Repairs required because of obvious installation failures (burned resistors, traces, etc.) are not covered and will
be billed at standard repair rates.
Disclaimer of other Warranties. There are no other representations or warran ties made by Delta,
express or implied. Delta expressly disclaims any and all implied warranties, including any implied
warranty of merchantability and any implied warranty of fitness for a particular purpose. Further, Delta
disclaims any liability for special, consequential or incidental damages resulting from any breach of warranty
by Delta under this Agreement.
Module Return For Repair
If you need to return an MMC120 module for repair, please contact Delta prior to shipment for an RMA
number. Returned modules must be packaged in static protection material and have the RMA number clearly
marked on the outside of the package. Please include a short n ote explaining th e problem. Send the module
to:
Delta Computer Systems, Inc.Phone: 360-254-8688
11719 NE 95th St. , Suite DFax:360-254-5435
Vancouver, Washington98682-2444Pager:360-699-7784 (24 hr)
Returns
Returned items (in new condition and less than 120 days from shipment from Delta) must be approved by
Delta and are subject to a 25% r estocking fee. An RMA number must be issued before an item is returned.
Delta Web Page and Email
Delta also has a site on the World Wide Web. To get product information and application notes, point your
browser to:
http://www.deltacompsys.com
And you can send us email at:
email@deltacompsys.com
Delta Computer Systems, Inc. 360/254-868873
GlossaryMMC120 Linear Motion Control Module
GLOSSARY OF TERMS
Actual Position - The scaled measured axis position expressed in Position Units.
Circulation - The pr ocess of sending an interrogation signal to a transducer and counting a high frequency
clock while waiting for th e transducer to respond.
Cleared - Refers to a FALSE or logic zero value.
Counts - Raw n umber of digital counts for a given physical distance. The number has NOT been scaled to
represent the actual physical distance.
Extending - Moving or turning the axis such that the transducer counts in crease.
Feed Forward - Control industry term used to express the amount ofoutput drive needed to reach a desired
speed, or the open loop gain of a control system.
MCM - Motion Control Module.
Overlap - Overlap is a region in a hydraulic valve where n o fluid can flow in either direction; it is usually
specified in percent. Valves with large overlap are very difficult to control.
PID - Control industry term used for Proportional, Integral, an d Differential drive compensation.
Position Unit - Basic unit ofdistance measurement for a specific application (i.e., thousandths of an inch,
tenths of millimeters, th ousandths of revolutions, etc.). Position units are calculated using the SCALE
and COUNTS parameters.
Retracting - Moving or turning the axis such that the transducer countsdecrease.
Scale - A multiplier used to tran slate Tr ansducer Counts to Position Units. It can also be used to
compensation for differences in magnetostrictive tran sducers.
Set - When referring to STATUS bits it refers to a TRUE or logic one value. It also refers to a physical
positions of th e axes.
Target Position- A calculated position at which an axis is expected to be at any given time.
Transducer - A general term for a device that converts a physical distance to an electrical signal.
Transducer Counts - See Counts.
74Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleASCII Table
ASCII TABLE
This is a list of all the standard ASCII control characters, listing the keyboard character, hex value, and
decimal value of th e character.
DescriptionMotion Controller Diagnostic and Setup Program
Appendix A: DCS120 Diagnostic and Setup Program
Description
DCS120-DOS is a DOS-based software package that allows you to access, display, troubleshoot, and control features of
Delta's MMC120 TSX Quantum motion control products. Used with an IBM PC or compatible, DCS120 allows you to
adjust the Motion Control Module’s parameters an d make simple movements. You can display a motion trajectory
using DCS120's gra phic or ASCII formats.
DCS120-Win is also available and recommended for Windows 95/98/NT users. DCS120-Win has all the features of
DCS120-DOS plus a Windows interface, onlin e help, plot printing, and popup editors that save you from memorizing
hexadecimal codes and commands. DCS120-Win is available on the setup disks that came with the MMC120 module
and on Delta’s web site.
This appendix covers only DCS120-DOS because DCS120-Win has an extensive online manual.
General Features
• Provides context-sensitive help.
• Provides graphic display of axis movement.
• Provides utilities to calculate motion parameters Scale and Offset
• Provides access to auto feed forward adjust function.
• Allows user to direct simple moves from the keyboard.
• Permits user to change control par ameters from the keyboard.
• Displays parameter and status information for multiple axes.
• Permits graphic diagnostic information to be saved and retrieved from disk.
• Provides a display-only mode to displaypreviously-saved diagnostic graphic information
using only a PC.
• Saves parameters to disk for backup.
• Includes an Event Control spreadsheet with 256 steps.
• Usesspreadsheet format for editing parameters.
• Provides look only mode (non-editing) for operator reference.
2
• Provides sum of errors squared (ÿe
To install DCS120 on your har d drive followthe instructions on page 79.
A demo program is installed with DCS120-DOS and DCS120-Win.
) tuning aid; it's displayed on the top line of the plot screen.
76Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleAppendix A: DCS120
Initial Startup Using Display-Only Mode
For a quick demonstration of the program, setup DCS120-DOS from the disks provided, then type MMCDOS PC
<Enter> from the installed directory. Since n o hardware n eeds to be connected, DCS120 will display th e PC Mode
parameters.
Note "PC AT" in the upper left corner; th is indicates PC (display only) mode. See pages 81-79 for th e list of available
commands.
PC AT 0.99DELTA Computer Systems, Inc.MMC120
19990709
Initialization parametersWhite = active; gr ay = non-active
Real time r ead only parametersGreen
Real time command parametersRed or yellowdepending on mode
Delta Computer Systems, Inc. 360/254-868877
Appendix A: DCS120MMC120 Linear Motion Control Module
You can alsodisplay graphic information previously saved on the disk. The DCS120 distribution disk has two
demonstration files: stall.plt and multi.plt. You can use the RP (Read Plot) command to display them. Example: type
RP stall <Enter>.
Stall.plt
78Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleAppendix A: DCS120
Initial Startup Using Motion Control Module
Before DCS120 can be used with a Motion Control Module you must connect the appropriate hardware. Refer to pages
17-19 for hardware connection information.
Once you have connected the hardware, you must configure DCS120 to match it. Insert the DCS120 disk in drive A
and type a:install <Enter> (you can substitute drive B for A). Select the directory where you want to install DCS120.
You may need to select a different COMM port. Please see explanations of th e various configuration files later in this
appendix. When you finish the installation, change to the DCS120 directory (default: c:\DCS120) and type MMCDOS<Enter> to start the program.
The following is a sample of a typical system screen:
NOTE: After installation, if the screen contains all zeros in the Read Only (green) section, there is a problem with the
hardware connections and/or DCS120's configuration i nformation. Recheck the hardware and re-install DCS120
while double checking the specified setup parameters.
Delta Computer Systems, Inc. 360/254-868879
Appendix A: DCS120MMC120 Linear Motion Control Module
The DCS120 Screen
The DCS120 main screen is divided in to five parts:
Read Only ParametersInitializationCommand
ParametersQueue
Command Parameters
Input Field
Read Only Parameters
Read Only parameters contain status information about the Motion Control Module. On color monitors this area is
green. Th ese parameters are updated automaticallyby the controller. Do n ot attempt to write into this section; entries
are ignored.
Command Parameters
These Par ameters are written to the module by DCS120. They contain the commands and related parameters for
execution bythe module. This area can be either red or yellow. When DCS120 is in Readback mode the area is r ed,
and when in Write mode it is yellow. (Note: Readback mode is used to monitor the Motion Control Moduleas the PLC
is giving commands.)
Input Field
This line is where you enter parameters and commands. If you hold down th e Alt, Ctrl or Shift keys, it also displays the
availablecommands. See 'Summary of Keyboard Commands' for more information.
Initialization Parameters
The initialization parameters contain all the information necessaryfor the Motion Control Module to control th e axes.
If you change these par ameters, th e newvalues are written to the module only when a ‘P’ command (Alt-P) is issued.
These parameters ar e graybefore an Alt-P is issued an d white after (gray indicates th at the parameters have not been
transferred to the Motion Control Module).
Command Queue
The Command Queue is a record of the commands and data sent to the module by the PLC. It shows th e most recent
256 events (16 per page, with 16 pages), with the newest at the top of the queue. You can scroll through the record
with the Page Up/PageDown keys; a pointer (|) shows which page you are on in the Queue. You can usethe queue to
confirm that the ladder logic is sending only the expected commands to the MMC120. You can save the Command
Queueto a .log file by using the SQ filename command (do not enter the '.log' extension).
There are four columns in the Command Queue, with the following meanings:
MMC120 Linear Motion Control ModuleAppendix A: DCS120
Summary of Keyboard Commands
When the Shift, Ctrl or Alt keys are pr essed, a menu of the available commands is displayed at the bottom of the screen.
Pressing th e keymultiple times will scroll through the entir e list of commands available with that key.
To change most par ameters, cursor to the field and enter a new value. To see the help file of a parameter, press Ctrl-H
when the cursor is on that field. To enter hex numbers, type a "0" (the n umber zero) as the left-most digit of the
number. After typing the desired new value, DCS120 will accept the input a soon as you hit Enter or move the cursor
to a new location.
NOTE: New values ar e not automatically tran sferred to the Motion Control Module. An Alt-P command must be issued to
transfer initialization parameters.
On color monitors the initialization parameters are displayed in gray to indicate parameters have not been transferred.
Use an Alt-P command on each axis to transfer the parameters to the Motion Control Module. (The screen display of
the parameters changes from gray to white after an Alt-P is issued.)
SHIFT Key Commands
SHIFT?Display full help information using text editor
Ctrl Key Commands
CtrlBDisplay Status bits in expanded format (Toggle)
CView configuration
DTemporary exit to DOS; return to DCS120 by typing EXIT
EEdit .INI configuration file (TE editor is included as default)
FEnter table editor for Function keys (F1-F10)
HContext-sensitive help
PEnter table editor for profiles
QQuit DCS120
SEnter Event Control editor
TToggle between Write mode and Readback mode
VView datalog raw data (after graph taken)
F1-F10Executes Command saved for function key. Uses all 6 command parameters stored: MODE,
ACCEL, DECEL, SPEED, COMMAND VALUE, and COMMAND
Function Keys
F1-F10Executes command stored for function key. Uses only COMMAND VALUE and COMMAND
Command Line
P0 Pos 0 Cnt 0
P1 Pos 1 Cnt 1
R filename
S filename Saves current setup using the filename.BDn where n represents current module location; execute
RP filename
SP filename Saves current graph in a plot file specified by filename. Do not enter the .plt extension.
SQ filenameSaves Command Queue to .log file specified by filename. Do not enter the .log extension.
PTnSets the type of the extra plot information. n can be one of the following:
parameters
Scale and Offset field calculation. Place cursor on axis of interest. See page 82 for more
information.
Reads the project parameters for current motion controller module
for each controller module. Do not enter the . BDn extension.
Displays graph previously saved using SP command
T nSets the plot timebase to n milliseconds
0Extra precision positions
1Command and Command Value
2Event Step and Link Value
3Raw Transducer Counts
Delta Computer Systems, Inc. 360/254-868881
Appendix A: DCS120MMC120 Linear Motion Control Module
Alt Key Commands
AltAChange ACCELERATION
DChange DECELERATION
EStart Events
FFeedforward adjust (auto tuning)
GIssue a Go command to the selected axis
HHalt command to axis
IIntegral Drive set
iIntegral Drive clear
JRelati ve move
KIssue Emergency Stop command to all axes
MSet MODE
NSet NULL
nNull Drive clear
Shift-OOpen Loop
PActivate control parameters (initializes the axis the cursor is on)
QQuit events
RIssue a Restore Null command to the selected axis
rRestore Integral Drive
S IssueaSaveNullcommandtotheselectedaxis
sSave Integral Drive
UUpdate FLASH
VSet SPEED
Additional keys
EscReturn to previous screen
InsRetrieve graphic information from module
Shift-InsRetrieve graphic information and Command Queue data from module
Alt-Shift-OOpen loop
TabMove the graph data table around the graph
Page UpMove up through the Command Queue
Page DownMove down through the Command Queue
82Delta Computer Systems, Inc. 360/254-8688
Motion Controller Diagnostic and Setup ProgramGraphs
Diagnostic Graphs
You can seea diagnostic graph after each move started with a “G” or “O” command. The MMC120 acquires data for
each moveautomatically. Press the INS key to display the graph. Press SHIFT-INS to displaythe graph with
Command Queue data included.
The graph displays information with the time base specified in the Plot Time field. Entering a 2 in the Axis 1 Plot
Time field causes the module to acquire data for that axis each 2 milliseconds. A value of 10 specifies 10 milliseconds
between data points.
The Home, End, PgUp, PgDn, up arrow and down arrow keys move a vertical cursor across the graph, showing the
values at th at point in time for the Actual Position, Target Position, Actual Speed, Target Speed, Status field an d Drive
Output. The Tab key moves this text to different locations on the screen (or removesit from the screen) to avoid
covering the plot. The lin es on the plot ar e not labeled, but instead are color coded.
Two plot files ar e included for demonstration purposes: multi.plt and stall.plt. Multi.plt shows you can change the
requested position, Speed and Acceleration on th e fly without first stopping the axis or causing a discontinuity in the
motion. Stall.plt shows h ow the motion control board tr ies to keep the Actual and Target Positions together, even after
the Actual Position has stalled.
Multi.plt
Display axis graphic information (uses axis where cursor is currently located)
INS Key
SHIFT INSGraph display plus command data
HomeMove cursor to start of graph
EndMove cursor to end of graph
←↑
→↓
PgUpMove cursor back multiple time intervals (coarse adjust)
PgDnMove cursor forward multiple time intervals (coarse adjust)
Delta Computer Systems, Inc. 360/254-868883
Display axis move datalog in graph form (use
after INS key to display raw data)
Move cursor back one time interval (fine adjust)
Move cursor forward one time interval (fine adjust)
Ctrl-V
command
Appendex A: DCS120MMC120 Linear Motion Control Module
Keyboard Commands
Getting Help
To displaythe help file of a particular par ameter, place the cursor on the lin e of that parameter then press Ctrl-H.You
can also press Shift-? to displaythe DCS120.HLP file, which contains general help and information about DCS120.
The help files are displayed using the editor specified in the .ini file. Follow the editor’s instructions for exiting back to
the original DCS120 screen.
A Ctrl-C will display the configuration information for the Motion Control Module. Th e Esc keyreturns DCS120 to
the original screen.
Function Keys
You can usefunction keys F1 through F10 to issue commands to the Motion Control Module. Th ey operate on the
cursor’s current axis. The function keys must first be programmed with the Function key table editor (Ctrl-F to start).
To use th e function keys press th e function keyeither by itself or in conjunction with th e Ctrl or Alt keys. Function
keys bythemselves will issue the Command an d Command Value to the Motion Control Module. Using Ctrl-Fn will
issue the Command, Command Value, Speed, Deceleration, Acceleration, and Mode to the module. Alt-Fn will issue
the command and retrieve graphic information for bus controllers used with VMC an d MC modules.
Exiting DCS120 Screens
Ctrl-Q entered at th e main screen termin ates DCS120 and returns the PC to the DOS prompt.
The Esc key will return you to the previous DCS120 screen.
Ctrl-D entered at th e main screen will cause DCS120 to temporarily terminate and provide you with a DOS prompt.
Type ‘Exit’ at the DOS prompt to resume execution of DCS120.
Displaying Axis Status Information
The Ctrl-B command displays the expanded-format Status word from the module on the right side of th e DCS120
screen; this lets you easily identify th e individual status bits.
Enter Ctrl-B again to return to the original screen.
Editing the .INI File
Typing Ctrl-E will start the editor program and allow you to modifythe initialization filethat is being used by
DCS120. You must restart DCS120 for any changes to take effect.
Motion Control Commands
The standard motion control commands (Go, Halt, etc.) can be executed bypressing the Alt key and the character key
simultaneously. A ‘Go’ command would be Alt-G. See the keyboard command summary in the previous section for
availablecommands.
84Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleAppendix A: DCS120
Open Loop Command
CAUTION: OPEN LOOP MODE DISABLES ALL SAFETY CHECKS OF THE MOTION CONTROL MODULES!
USE THIS COMMAND WITH CARE!
You can execute the "O" (open loop) command by pressing Alt-Shift-O or entering the ASCII value for O (decimal 79)
in the COMMAND field. (First you must specify the millivolts of drive output required in the COMMAND VALUE
field.)
Readback and Write Mode Toggle
Ctrl-T toggles between the Readback and Write modes (‘R’ or ‘W’ is displayed at the r igh t end of the input line). When
in th e Readback mode, the Command parameters on the DCS120 screen ar e red, and all fields are continuously updated
from th e module. This mode is useful for observing the operation of the Programmable Controller or Bus Master.
When in the Write mode, the control parameters are not updated unless a parameter error occurs; when values are
entered from DCS120 they overwrite the values written by the Programmable Controller.
SCALE & OFFSET Calculation Commands
The P0 and P1 commands provide an easy way to set the motion controller's Scale and Offset parameters. To use these
commands, you must kn ow the physical distance and the corresponding number of th e transducer COUNTS at two
points. Measure the physical distance in position units (for example, thousandths of inches, millimeters) while noting
the corresponding COUNTS on the DCS120 main screen. Once you have these numbers, simply enter th e "zero"
position information using P0 and the other position using P1.
For example, if at position 0 the actual position i s 0.000 inches and t he COUNTS are 2163, then enter:
P0 0 2163. If at position 1 the a ctual position is 27.500 inches and the COUNTS are 31626, then enter:
P1 27500 31626.
Note: If the COUNTS are not entered, the current valuein the COUNTS field will beused.
After you enter values for both P0 and P1, the SCALE and OFFSET fields will be updated on the screen (notice the
parameters tur n gray). Use th e Alt-P command to activate the newly calculated numbers. (In the above example
SCALE changes from 32767 to 30564 and OFFSET changes from 0 to -2018.) The RETRACT and EXTEND LIMITS
are updated to their new actual positions using the new SCALE and OFFSET values.
OFFSET Parameter
The OFFSET and other parameters may be displayed incorrectly on the DCS120 screen under some circumstances.
This is because the offset and r etract limits specifythe zero location of the axis. Th e numbers are not n ecessarily
incorrect (the module still functions correctly), but they may not look right. To correct the problem simply enter the
correct value for th e Offset and save the parameters to a file (using th e S filename command). Whenever you start
DCS120, read the file (using the R filename command) and DCS120 will displaythe parameters correctly.
Variable Datalogging Rates
The Plot Time (on the main parameter screen) shows th e time base of the graphic display; it can be changed with the T
n command, where n is the time in milliseconds. Each axis is set independently. For example, if you set th is field to
10 on axis 1, the plot will represent 1024 samples of 10ms each (10. 24 seconds of motion). The default time is 1
millisecond.
Delta Computer Systems, Inc. 360/254-868885
Appendex A: DCS120MMC120 Linear Motion Control Module
Moving Axes Simultaneously
Axes can be moved simultaneously with DCS120. When you set the sync bit (bit 12) in the MODE word on both axes,
the axes will only respond to G (go) commands when the last axis is given a command. This allows you to configure
both axes with requested positions then make them move in unison.
Table Editors
Three Table Editors are available in DCS120. They are used to modifyfiles containing in formation for the operation of
the Motion Control Module. The Table Editors are:
• Function KeyEditor (Ctrl-F).
• Profiles Editor (Ctrl-P).
• Event Steps Editor (Ctrl-S).
The Table Editors use commands similar to those used in an Excel spreadsheet:
Shift+Arrow keys highlight the work-area to be edited.
End, Home and Arrowkeys move the cursor around the screen.
Ctrl-C stores a highlighted area in the buffer for pasting.
Ctrl-S will save the table to disk.
Ctrl-R will read th e table from disk.
Ctrl-X deletes the selection and stores it in the buffer for pasting.
Ctrl-V pastes the contentsof the buffer into the work area.
In addition the following commands are available in the Event Steps Table Editor:
Ctrl-G will move the cursor to the next step in the chain.
Ctrl-Z will zero the entire Step Table
Alt-S will save the Event Steps to the module.
Alt-R will read the Event Steps from the module.
86Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleAppendix A: DCS120
Advanced Features
DOS Command Line Options
Syntax: MMCDOS [ini_file] [project_file] [-options]
When you start DCS120, you can include up to two command line parameters an d several startup options. The first
parameter is the name of the initialization file DCS120 uses to configure itself. The default file is DCS120.INI. The
second parameter is the name of the pr oject files that contain information about each of the Motion Control Modules in
the system. The file names are DCS120.BDn (where n is the module number: 1, 2, ...). The ini_fileand project_file
are described later in this section.
The available startup options are:
-wstarts DCS120 in th e write mode
-rstarts DCS120 in the r eadback mode
-dcreates a debug file (debug.txt) with a historyof all commands executed from DCS120
Note: this creates large files that will fill your hard drive if DCS120 runs too long
-fforces initialization of the module when DCS120 starts
-lstarts DCS120 in the look-only mode
These options can all bespecified in the .ini file, but when specified on the command lin e theysupersede the .ini file.
The following examplesillustrate the use of command lin e parameters and options.
You can specify a different board file for each different project. This permits easy use of different control par ameters
for th e same axis.
These ar e examples of Command Line option use:
MMCDOSUses DCS120.INI and filename.BD1
MMCDOS PROJ -w -fUses PROJ.INI and filename.BD1, starts in the write mode, and forces
initialization
MMCDOS PROJ PROJ2Uses PROJ.INI and PROJ2.BD1
Setting Up Advanced Features
To create special project and board files, copy and rename the existing DCS120.INI and DCS120.BDn files. You must
keep the new files in the same directory as DCS120's default files.
Description of Initialization File and Project Files
DCS120 needs several files to run. These files must all be in the same dir ectory.
MMCDOS.EXEExecutable program code
filename.INIInitialization file used to configure DCS120 (ASCII text format)
filename.BDnProject file used to define startup parameters for both axes on each module. Each module
used in a system will have a .BDn file to define axis-specific parameters. Filename for the
.BDn files are defined in the filename.INI file [PROJECT] parameter.
Delta Computer Systems, Inc. 360/254-868887
Appendix A: DCS120MMC120 Linear Motion Control Module
Initialization File
To operate, DCS120 must have a filename.INI file. The purpose of the . INI file is to configure DCS120 to work in the
displayonly mode (PC mode) or work with a TSX Quantum PLC. The .INI file must also specifythe type of
communications used (port and baud rate).
NOTE: If the keyword in brackets is not the first item on the line then that lin e is a comment. All keywords
are in brackets an d parameters must be separated byat least one space or tab. A sample .INI file
follows:
[TARGET]PC;Used if DCS120 for display mode only (default)
***[TARGET]MMC120;Enabled for TSX Quantum MMC120
[COMM]COM1;Serial port
[EDITOR]EDIT;Name of your ASCII editor (EDIT default)
[PROJECT]MYPROJ;Name of file to store configuration and
; function keys
[FORCEINIT]NO;Initialize the module with parameters stored
; on disk
[READBACK]YES;Select Readback mode or Write mode
[LOOKONLY]NO;Limited access to DCS120 capabilities
[BOARD]MMC120
[AXIS]Axis1
[AXIS]Axis2
[ENDDATA]
*** the line is ignored by DCS120
[TARGET]
The [TARGET] keyword is used to specifythe target system that is being used. The target systems available are listed
above with a brief description. Any data after the target name is a comment. Select one of the targets and disable the
rest by placing "***" in front of each of them.
[COMM]
When communicating through an RS-232 port, the [COMM] line must also be set. The [COMM] line has one
parameter: the serial (COM) port. The options for the communication port ar e COM1 and COM2. These must be
capitalized and used exactlyas shown. The baud rate is fixed at 9600.
[EDITOR]
This keyword h as one parameter: the name of the text editor you use when Ctrl-E is entered. This defaults to EDIT,
which is available in DOS 5.0 or later, but you can change th is to use your favorite editor. The editor must be in th e
current directoryor specified in th e PATH environment variable in your autoexec.bat file.
[PROJECT]
This keyword h as one parameter: the name of the project. This name must not be longer than 8 characters as it is used
to read and write the . BDn files. You must use this name when you save the .BDn files with the ‘S’ command.
[FORCEINIT]
If set to YES, the initialization parameters will be copied from th e .BDn file to the Motion Control Module. This can
help during in itial setup, but may not be desirableafter the system is in operation since it may change operational
parameters. If [FORCEINIT] is set to NO, DCS120 will r ead the parameters from th e module.
88Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleAppendix A: DCS120
[READBACK]
The [READBACK] parameter determines whether DCS120 starts up in the Readback mode or Write mode. The
following configuration allows you to execute DCS120 and to come up in the readback mode without initializing the
axis:
[FORCEINIT]NO; DEFAULT
[READBACK]YES; DEFAULT
This configuration allows DCS120 to initialize all axes and come up in the readback mode:
[FORCEINIT]YES
[READBACK]YES; DEFAULT
[LOOKONLY]
This keyword controls access to the initialization and command parameters. When [LOOKONLY] is set to YES,
DCS120 can only monitor status and plot graphs. When it is NO all capabilities are enabled.
[BOARD]
This keyword has one parameters: th e module name. This name is displayed in the upper righ t corner of th e main and
graph screens. Th is name is limited to six characters. It can be edited to reflect the function of the module, such as
edger, or qdbnd.
[AXIS]
This keyword h as onlyone par ameter: the n ame of the axis. The axis name can be up to five char acters long; longer
names are truncated. The name can be chosen to indicate the function of the axis. There must be two axis keywords
immediatelyafter each board keyword.
Delta Computer Systems, Inc. 360/254-868889
Appendix A: DCS120MMC120 Linear Motion Control Module
Project Files
The project files are used to set the initialization parameters for each axis. They also contain function key definitions
and profile definitions. The name of the fileis set in DCS120.INI file in the [PROJECT] field but will always use the
.BDn extension. Each module in the system has a .BDn file. DCS120 software is shipped with one .BDn file. These
files can be edited to match different configurations. If edited, the files should be renamed.
There are thr ee other file types which can be shared by the modules in a system:
DCS120 displays both positiveand n egative numbers in the position, extend limit, and retract limit fields. The way
position and limit fields are displayed is determined by the offset field. Most applications requiring an offset use a
negative offset. The rule is: all numbers between the negative offset and 0 ar e displayed as negative numbers.
Example:
OFFSET0position range0 to 65535(65536 total steps)
OFFSET-1000position range-1000 to 64535
OFFSET-6000position range-6000 to 59535
OFFSET -10000position r ange-10000 to 55535
OFFSET -20000position range-20000 to 45535
OFFSET -30000position range-30000 to 35535
For any negative offset, values greater than the maximum position but less than the maximum number of steps are
treated and displayed as negative numbers:
OFFSET -30000position range-30000 to 35535(65536 total steps)
A position request of 45000 is displayed as: 45000 - 65536 = -20536
View Data Command
The View Data command (Ctrl-V) displays r aw Counts, Target, Status, and time information. (Speed values are
calculated by DCS120.)
Sum of Errors Squared (ÿe2)
A sum of errors squared term is included on the top line of the plotscreen. You can use this term by noting if it’s
getting smaller or larger as you change par ameters; th e smaller the number the better-tuned the axis. Repeat the tunin g
steps in the MMC120 manual using the same profile terms until you get the lowest number.
Delta Computer Systems, Inc. 360/254-868893
User NotesDCS120 Diagnostic and Setup Program
MMC120 Communication Cable
DCS120 communicates with the MMC120 through the RS-232 port on the module.
RS-232 Cable (same as Modbus cables for PC)
9-Pin Female9-Pin Male
NC
RX
TX
DTR
GROUND
DSR
RTS
CTS
25-Pin Female9-Pin Male
SHIELD
TX
RX
RTS
CTS
DSR
GROUND
NC
DTR20
1
2
3
4
5
6
7
8
pin (PC)pin (MMC120)
1
2
3
4
5
6
7
8
1
2
3
4
GROUND
5
6
7
8
9
1
2
3
4
GROUND
5
6
7
8
9
SHIELD
RX
DTR
DSR
RTS
CTS
NC
SHIELD
RX
DTR
DSR
RTS
CTS
NC
pin (MMC120)pin (PC)
TX
TX
The communication rate between DCS120 and the MMC120 is 9600 baud.
A demo program is available on the DCS120 distribution disk.
94Delta Computer Systems, Inc. 360/254-8688
MMC120 Linear Motion Control ModuleAppendix B: Event Control
Appendix B: Event Control
Introduction
The Event Control feature in the MMC120 allows you to execute a sequence of commands without intervention
from th e Programmable Controller (P/C). This lets the module respond to events within one millisecond r ather
than the scan rate of the P/C. It also reduces the ladder logic programming required.
Overview
Event Control consists of a series of Steps which are linked together in sequences. Th e Steps consist of a
command ar ea containing th e instruction to be executed and a link area which specifies the next Step number
and its tr igger. There are a total of 256 Steps which can beshared by both axes.
Both axes can execute any of the sequences at any time. After the Event Control Steps are configured, th e
ProgrammableController need only start a Step sequence to execute a complicated motion profile. Steps in the
sequence can respond to internal conditions - positions, speeds, an d status - in one millisecond rather than at
the Programmable Controller scan time.
Steps
Each Step contains a command with its associated parameters, plus the in formation necessaryto link to the
next Step in a sequence. The Step format is as follows:
ModeMode Word
AccelAcceleration
DecelDeceleration
SpeedRequested Speed
Command ValueRequested Position or command value
CommandAny valid ASCII command
Link TypeCondition that triggers execution of next Step
Link ValueParameter associated with Link Type
Link NextNumber of next Step in sequence
Commands
Any command which can be issued bythe Programmable Controller can be used in a Step.
Link Word
The Link word, which indicates the next Step to be executed (the Link Next byte), also controls when the Step
gets executed (the Link Type byte). The Link Next and Link Type bytes are stored in the two bytes of a 16 bit
word:
Link NextLink Type
(8 bits)(8 bits)
The completeStep is stored in memoryin th e following format:
Delta Computer Systems, Inc 360/254-868895
Appendix B: Event ControlMMC120 Linear Motion Control Module
MODE
ACCEL
DECEL
SPEED
COMMAND VALUE
COMMAND
LINK NEXT | LINK TYPE
LINK VALUE
Step Table
Steps are stored in MMC120 memory. There are eight 16 bit words per Step (6 for the command and 2 for the
link). The table has a maximum length of2048 words (8 x 256).
The table is not necessarily 2048 words long. It is only long enough to hold all the steps up to the highest Step
number used. If the highest Step number used is 49 then only 400 words of memory will be used [(49 x 8) + 8].
96Delta Computer Systems, Inc 360/254-8688
MMC120 Linear Motion Control ModuleAppendix B: Event Control
Linking Steps
Link Next
Link Next is the number of the Step to be executed in the sequence as soon as the conditions specified by Link
Type and Link Value are met. Its range is 0 to 255.
Link Type and Link Value
Link Type and Link Value specify th e condition which causes the MMC120 to execute the next Step in a
sequence. There ar e two link types: Basic and En hanced. The Basic Link Types issue commands to an axis
based on its own position, speed, or status. The Extended Link Types issue commands to an axis based on the
position, speed, or status of the other axis. The Basic link types are case-significant ASCII values, while the
Extended link types ar e specified with a hex n umber in which the bits specifythe axis number and link type.
Basic Link Types
Link TypeDescriptionLink ValueRange
0 (zero)End of chainNoneNone
BStatus bits setBit patternAnybits
bStatus bits clearedBit patternAny bits
DDelayTime in milliseconds0 to 65,535
LProgrammable Limit switch
(Target Position set-point)
lActual positionPosition in Position Units0 to 65,535
NRelative from Command
Position
nRelative from Actual PositionPosition in Position Units0 to 65,535
RTarget Position relative from
Start
rActual Position relative from
Start
STar get SpeedSpeed in Position Units per
sActual SpeedSpeed in Position Units per
Position in Position Units0 to 65,535
Position in Position Units0 to 65,535
Position in Position Units0 to 65,535
Position in Position Units0 to 65,535
0 to 65,535
second
0 to 65,535
second
Link Type 0 (zero) - End of sequence
When this Link Type is encountered the sequence of steps is terminated. No additional steps ar e executed
unless th ey are started as a new sequence.
Link Type B - Status bit on
This Link Type causes the MMC120 to execute the next Step in the sequence as soon as one of the selected
status bits is set to 1. Th e Link Value for Link Type B is a bit pattern expressed in hexadecimal. For example,
bit pattern 0000 0000 0001 0000 binary is 0010 hex, and specifies bit 12 (State Bit A, indicating acceleration).
If this bit is set the next Step will execute.
Delta Computer Systems, Inc 360/254-868897
Appendix B: Event ControlMMC120 Linear Motion Control Module
Link Type b - Status bit off
This Link Type causes the MMC120 to execute the next Step in the sequence as soon as one of the selected
status bits is set to 0. Th e Link Value for Link Type b is a bit pattern expressed in hexadecimal. For example,
bit pattern 0000 0000 0010 0000 binar y is 0020 hex, and specifies bit 11 (State bit B). If this bit is set to 0 the
next Step will execute.
Link Type D - Delay
When a Step containing th is Link Type is entered, the command is executed and a timer is started. When the
timer reaches the value specified by th e Link Value, the next Step will execute. The delay time specified by
link value is in milliseconds. This Link Type allows delays between steps of 0 to 65 seconds in one millisecond
increments.
Link Type L - Limit switch
When the Target Position of th e axis reaches the value specified by Link Value, the next Step in the chain
executes. This Link Type can beused to change speedson-the-fly or trigger events on the other axis.
Link Type l (lower case L) - Actual Position
When the Actual Position of the axis reaches the value specified by the Link Value, the n ext step in the chain
executes. This lin k type functions like the 'L' lin k type.
Link Type N – Target Position Relative from Command Position
This type is similar to the 'L' link type but th e target position is relative to the Command Position rather than an
absolute position.
Link Type n – Actual Position Relative from Command Position
This link type is similar to the 'N' link type but the distance is from th e Command Position.
Link Type R – Target Position Relative from Start
The next Step in the sequence executes when the Target Position reaches the value specified by Link Value.
Link Type r – Actual Position Relative from Start
The next Step in the sequence executes when the Actual Position reaches th e value specified by Link Value.
Link Type S - Target Speed
The next Step in the sequence executes when the Target Speed (calculated by the Target Generator) reaches the
value specified by Link Value.
Link Type s - Actual Speed
The next Step in the sequence executes when the Actual Speed reaches th e value specified by Link Value.
98Delta Computer Systems, Inc 360/254-8688
MMC120 Linear Motion Control ModuleAppendix B: Event Control
Enhanced Link Types
Enhanced Link Types providea wayto trigger an event on one axis from the other axis' parameters. The
Enhanced Link Types have the same lin k description, value, and range as the Basic Link Types, plus additional
link types.
The bits in th e Enhanced Link Type byte are defined as follows:
MSBLSB
Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 7Bit 8
Bit1 - Enhanced Link Type flag. 1 = Enhanced LinkType
0=BasicLinkType
Bits2and3-Definetargetaxis:
01 = Axis 2
00 = Axis 1
Bit 4 - Direction flag: 1 - Enables Step when monitored parameter is greater th an link value
0 - Enables Step when monitored parameter is less than link value
Bit 5 - Reserved
Bits6,7,and8-Definelinktype:
111 = Reserved
110 = Status Word bit
101 = Actual Speed
100 = Target Speed
011 = Reserved
010 = Reserved
001 = Actual Position
000 = Target Position
For example:
ParameterLink Type Byte
MonitoredAxisDirectionBinaryHexGo to Link Next when:
Target Pos.211011 0000B0Axis 2 Target Position >= Link Value
Actual Speed101000 010185Axis 1 Actual Speed <= Link Value
Step Execution
When a Step is started th e command is executed immediately, then the link condition (Link Type and Link
Value) is evaluated. If the condition is met, the next Step in the sequence (Link Next) executes on the next
millisecond control loop interval. If the condition is not met, it will be re-evaluated everymillisecond until the
condition is met, then the next Step will execute.
Delta Computer Systems, Inc 360/254-868899
Appendix B: Event ControlMMC120 Linear Motion Control Module
Example
In the following example three steps are executed. They cause the axis to make a move, wait, and then make
another move:
Step 15Step 16Step 17
Mode000010000100001
Accel100100100
Decel100100100
Speed100001000010000
Command Value15500100003000
CommandGG
Link TypeBD0
Link Value000015000
Link Next16170
Step 15 issues a “Go” command to 15.5 inches (15500). The link type is B with a link value of 00001, which
causes the MMC120 to look for the least significant bit in the status word (the In Position bit). When the In
Position bit turns on, indicating the move is complete, Step 16 (Link Next - 16) is executed.
Step 16 has no command entered, so no command is issued. The lin k type is a Delaywith a value of 500
milliseconds. After 500 milliseconds pass, Step 17 executes.
Step 17 issues a “Go” to 3 inches. The Link Type 0 (zero) causes the axis to terminate the sequence.
Starting a Sequence
Triggering Events
To trigger or start an event sequence, place th e Step number you want to execute (0 to 255) in the Command
Value field, then issue an 'E' command.
Mode00001Not used (can be any value)
Accel100Not used (can be any value)
Decel100Not used (can be any value)
Speed10000Not used (can be any value)
Command Value4Execution will begin at Step 4
CommandE69 Decimal (45 Hex)
Ending a sequence
A Halt, Quit, or Kill command will cause the axis to stop executing Steps. A Quit or Kill command also sets
the Step # to 0, and a Kill command also puts the axis in the emergencystop state. The preferred way to end a
sequence is with a Link Type 0.
100Delta Computer Systems, Inc 360/254-8688
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.