MMC120 Linear Motion Control ModuleandDCS120-Win SoftwareUser ManualVersion 2.04.1 August 8, 2012Copyright © 1997-2012, Delta Computer Systems, Inc. A
10point-to-point moves, TARGET POSITIONS are generated so the target speed follows aprofile. The MODE, ACCELERATION, DECELERATION, SPEED,andCOMMANDVAL
100To write event step information to the motion controller, use the following command anddata Output registers pairs:Command DataRegister RegisterE00
101E806 Step 0 LINK TYPE/NEXTE807 Step 0 LINK VALUEE808 Step 1 MODEE809 Step 1 ACCELERATION...EFFD Step 255 COMMANDEFFE Step 255 LINK TYPE/NEXTEFFF S
102given to the axis at the moment ramp down begins.If the speed achieved by the axis during the open loop portion of the move is greater than65,535,
103In Mode 2, the parameters define the distance in position units to accelerate or decelerateto the specified SPEED.In Mode 3, the parameters define
104Accel/Decel Mode -- 15 ------------------/ /Accel/Decel Mode -- 16 -------------------/ACCELERATIONDefault: 1000Range: 0 to 65535This parameter def
105This parameter is the same as ACCELERATION except it specifies the decelerationramp length or deceleration rate.SPEEDDefault: 1000Range: 0 to 65535
106'v' (Set Speed-Signed) Speed -32768 to 32767Make sure that the data in the COMMAND VALUE field is correct before you issue anyof these co
107CONFIGURATION WordDefault: 0000Eleven bits of this 16-bit word control the configuration of the module. Bit 1 is the MSB;bit 16 is the LSB.Click he
108This mode is intended for use with a two-valve system, one controlling the flow rate andthe other the direction. This axis controls the flow-rate v
109limit is 80%. If the integrator tries to go above the limit, the Integrator Windup bit in theword is set and the integrator value is held at the li
11Drive OutputThe drive generated by the motion controller is sent through optical isolation to a 12-bitdigital-to-analog converter (DAC). The output
110SCALEDefault: 30300Range: -32767 to 32767, excluding 0TIP: From the Tools menu, select Scale/Offset Calibration to help calculateSCALE and OFFSET.T
111Click here for MDT SCALE Calculation examplesNOTE: When the SCALE parameter is changed, the EXTEND LIMIT, RETRACTLIMIT,andOFFSET must also be chang
112Since the scale is less than 16383.5, use the Prescale Divisor bits in theCONFIGURATION WORD to divide the transducer counts by 8. Then multiplythe
113controller will allow as a COMMAND VALUE.(WhentheSCALE is negative, this isthe minimum value.) A COMMAND VALUE that exceeds this value will be set
114Proportional Drive = PROPORTIONAL GAIN x Position Error / 10NOTE: The actual drive output may be reduced based on the values of the Extend FeedForw
115DIFFERENTIAL GAINDefault: 0Range: 0 to 65535The DIFFERENTIAL GAIN field is used to minimize the error between the TARGETPOSITION and the ACTUAL POS
116with the axis using a SPEED of 1,000. The amount of output drive required to maintainthis speed should be used as the EXTEND FEED FORWARD parameter
117Range: 0 to 65535Same as EXTEND FEED FORWARD, except it is used when retracting.NOTE:Retracting is the direction that returns decreasing TRANSDUCER
118number of millivolts added to or subtracted from the drive output (depending on thedirection of travel) so the drive output is outside the dead ban
119AUTO STOPDefault: 0x1FE0 (Soft Stops enabled, Hard Stops enabled for TransducerErrors)Click here for the AUTO STOP Bit MapThe Auto Stop parameter c
12Simulator provide a simple way to test your program before connecting themodule to a real system.1. Connect the MMC120 to the DCS120-Win softwareMan
120to use the popup editor. You can enter hexadecimal numbers by typing a leading 0x,asin 0x1FE0. Each of the eight faults listed above has two bits a
121S No MDT ------------ 01 -//// //// //// ////O MDT Noise --------- 02 --/ / / //// //// ////F MDT Overflow ------ 03 ---/ / //// //// ////T Overdri
122OFFSET + 65535.Example 3:SCALE: 32050OFFSET: 1000Position Range: 1000 to 65535Discussion: Because SCALE is positive, the positions range from OFFSE
123TARGET POSITIONWhentheaxisisinClosed Loop Mode, the TARGET POSITION is the calculatedinstantaneous ideal position for the axis. The TARGET POSITION
124TRANSDUCER COUNTSTRANSDUCER COUNTS is the axis position read directly from the transducer counterswith no scaling. Internally, TRANSDUCER COUNTS ar
125If a new transducer count differs from the previous reading by more than 100 counts forsix consecutive milliseconds, the new value is assumed to be
126a 16-bit number. See Valid 16-bit Positions for details on this limitation. This bit is alsoset if—when recirculations are used—TRANSDUCER COUNTS i
127Bit 11-12 - State BitsBits 11 and 12 show the state of the target generator:STATEBit 11 (State Bit B) Bit 12 (State Bit A)Stopped 0 0Accelerating 0
128the module no longer can control the position. If the Integrator and Null Drivewere allowed to update they could become quite large and cause the a
129*Parameter Error --- 05 ------//// //// ////*Position Overflow – 06 -------/ / / //// ////*Integrator Windup – 07 --------/ / //// ////*Following E
13enter ALT+SHIFT+O, and verify that the DRIVE for the axis is 0 (zero). If theNULL DRIVE is not zero, enter ALT+N to clear it.NOTE: Make sure the Sim
130NULL DRIVEThis field displays the amount of drive in millivolts that it takes to hold the ACTUALPOSITION at the TARGET POSITION while at rest. Idea
131Link Type DescriptionEnd of Sequence This link type stops the event sequence.Time Delay Wait for a number of milliseconds.• Current Axis (Basic)The
132System-wide Link TypesLink Type - End of sequenceLink Type: 0 (decimal 0)Link Value: ReservedRange: must be 0When this Link Type is encountered the
133Suppose a move is being made from 4000 to 12000 position units. If the link type andvalue are ‘L’ and 8000 respectively, the next step would be exe
1342. Under Link Type, select Relative Limit Switch.3. Under Link Condition, select whether you wish to use Target or Actual Positionfor the compariso
135Link Value: Bit pattern that must be set or clearedRange: Any bitsThese link types wait for at least one of a user-selectable group of Status Bits
1365. Under Link Condition, select whether you wish to wait until the position is aboveor equal,orbelow or equal the Limit position.6. Under Link Cond
1371. Calculate the Link Type:This involves converting the following bit fields into a hexadecimal byte. It ishighly recommended that the Link Type an
1381Axis 0 or 10 for bit(s) OFF,1 for bit(s) ON110002. Enter the Link Value. Use the STATUS Word Bit Map to calculate a 16-bithexadecimal word that ma
139Overload protection One-second short-circuit durationOvervoltage protection Outputs are protected by clamp diodesBus CompatibilityModConnect® Certi
14method; it is described in Using the Scale/Offset Calibration Utilities.• Manually calculate and enter the Scale and Offset parameters. Refer to the
140the wave guide as the pulse reaches the magnetic field of a magnet. Thetwist takes time to be sensed at the transducer head. It is this time that i
141Retracting: Going in the direction where the transducer’s counts are decreasing.Soft Stop: An emergency stop condition where the drive ramps down t
142Index..mdc file ...
143Speed...
144Divide-by Bits ...
145Get Parameter Commands ... 95Get Prof
146Current Axis Status Bits... 133End of
147Parameters ... 106, 107, 109, 111, 112, 113, 114, 115, 116, 117, 118Auto Stop Bits ...
148RR Command ...
149Set Null Drive ...
15losing parameters, provided that the Quantum downloads the settings to theMMC120 on each power-up.Setup DetailsWiring NotesUse shielded twisted pair
150Vv Command ...
16both the '+Int' and '-Int' between the transducer and the MMC120 for the interrogatesignal, and connect both the '+Ret&apos
17Some Temposonics I transducers from MTS have 200 Ohm termination resistors installedbetween their interrogation pins and common. If yours do not, it
18PCNCRXTXDTRGroundDSRRTSCTS(9-pin female connector)1234567812345678MMC120(9-pin male connector)9ShieldRXTXDTRGroundDSRRTSCTSNCShieldTXRXRTSCTSDSRGrou
19PROPORTIONAL GAIN affects the responsiveness of the system. Low gains make thesystem sluggish and unresponsive. Gains that are too high make the axi
2Table of ContentsDISCLAIMER ...
20keep moving the axis back and forth with increasing speed until you reach the desiredspeed. Should the system seem a little sloppy, try decreasing t
21• Using Stored Commands• UsingGraphsofAxisMovesSetup Options• Selecting a Serial Port to Use• Changing the Axis Names• Using Multiple Motion Modules
22Command areaThis area is located in the lower left portion of the main window. It holds the Commandfields for each axis. This area is updated only i
23Parameter areaThis area is located in the lower right portion of the main window. It holds the Parameterfields for each axis. This area is updated o
24For details on saving and loading parameters, see Changing Between Board Files.Plot Time areaThis area is located in the top right portion of the ma
25Online - This indicates that the monitor program is currently communicatingwith a motion control module.Offline - This indicates that the monitor pr
26event step table to the FLASH.…Stored CommandsEach of these buttons issues a storedcommand to the current axis. This isequivalent to holding CTRL an
27only in the COMMAND field. For example, W.Press ENTER to finalize your changes, or ESC or cancel your edits.NOTE: In the fields that are displayed v
28possible to have changes you are making overwritten by a field update. Toavoid this in most circumstances, the motion program will not update thecur
29• Press CTRL+B.Additionally, the Status Bits window can be displayed by using any of the methods ofdisplaying a Popup Editor.Using the Command LogCo
3Special Status Values Available in Plots... 41TARGET SPEED
30In some applications the Command Log may be scrolling continually.To freeze the flow of commands in the log, do one of the following:• On the File m
31session.To open the Properties dialog box:1. On the File menu, click Properties.2. In the Command Log Properties dialog box, select your font size a
32profiles, see Editing the Stored Command Table. These stored commands can be used ineither partial profile or full motion profile modes.When execute
33only for display purposes. An axis name can have no more than five characters.To change axis names:1. On the Tools menu, click Options, and then cli
34Refer to Using Multiple Motion Modules for general board file information.To create a new board file:1. On the File menu, click New.The resulting bo
35Default Commands - Refer to the Command area topic for details.Serial Port - Although the serial port is not actually stored in the board fileitself
3611. Under Second position, click Use Current.12. Under Extend/Retract Limits, choose how you wish to have the limits set:• If you had the extend and
37Using PlotsUsing Graphs of Axis MovesThe motion controller automatically gathers plot data for each move. A plot is triggeredwhen any of the followi
38Selecting the Data to PlotAll plots read from the motion controller contain the following information:• ACTUAL POSITION• TARGET POSITION• DRIVE• STA
39read exact values at a position in the plot, move the hairline to the desired position on theplot and read the detail window data.To hide the Detail
4The command deceleration is invalid... 77Both sync bi
40Saving and Restoring PlotsTosaveaplot,followthesesteps:1. Display the plot you wish to save.2. On the File menu, click Save As.3. In the File name b
412. Select the printer and number of copies to print.3. Click OK.Plot TimeThe plot time field controls the time interval between plot samples. Becaus
42support, but also holds bits 16 and 17 of the current count. Therefore, if you are using along enough MDT and are using counts above 65535, then you
43Once the editor window is open, you can type values in the same manner as on the mainwindow. See Changing Data from the Keyboard for details.Additio
44motion controller module will only use the tables stored in its memory. Therefore, youmust upload and download the tables to work on them in the tab
45The Event Step table contains 256 Event Steps. For details on the use of Steps, refer toEvent Control Overview.Changing the Event Step TableChanges
46the above methods. This feature is enabled by default.To toggle this feature on and off:• On the Settings menu, click Adjust Links on Column Operati
47• Double-click the heading of a step.Using any of the above methods when the comment editor is already open will move thekeyboard focus to the comme
48another firmware file.9. The firmware will then be downloaded.Forcing InitializationIt is possible to have the monitor program automatically send th
49it from the command line.Command Line OptionsThe monitor program can be started with various command line options. These optionscan be used to ensur
5CONFIGURATION WORD... 107CONFIGURATIO
50• Xilinx VersionThis version corresponds to the Field Programmable Gate Array (Xilinx) firmware.There is one command available:• New FirmwareThis co
51reduced. This is necessary on some computers that do not give Windows enoughtime to service the serial port queue, and therefore cause serial port o
52Command Info: Mode MODE wordAccel AccelerationDecel DecelerationSpeed Requested SpeedCommand Value Requested position or command valueCommand Any va
53• The command in an event will be executed as soon as a step is reached in the eventsequence.• The next Step in the sequence will be executed as soo
54• TheentiresteptableEach section is protected by a checksum; these checksums are tested on module power-up and reset.Determining if the FLASH Data w
55has stopped.ThenumberedLEDSindicatethestatusoftheaxes.NOTE: There are three transducer errors: No Transducer, Transducer Noise, andTransducer Overfl
56Why use the Motion Profile Table?ThePLCcanissueonlyaCommand and Command Value in a single command cycle.Therefore, the Go command can only give the
57ACCEL10000 12000 15000 18000DECEL10000 12000 15000 18000SPEED10000 12000 15000 18000Profile 8 9 10 (0A) 11 (0B)MODE1111ACCEL100 100 100 200DECEL100
58• If a new Go or Relative Move command is given to the slave axis which removes theSync bit used in the MODE word, then that slave will perform the
59Output±±±±15V ±±±±5% Supplies ±±±±12V ±±±±5% SuppliesCurrent Vout Maximum Vout MaximummA Typ MinLoad ΩΩΩΩTyp MinLoad ΩΩΩΩ10 13.7 12.7 1265 10.7 9.8
60GCurrent Output 2HCommonJCurrent Output 1Hardware SpecificationsInputsIndicatorsInput ImpedanceInput voltage rangeOvervoltage protectionOutputsOutpu
61Communicating with the Quantum ControllerCommunicating with the MMC120Quantum Bus ConfigurationSelect four 3XXXXX registers for inputs and four 4XXX
62registers and 4TTTTT represents the base address for the output registers. These are theaddresses at which the MMC120 is configured.Memory Requireme
63See also:Input Register OverviewOutput Register OverviewProgrammable Controller CommandsInput Register OverviewIn addition to the Output registers,
64(XXXX)4TTTTT+3 0000|0101|XXXX|XXXX(05XX)Requests DRIVE OUTPUT+4 XXXX|XXXX|XXXX|XXXX(XXXX)Data for command on axis 2The following input registers wou
65Programmable Controller CommandsProgrammable Controller CommandsAs described in Output Register Overview, each axis has one command register and one
661514131211109876543210Event Step NumberStepField0R/W111See Event Step Transfer Command for details on these commands.See also:Input Register Overvie
67by the Motion Controller and initializing the Motion Control Module with thoseparameters.The Motion Controller provides a STATUS word for each axis.
68transducer count between interrogations changes too much (indicating noise), red LED 3or 7 will be latched. Check the transducer power supply and ch
69dead band eliminator circuits that make tuning easier.3. If you have a servo motor and a ball screw, is there any backlash? Backlashproduces a dead
7DisclaimerAlthough great effort has been taken to ensure the accuracy of the information in thisdocumentation, it is intended to be used only as a gu
70Curvilinear valves - The flow through these valves increases slowly as the input signalincreases for the first 20% of range. Beyond 20% the flow inc
71Insufficient pump and/or accumulator capacity will cause the system response to degradeduring a move because the effective pressure drops.Pressure t
72If the speeds show:Your valve is probably curvilinear. Replace the valve with a linear one or increase theproportional gain and tune the system for
73With normal gain values, if the graph shows:Your pump and/or accumulator may be inadequate (you are running out of oil). Reducespeed, increase pump
74Parameter ErrorsTarget position moved outside limitsThis parameter error indicates that the axis was about to move its Target Position outsidethe ex
75Attempt to go beyond extend limitThisparametererrorwilloccurwhenevereitheraGo or Relative Move commandrequests that the axis moves to a position bey
76Extend limit must be greater than retract limitThis parameter error indicates that the EXTEND LIMIT was set to a position in whichthe TRANSDUCER COU
77• Decrease the maximum SPEED value.The command acceleration is invalidThis parameter error indicates that an invalid ACCELERATION was given for an O
78If the beginning and ending step numbers are out of range or reversed, this parametererror is generated.Unknown Parameter ErrorAutomatic parameter i
79Hexadecimal: 044Command Value: New DECELERATION value (units depend on Accel/DecelMode in the MODE word)This command sets the DECELERATION parameter
8• Direct connection to Magnetostrictive Displacement Transducers andproportional/servo valve• Isolated inputs and outputs• One millisecond control lo
80Hexadecimal: 047 or 067Command Value: Requested Position, in position unitsThis command requests the axis to move to the requested position specifie
81Set Integral Drive to Null Drive CommandCharacter: iDecimal: 105Hexadecimal: 069Command Value: UnusedThis command sets the Integral Drive to the Nul
82Set Mode CommandCharacter: MDecimal: 77Hexadecimal: 04DCommand Value: New MODE valueThis command sets the MODE to the value in the COMMAND VALUE fie
83CAUTION: Use this command with care! Open Loop operation disables all safetyfeatures on the motion controller!NOTE: The open loop command will not a
84Set Parameters CommandCharacter: P or pDecimal: 80 or 112Hexadecimal: 050 or 080Command Value: UnusedWhen a 'P' command is given all initi
85Command Value: UnusedThis command restores a previously saved Integral Drive value. The Integral Drive valuethat is restored is taken from a buffer
86This command instructs the motion controller to write data to FLASH for storage in caseof power loss or reset. Is the COMMAND VALUE is 1 when this c
87Decimal: 121Hexadecimal: 079Command Value: UnusedThis command begins a new graph immediately. A move can, but doesn’t have to, be inprogress.Program
88ThedataforthecommandOutput register represents the requested position in positionunits.ExampleSuppose you would like to move axis 1 to 5000 position
890X2A 0000|XXXX|0010|1010 SET PROFILE 2 or 6 DECEL0X2B 0000|XXXX|0010|1011 SET PROFILE 2 or 6 SPEED0X2C 0000|XXXX|0010|1100 SET PROFILE 3 or 7 MODE0X
9Principle of OperationPosition MeasurementEach Motion Control Module has interface circuitry for multiple magnetostrictivetransducers. Each axis can
904TTTTT+3 150 (Value of profile 7 ACCEL)Third scan:4TTTTT+0 0X2Ah (Set profile 2 DECEL)4TTTTT+1 70 (Value of profile 2 DECEL)4TTTTT+2 0X2Eh (Set prof
910X3E 0000|XXXX|0011|1110 Set FOLLOWING ERROR0X3F 0000|XXXX|0011|1111 Set AUTO STOPThedataforthecommandOutput register represents the new parameter v
92These commands behave identical to the Open Loop ASCII command, except that thespecified stored profile information is copied into the active MODE,
93Get Profile CommandsFormat: 0000 0000 1010 NNNNN Used for Command Index described belowThese commands allow the programmer to retrieve the motion co
940xAC-0xAF 37The second Input register for the axis will hold the requested data on the scan followingthese commands being issued.Example:We wish to
95At this time, the input registers would hold the following values:3TTTTT+0 XXXXh (Axis 1 STATUS)3TTTTT+1 100 (Profile 2 ACCEL)3TTTTT+2 XXXXh (Axis 2
96These commands allow the Programmable Controller to read the current state of themotion controller initialization parameters. The requested paramete
97commands and update the Synchronization Input register to match. At this time, theinput registers would hold the following values:3TTTTT+1 XXXX|XXXX
98To edit the Event Step table, each of these commands must be issued once to initialize theparameters; this will take four scans. Once the beginning
99Example:If you sent out the following data in the Output registers:CMND (HEX)4TTTTT+1 0000|0011|1111|0101 (03F5) Diagnostic command+2 0001|0010|0100
Comments to this Manuals