Delta Computer Systems VMC 186/40 User manual

Delta Computer Systems, Inc. cannot be held responsible for the performance of any system in which the VMC
186/40 is used in a manner other than that for which it was originally intended, nor of any board which has
been modified by the owner.
Although great effort has been taken to ensure the accuracy of the information in this document, it is intended
to be used only as a guide. Knowledge of motion control, hydraulic servos, electric servos, magnetostrictive
transducers and safety rules is required. Delta Computer Systems, Inc. cannot accept responsibility for
problems resulting from omissions in this document.
VMC 186/40
Motion Controller Module
931104

Contents
Overview....................................................................................................................................................4
Hardware Specifications.............................................................................................................................5
VME Memory Map....................................................................................................................................6
Motion Control Parameters ........................................................................................................................7
Read Only Parameters..................................................................................................................7
Command Position.........................................................................................................7
Target Position...............................................................................................................7
Actual Position...............................................................................................................7
Transducer Counts.........................................................................................................7
Status Word ...................................................................................................................8
Bit Descriptions .............................................................................................................8
Industrial Bus Status Word Bit Map..............................................................................11
Drive..............................................................................................................................12
Target Speed..................................................................................................................12
Null Drive......................................................................................................................12
Reserved Words.............................................................................................................12
Axis Setup Parameters.................................................................................................................12
Clock (Default: N/A,256,2,N/A) ...................................................................................12
VME Status_ID (Default: 0)..........................................................................................12
New Null (Default: 2048) Range: 1844 to 2252...........................................................12
Estop Mask (Default: FFFFH Emergency stop disabled).............................................13
Halt Mask (Default: 0000H Halt enabled)....................................................................13
Interrupt Mask (Default: FFFFH Interrupts disabled) .................................................13
Feed Forward Advance (Default: 0)..............................................................................14
Null Update (Default: 500) Range: 10 - 65535, 0 = disabled........................................14
Minimum Update Time (Default: 1000).......................................................................14
Dither (Default: 0) .........................................................................................................15
Hysteresis (Default: 0)...................................................................................................15
Static Gain (Default: 50)................................................................................................15
Extend Gain (Default: 50)..............................................................................................15
Retract Gain (Default: 50) .............................................................................................15
Integral Gain (Default: 0) ..............................................................................................15
Differential Gain (Default: 0) ........................................................................................16
Extend Feed Forward (Default: 100).............................................................................16
Retract Feed Forward (Default: 100).............................................................................16
Scale (Default: 32768) Range 0 to 65535......................................................................16
Scale Calculation Examples...........................................................................................18
Position Offset (Default: 0)............................................................................................18
Direction (Default: 0) Possible options: 0 and -1 ..........................................................19
Maximum Position Error (Default: 250)........................................................................19
At Command Position (Default: 50)..............................................................................19
Near Command Position (Default: 0) ............................................................................19
Extend Limit (Defaults to actual position on reset).......................................................19
Retract Limit (Defaults to actual position on reset).......................................................20
Dynamic Control Parameters.......................................................................................................20
Mode (Default: 0000H) .................................................................................................20
Acceleration (Default: 1000).........................................................................................21
Deceleration (Default: 1000).........................................................................................21
Requested Speed (Default: 10000)................................................................................21
Requested Position.........................................................................................................22
Command.......................................................................................................................22
How It Works.............................................................................................................................................24

Initialization.................................................................................................................................24
Position Sensing...........................................................................................................................24
Drive Output ................................................................................................................................24
Closing the Loop..........................................................................................................................24
Integral and Differential Gains.....................................................................................................25
Feed Forward ...............................................................................................................................25
Feed Forward Advance................................................................................................................26
Control at Rest .............................................................................................................................26
Control Equations ........................................................................................................................26
Getting Started and Tuning the Axis..........................................................................................................27
Step 1 - Setting Up the Initialization Parameters.........................................................................27
Direction Parameter.......................................................................................................27
Scale Parameter..............................................................................................................27
Position Offset Parameter..............................................................................................28
Step 2 - Moving the Axis.............................................................................................................28
Step 3 - Jogging the Axis.............................................................................................................29
Step 4 - Tuning the Axis..............................................................................................................29
VME Controller Programming Precautions...............................................................................................30
VME Controller Error Handling..................................................................................................30
Key Items to Remember...............................................................................................................30
Front Panel Indicators ................................................................................................................................31
Hardware Configuration Information.........................................................................................................32
Supported VME Bus Address Modifiers .....................................................................................32
Module Jumpers and Removable Resistors .................................................................................32
Magnetostrictive Transducer Interrogation Pulse Polarity ............................................33
Number of Recirculations..............................................................................................33
Dual Port Address Selection..........................................................................................35
Fail Safe Timer Operation .............................................................................................36
Fail Safe Timers Jumpers...............................................................................................36
VME Bus Interrupt Selection ........................................................................................37
Firmware Development .................................................................................................37
Drive Selection.............................................................................................................................38
External Wiring and Site Installation Information.....................................................................................39
Common Problems and Solutions..............................................................................................................41
Repairs and Returns....................................................................................................................................42
Field Module Repair ....................................................................................................................42
Module Returns............................................................................................................................42
Warranty Repairs...........................................................................................................42
Returns...........................................................................................................................42
Glossary......................................................................................................................................................43
ASCII Code Chart......................................................................................................................................44
External Wiring Examples .........................................................................................................................45

VMC 186/40 Motion Control Module Overview
4
Overview
The VMC 186/40 motion controller module was designed to provide a complete four axis position control sub-
system for the VME bus. Each axis is controlled by an on-board processor that provides a complete PID loop
in addition to numerous special functions. Coordinated moves and position changes can be made on-the-fly.
With various options, it is possible to control position using either quadrature encoders, analog slide
potentiometers or magnetostrictive transducers. In its standard configuration, the module provides four
optically isolated magnetostrictive interfaces and four optically isolated ±100 mA ( ±10 volts with resistors
installed) outputs which can be used to drive electric servo motors and hydraulic servo valves.
The VMC 186/40 occupies one slot (two slots if options installed) of the VME rack. Programming of the VMC
186/40 is done using memory reads and writes. The on-board 80186 processor relieves the VME Controller of
the overhead usually associated with servo control. The motion controller module updates the actual position
and drive output every millisecond, assuring accurate positioning even at high speeds.
If more than four axis of control are required, additional VMC 186/40 modules can be installed.
VMC 186/40 Block Diagram
Linear Transducers
Recirculation
& 16 Bit Counter
Logic
VMC 186/40
Isolated
Sensor
Inputs
VME BUS
Isolated
Drive
Outputs
External
Power
Supplies
512 Byte
Dual Port
Memory
+
-10 volts
+
-100 mA
or
VME
Interface
ASBX Analog Board
Analog Inputs (4) QSBX Quadrature Board
SBX 351 RS-232 Board
80186 CPU
& Control
Logic
Quadrature Inputs (4)
Serial Communications
Additional Configurations (one only)

VMC 186/40 Motion Control Module Overview
5
Hardware Specifications
VMC 186/40
12 MHz 80C186 processor
Addressable 512 byte dual port RAM
Bus interrupt for motion control errors or time interval
iSBX connector for options (Serial I/F, Analog or Quadrature Options)
One millisecond control loop time.
Linear resolution to ±0.0005 inches
Maximum velocity up to 120 inches per second using ±0.002 resolution
65535 position counts
Three hardware fail-safe timers
6U VME
Standard Position Inputs
Four optically isolated magnetostrictive transducer interfaces
1.5V return pulse sensitivity
55.5 MHz counters
1, 2 or 4 recirculations (2 default)
Positive or negative interrogating pulse
Drive Four optically isolated servo drives
Servo Drive - ±100 milliamps (±10 volts with 100 ohm resistors installed in sockets)
12 bit digital to analog converters
Power Requirements
5V @ 2.0 amps VME Bus
5V @ 0.5 amps External Sensor
15V @ 0.5 amps External Sensor
-15V @ 0.5 amps External Sensor
15V @ 0.5 amps External Drive
-15V @ 0.5 amps External Drive
All power supply voltages are to be within 5% of the specified voltage.
Sensor power supplies should be independent of drive power supplies.

VMC 186/40 Motion Control Module Memory Map
6
VME Memory Map
Axis 1 0D0000H-0D007FH
Memory Map Using Default Address
Axis 2 0D0080H-0D00FFH
Axis 3 0D0100H-0D017FH
Axis 4 0D0180H-0D01FFH Individual Axis Memory Map
Hex Offset Parameter Name Default Value Descriptions
00H Command Position Read Only Requested Position with limits checked
02H Target Position Read Only Calculated position of axis
04H Actual Position Read Only Scaled position measurement
06H Transducer Counts Read Only Raw transducer counts
08H Status Word Read Only Axis error and status
0AH Drive Read Only Output drive in raw A/D counts (12 bit)
0CH Target Speed Read Only Calculated speed
0EH Null Drive Read Only Current value for null drive
10H-39H 24 Reserved words
40H Axis 1 Free Running Clock
Axis 2 Active Bit Interval
Axis 3 Graph Interval
Axis 4 Reserved
Read Only
256
2
Free running 16 bit counter using millisecond clock
Active Bit toggle interval in milliseconds (Status Word axis 1)
Data capture interval (two millisecond increments)
42H VME Status_ID 0 VME status code for interrupt
44H New Null 2048 (Write Only) Entry for preset drive offset
46H Estop Mask FFFFH Enables emergency stop on errors (Bit = 0 = Enabled)
48H Halt Mask 0000H Enables ramped stop on errors (Bit = 0 = Enabled)
4AH Interrupt Mask FFFFH Enables VME interrupt based on Status Word (Bit = 0 = Enabled)
4CH Feed Forward Advance 0 Time shift in milliseconds for Feed Forward term
4EH Null Update 500 Null calculation interval in milliseconds
50H Minimum Update Time (Axis one only) 1000 Minimum time in microseconds between sensor readings
52H Dither 0 Static friction drive in percent of full drive
54H Hysteresis 0 Deadband compensation
56H Static Gain 50 Proportional gain at rest
58H Extend Gain 50 Proportional gain when extending
5AH Retract Gain 50 Proportional gain when retracting
5CH Integral Gain 0 Integral gain while in motion
5EH Differential Gain 0 Differential gain
60H Extend Feed Forward 100 Feed-forward drive when extending
62H Retract Feed Forward 100 Feed forward drive when retracting
64H Scale 32768 Measured position conversation number
66H Position Offset 0 Fixed position offset
68H Direction 0 Sign of position units with respect to Transducer Counts
6AH Maximum Position Error 250 Set point for position error indication
6CH At Command Position 50 Window around requested position for status bit
6EH Near Command Position 0 Window around requested position for status bit
70H Extend Limit Position on power-up Maximum length allowed
72H Retract Limit Position on power-up Minimum length allowed
74H Mode 0 Function selection bits
76H Acceleration 1000 Acceleration rate or distance
78H Deceleration 1000 Deceleration rate or distance
7AH Requested Speed 1000 Maximum speed during a move
7CH Requested Position N/A Destination position in position units
7EH Command N/A Command to be executed (F, G, H, P,O, R, S)

VMC 186/40 Motion Control Module Control Parameters
7
Motion Control Parameters
The motion control parameters are the means of axis control. A complete understanding of the parameters and
Status Word bits are necessary in order to fully utilize the motion controller's features.
Read Only Parameters
Command Position
The Command Position is the Requested Position with bounds checking applied. If the Requested Position was
outside the Retract or Extend Limit, the Command Position will be truncated to the value of the limit, and the
axis will go only to the limit. The Command Position is updated when a 'G' or GO command is issued using
the Command parameter.
Note: If the requested position is outside the limits, the Parameter Error bit in the Status Word will be set. If
the Halt or Estop masks are enabled for a parameter error, the axis will not move.
Target Position
The Target Position is the calculated position where the axis should be at any moment. When the axis is
moving, the Target Position is updated every millisecond as it moves toward the Command Position. When an
axis is stopped, the Target Position should be the same as the Command Position unless an error has occurred.
Actual Position
The Actual Position is the measured position of the axis at any moment. This position is updated every
millisecond. The Actual Position is obtained from the Transducer Counts with the following formula:
Transducer Counts * Scale
Actual Position = XOR Direction + Offset
32768
If the quadrature encoder (Q option) is installed, the Actual Position is calculated using a different formula.
Please refer to the quadrature addendum for more information.
Transducer Counts
Transducer Counts is the axis position read directly from the transducer without scaling.

VMC 186/40 Motion Control Module Control Parameters
8
Status Word
The Status Word contains 16 bits of information about the axis. Five bits represent some type of motion error
(Lag, Lead, Overdrive, Position Overflow, and Parameter Error) and can be used to trigger a halt or emergency
stop. Seven bits indicate something about the motion profile (At Command Position, Near Command Position,
Halted, Accelerating, At Requested Speed, Decelerating and Stopped) and can be used by the VME Controlled
to monitor the motion profile. Two bits can be used to monitor transducer and drive performance (Transducer
Not Responding, Value Out of Null). One bit (Parameters Initialized) can be used to make sure the VMC
186/40 has accepted control parameters, and another bit (Active) can be used to generate a periodic VME
interrupt.
Status Word Bits
1514131211109876543210
Latched Momentarytoggle
Programmable
axis one
1 Near Command Position
0 At Command Position
2 Halted
3 Accelerating
4 At Requested Speed
5 Decelerating
6 Stopped
7 Active
8 Parameter Error
9 Position Overflow
10 Tranducer Not Responding
11 Valve Out of Null
12 Overdrive
13 Lead Error
14 Lag Error
15 Parameters Initialized
1514131211109876543210
LSBMSB
1514131211109876543210
emergency
If masks
removed,
will cause
a halt or
stop
Always causes
an emergency
stop
Bit Descriptions
The Status Word bits 0, 1, 2, 6, 8, 9 and 11-14 are cleared whenever a 'G' command is given.
Bit 0 = At Command Position
This bit will be set when the difference between the Actual Position and Command Position is less
than the value in the At Command Position field. This bit is latched and is only cleared by a 'G'
command.
Note: This bit will not be set if the axis is halted outside the At Command Position window.
Bit 1 = Near Command Position
This bit is similar to the At Command Position except it is set before or at the same time as the At
Command Position bit - never later (i.e., it has a larger window). The Near Command Position bit is
latched and is only cleared by a 'G' command.

VMC 186/40 Motion Control Module Control Parameters
9
Bit 2 = Halted
This bit is set when the axis has been given a Halt ('H') command or an error has caused a halt and the
axis has come to a stop. While the axis is halted, the Null Update timer will not run. The Halted bit is
cleared when a new command is issued to the axis.
Note: If the VMC 186/40 is left on while the axis power is off or the drive output is disconnected, a
Halt command should be issued to keep the null value from drifting.
Bit 3 = Accelerating
This bit equals one (TRUE) while the axis target is accelerating. It is not latched.
Bit 4 = At Maximum Speed
This bit equals one (TRUE) while the axis target is moving at the speed specified by the Requested
Speed parameter. It is not latched.
Bit 5 = Decelerating
This bit equals one (TRUE) while the axis target is decelerating. It is not latched.
Bit 6 = Stopped
This bit equals one (TRUE) when the average speed of the axis is less than 2000 Transducer Counts
per second. This bit is intended for use as an axis obstruction indication. It is not latched.
Bit 7 = Active
This bit will toggle while the motion controller module is running (axis one only). The interval the bit
toggles is programmable using axis's two Clock Word. The Active bit can be used for a module
watchdog or provide a programmable VME interrupt.
Bit 8 = Parameter Error
This bit will be 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 hard and fast limits may
not always be available. However, the motion controller does try to replace the offending value with
another that is within range. By comparing the values written with the values after the error bit was
set, the offending parameter can be determined. This bit is cleared when a new command is issued.
Bit 9 = Position Overflow
This bit is set when the 16 bit Actual Position is about to overflow. This occurs when the Actual
Position tries to go beyond 65500. The Position Overflow bit is latched and is cleared when a new
command is issued.

VMC 186/40 Motion Control Module Control Parameters
10
Bit 10 = Transducer Not Responding
This bit will indicate when the transducer does not respond with valid data at least once every 10
milliseconds. The transducer data received is compared with previous data. If the two readings differ
by more than 500 counts, the new reading is assumed to be an error. When an error is detected an
emergency stop is made and the corresponding front panel axis indicator will glow red
CAUTION: The Transducer Not Responding bit is not latched. Transducer errors will always cause
emergency stops, but with intermittent errors, the bit may be cleared before the VME Controller sees it. In
this case, the axis will remain stopped with the Halted bit set. It is possible to consistently detect this error
by enabling the Interrupt Mask and responding to a VME interrupt.
Bit 11 = Valve Out Of Null
Normally, when the drive output is zero volts or milliamps, the axis will not move. In hydraulic
applications valves sometimes get dirty and the axis will tend to move even when the drive output is
zero. The motion controller module will try to compensate for this problem, but if more than 10
percent of minimum or maximum drive output is required to hold a static position this error bit will be
set. It will be cleared when a 'G' Go command is used.
Bit 12 = Overdrive
This bit is set when the calculated drive output would exceed the 12 bit range of the A/D converter.
Usually this error is an indication the system does not have enough power to drive the axis at the
requested speed. The computer will truncate the drive to 12 bits. The Overdrive bit is latched and is
cleared when a new command is issued.
Bit 13 = Lead Error
Lead is a condition where the actual position gets ahead of the target position. This bit will be set
when the actual position leads the target position by more than the amount specified by the Maximum
Error parameter. Lead errors can occur if the feed forward is too high or the axis response is too slow
to respond to the output while ramping down. In the first case, the feed forward should be decreased.
In the second case, the Feed Forward Advance should be increased or the deceleration ramp should be
lengthened. The Lead error bit is latched and is cleared when a new command is issued.
Bit 14 = Lag Error
Lag is a condition where the actual position falls behind the target position. This bit will be set when
the actual position lags the target position by more than the amount specified by the Maximum Error
parameter. Lag errors can occur if the Feed Forward is too low or the Feed Forward Advance is set
too high. In the first case, the Feed Forward should be increased. In the second case, the Feed
Forward Advance should be decreased. The Lag error bit is latched and is cleared when a new
command is issued.
Bit 15 = Parameters Initialized
This bit is set after a parameter or 'P' command. Until this bit is set, the axis will not respond to any go
'G' commands. This bit is reset whenever the module is reset.

VMC 186/40 Motion Control Module Control Parameters
11
Industrial Bus Status Word Bit Map
The axis Status Word contains 16 bits of information about the status of the axis. The hexadecimal table
provides an easy method to convert bit patterns to hexadecimal numbers.
F 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
E 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0
Hexadecimal To D 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1
Binary Conversion C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
Table B 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
A 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
9 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1
8 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0
7 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1
6 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
4 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
2 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
_______ _______ _______ _______
| |*|*|*| | | |*|*| | |*| | | | | | | |
|1|1|1|1| |1|1| | | | | | | | | | | | |
|5|4|3|2| |1|0|9|8| |7|6|5|4| |3|2|1|0|
Bit Definition |_|_|_|_| |_|_|_|_| |_|_|_|_| |_|_|_|_|
-------------- / / / / / / / / / / / / / / / /
Parameters Initialized --- 15 -/ / / / / / / / / / / / / / / /
*Lag Error ---------------- 14 --/ / / / / / / / / / / / / / /
*Lead Error --------------- 13 ---/ / / / / / / / / / / / / /
*Overdrive --------------- 12 ----/ / / / / / / / / / / / /
/ / / / / / / / / / / /
Valve Out Of Null -------- 11 ------/ / / / / / / / / / / /
**Transducer Not Responding 10 -------/ / / / / / / / / / /
*Position Overflow -------- 09 --------/ / / / / / / / / /
*Parameter Error ---------- 08 ---------/ / / / / / / / /
/ / / / / / / /
Active (axis 1 only) ----- 07 -----------/ / / / / / / /
*Stopped ------------------ 06 ------------/ / / / / / /
Decelerating ------------- 05 -------------/ / / / / /
At Requested Speed ------- 04 --------------/ / / / /
/ / / /
Accelerating ------------- 03 ----------------/ / / /
Halted ------------------- 02 -----------------/ / /
Near Command Position ---- 01 ------------------/ /
At Command Position ------ 00 -------------------/
* Can cause a halt or emergency stop if the corresponding bits are clear in the appropriate mask register.
** Will cause an emergency stop no matter what the Estop mask register is set to.

VMC 186/40 Motion Control Module Control Parameters
12
Drive
Drive is the output to the actuator. The 12 bit digital value output (0 - full negative drive to 4095 - full positive
drive) will cause a ±100 milliamp drive current). Null drive should be about 2048.
Note: Null adjustments are done in software using New Null and Null Update (see page 14). When using
valves with an amplifier card, it may be possible to adjust the null using its adjustments.
Target Speed
Target Speed is the calculated speed at which the axis should be moving at any point in time.
Null Drive
Null Drive is the current value of the null drive. The value can be read by the VME controller and saved for
later use. The Null Drive value is updated at intervals specified by the Null Update parameter.
Reserved Words
When the VMC 186/40 has the analog option installed, these memory location are used for additional
parameters. Also, custom application programs may use these locations.
Axis Setup Parameters
Clock (Default: N/A,256,2,N/A)
The Clock parameter is used for four separate functions. On axis one this field provides access to a one
millisecond free running 16 bit counter. On axis two, the toggle interval for the Status Word's Active bit. is
programmed. The toggle interval can be programmed from 0 to 65535. If programmed with a 0, a one
millisecond interval will be assumed. On axis three the interval at which the graph information is saved is
programmed. The graph interval can be programmed in two millisecond increments. Axis four is not used.
VME Status_ID (Default: 0)
During the VME interrupt cycle the lower byte of the VME Status_ID value is put on the VME bus. If the
value reflects the axis number, the interrupt handler can easily determined which axis created the interrupt.
Note: If more than one axis creates an interrupt, the VME Status_ID will reflect the last axis to cause an
interrupt.
New Null (Default: 2048) Range: 1844 to 2252
Sometimes it is desirable to set the internal null value of an axis. The motion controller will set the initial null
to 2048 on start-up which should be neutral drive. In reality, the true value for null may be slightly different
and therefore cause a small bump in the position of the axis. If the real value for null is between 1844 and
2252, the value can be entered here on start-up so the bump in position will not occur.
See Null Update parameter description on page 14. If a value outside the range is used, it will be ignored (set
to 0).

VMC 186/40 Motion Control Module Control Parameters
13
Estop Mask (Default: FFFFH Emergency stop disabled)
The bits in the Estop Mask field have a one-to-one correspondence with the bits in the Status Word. The bits in
this field are used to mask out the emergency stop that occurs when an error bit is set in the Status Word.
During an emergency stop, the drive output is immediately set to null and held there until a new command is
issued. To enable an emergency stop on an error condition, the appropriate bit must be cleared in both the Halt
Mask and the Estop Mask.
Halt Mask (Default: 0000H HALT enabled)
Like the Estop Mask, the bits in the Halt Mask field have a one-to-one correspondence with the bits in the
Status Word. The bits in this field are used to mask out the automatic halt that occurs when an error bit is set in
the Status Word. On start-up, this field is zero and any error will cause a halt. For applications where two or
more axes are moving together, the VME controller should mask out the automatic halts and take responsibility
for handling any errors. See the error handling section on page 30.
Status Word, Halt and Estop Masks
1514131211109876543210Halt Mask
1514131211109876543210Estop Mask
Axis
Emergency
Halt
Stop
= CFFF
= EFFF
Lead error causes a Halt and Overdrive causes an emergency stop
1514131211109876543210Status Word
= B000
Interrupt Mask (Default: FFFFH Interrupts disabled)
The bits in the Interrupt Mask are used to selectively enable interrupts. By clearing bit 12 of the mask, the
VMC 186/40 can generate a overdrive error interrupt when an overdrive condition is detected. This word only
needs to be used if the VME controller is configured to accept a bus interrupt. On start-up, this word is FFFFH.
Therefore, all of the interrupts are disabled.
1514131211109876543210Interrupt Mask
= EFFF
1514131211109876543210Status Word
= B000
Overdrive error causes a VME interrupt
VME
Interrupt
Will not
cause
an
interrupt

VMC 186/40 Motion Control Module Control Parameters
14
Feed Forward Advance (Default: 0)
If an axis will not respond to a change in the drive output until some time has passed, a large position error will
be generated. This can happen in applications that are moving large masses or have slow valves. By using
Feed Forward Advance, the motion controller can time shift the feed forward portion of its drive output by the
number of milliseconds specified.
Feed forward advance is implemented by delaying the target position and target speed of the axis with respect
to the feed forward portion of the drive output by the Feed Forward Advance time. This can compensate for an
axis with a slow response time so the target and actual positions track more closely. Always use the minimum
amount to get the desired results. Both the target position and target speed will appear to be delayed with
respect to the drive output by the Feed Forward Advance time. One could also call this a target delay time.
Note: If the motion on two or more axes is being coordinated, Feed Forward Advance should be set the same.
Null Update (Default: 500) Range: 10 - 65535, 0 = disabled
Null Update is the time in milliseconds that the drive null is checked and the value for Null Drive is updated.
Null Drive on an ideal system should be zero milliamps (0 volts) or 2048 output to the digital to analog
converter. In a real system, a zero milliamp output may cause the axis to drift slowly so the real value of null
drive is something other than 2048.
When the axis is at the requested position, (had not been halted), the actual position is compared with the target
position at the interval specified by Null Update. If the actual position is greater than the target position, the
value of null drive is decreased by one. If the actual position is less than the target position, the value of null
drive is increased by one. This minimum value depends on the response of the system. For slow valves, use a
larger value in the range of 500-1000.
Note: The system will start to oscillate if the interval is too small, so decrease this number with caution. This
value is only meant to correct for the imperfections in the axis' null, not to aid the position error gain to quickly
get the actual position to the command position. Fast response systems may work better with Null Update
set to 0 (disabled).
Minimum Update Time (Default: 1000)
Minimum Update Time is used to specify the minimum interval between position updates for the transducer. It
is possible for the transducer to generate position update interrupts in less then a hundred microseconds. The
default value allows each axis to be read every millisecond. The range of acceptable values is 0 to 2000
If the value is 0, the transducer position update interrupts will occur synchronously with the PID loop
calculations every millisecond. Using synchronous readings provides a means to determine exactly when the
position data is read. This reduces the variance between the measured position and actual position. Any
variance may create control errors when the VMC 186/40 is used with a high speed target.
If a value other than 0 is used, its range should be between 250 to 2000. The transducer position measurement
will not be synchronized to the system clock, but will be free running. This means the transducer position is
updated as often as possible. When the rod is retracted (position at a minimum), the updates can be so frequent
that all of the processing time of the VMC 186/40 can be used.
Minimum Update Time is specified using axis one. There is only one setting for all four axes. The other axes
parameters are unused.

VMC 186/40 Motion Control Module Control Parameters
15
Dither (Default: 0)
The Dither value is the amplitude, in percent of full drive, of a 500 Hz square wave that is superimposed on the
normal drive output. A value of 10 will cause a square wave of 10% of the drive to be applied on top of the
normal output. This keeps the valve free and improves valve response. Leave this parameter at zero unless the
valve manufacturer recommends that dither be used. Dither is applied only when the axis is at rest.
Hysteresis (Default: 0)
Hysteresis is used to compensate for drive dead band. Some valves and drives will not react to small changes
in output around the null drive value. The Hysteresis value is added or subtracted from the drive output,
depending on the direction of travel. The drive output should then be outside of the dead band.
CAUTION: Do not make this value too big or the drive will oscillate.
Static Gain (Default: 50)
Static Gain specifies the amount of drive added to the drive output for a given amount of position error while
the axis is at rest. Static Gain is given in number of counts of drive per 100 units of error. The Static Gain
should be set as high as possible without causing the axis to oscillate. See Maximum Position Error parameter
on page 19.
CAUTION: Increase the Static Gain slowly. Excessive gain can cause oscillations that could damage both man
and machine.
Extend Gain (Default: 50)
Extend Gain is similar to the Static Gain, except it applies when the axis is extending. The gain while moving
can usually be a little higher than at rest. This will allow tighter control of the axis while moving. (Extending
is the direction that returns increasing transducer counts.)
Retract Gain (Default: 50)
The Retract Gain is similar to the Extend Gain except it is used for retracting only.
Integral Gain (Default: 0)
The Integral Gain is used to adjust the drive provided by the integrator while the axis is moving. The Integral
Gain field should be adjusted after the feed forwards have been set to optimal values. Using the integrator
before the feed forward's have been set properly will cause the system to overshoot at the set point.
When a 'G' command is issued, the integrator starts adding the position error (actual position - target position)
to an accumulator every millisecond. As long as the error is not approaching zero or has not changed sign, it is
added to the accumulator. When the axis starts ramping down, the accumulator is decremented at a rate
calculated to bring the value to zero when the axis stops. The drive provided by the integrator is given by:
Integral Gain * Accumulator
Integral Drive =
20,000

VMC 186/40 Motion Control Module Control Parameters
16
Differential Gain (Default: 0)
The Differential Gain field is used to control the differentiator. The differentiator may be used on systems that
have slow response. The differentiator looks at the change in error between the target and actual positions over
the last 20 milliseconds. The change in error is multiplied by the Differential Gain value to get the differential
drive.
Differentiator Drive = (Error(t) - Error(t-20)) * Differential Gain
CAUTION: During initial tuning, start with low values such as 10 to avoid oscillations.
Extend Feed Forward (Default: 100)
Tip: Use the 'F' command to automatically set feed forward values (see page 22).
Feed forward is an open loop drive which is proportional to the target speed of the axis. This value is
expressed in terms of counts of drive per 10,000 position units per second. Extend Feed Forward drive is
added to the drive output only when the axis is extending. The drive provided by the extend feed forward is
determined as follows:
Extend Feed Forward * Target Speed
Feed Forward Drive =
10,000
The appropriate value for Extend Feed Forward can be found by making a move with the axis using a
Requested Speed of 10,000. The amount of output drive required to maintain the speed should be used as the
Extend Feed Forward parameter. If, after the parameter has been set, lag errors occur, the feed forward is too
small or the system response is too slow. If lead errors occur, the feed forward is too big or the system
response is too slow. The 'F' command used after an extend move on the axis will automatically adjust the
Extend Feed Forward parameter.
Retract Feed Forward (Default: 100)
Same as Extend Feed Forward and used when retracting.
Scale (Default: 32768) Range 0 to 65535
TIP: Delta's DCSMON provides an easy way to work with Scale. Use DCSMON's commands P0 and P1 to
help calculate Scale , Offset and Direction.
Note: Scale is used differently when either the quadrature or analog options are used. If installed, see separate
addendum for more information.
The Scale parameter is a multiplier used to convert transducer counts to a physical position. For example: if
each transducer count equals 0.001 inches of physical travel and the desired position resolution is 0.001 inches,
then the multiplier would be 1. However, if one transducer count equals .0012 inches of physical travel, then a
multiplier of 1.2 would be used. Since the VMC 186/40 only understands 16 bit unsigned integer numbers, 0 is
used for a multiplier of 0, 32768 for a multiplier of 1 and 65535 for a multiplier of 1.999.
By using the Scale parameter, transducer counts can be expressed in any standard measurement increment
(inches, mm, etc.). A number of the VMC 186/40 parameters are expressed in position units to make it easier
to visualize the effect of the parameter. Position units can be 0.001", 0.1 mm, etc. However, the primary use
for the Scale parameter is to compensate for variations in magnetostrictive transducers.

VMC 186/40 Motion Control Module Control Parameters
17
The value used for the Scale parameter is affected by the number or recirculations selected (hardware jumper).
Recirculation selection is based on the transducer length and desired position resolution. When using four
recirculations, the most common position resolution is 0.0005". With two recirculations, the position resolution
is usually 0.001" and with one recirculation it is 0.002" or 0.05 mm. For more information on recirculation see
page 33.
Linear transducers have a calibration number (typically 9.1 µs per inch) and the VMC 186/40 has a 55.5 MHz
oscillator for transducer position measurement counters. To determine the Scale for a magnetostrictive
transducer use the following formula:
32768
Scale =
Position Unit * Cal Number * 55.5 * Number of Recirculations
The calibration number must be specified in the same base units as the position units (inches, mm, etc.). If the
calibration number is expressed in inches then position units would be expressed in inches (i.e. 9.1392
microseconds per inch for a calibration number and .001 inch resolution is desired)
The Scale parameter can also be adjusted or fine tuned by using position readings from the VMC 186/40 and
actual physical measurements in the following formula:
Position Reading 1 - Position Reading 2
Scale = Old Scale *
Measured Position 1 - Measured Position 2
Where Old Scale is the default Scale or a previously calculated Scale, and measured position is in position units
(thousandth of an inch, etc.) from a physical measurement of the system. Position readings are taken using the
Actual Position parameter.
Note: If a negative value is obtained for Scale, the absolute value must be used and the Direction parameter
changed from 0 to -1 or vice versa. Also, when the Scale parameter is changed, the Extend Limit, Retract Limit
and Offset must also be changed.

VMC 186/40 Motion Control Module Control Parameters
18
Scale Calculation Examples
Example 1
For a system using a magnetostrictive transducer with a calibration number of 9.1392, a position unit
equal to one thousandths of an inch, and two recirculations, the Scale will be found as follows:
32768
Scale = = 32301
.001 * 9.1392 * 55.5 * 2
Example 2
For a system using a magnetostrictive transducer with a calibration number of 9.0110, a position unit
equal to one tenth of a millimeter, and one recirculation, the Scale will be found as follows:
32768
Scale = = 16642
.003937"(.1mm) * 9.0110 * 55.5 * 1
Fine tuning for example 2
Measured Position 1 = 1 meter = 10,000 position units
Position Reading 1 = 10873
Measured Position 2 = 2 meters = 20,000 position units
Position Reading 2 = 20805
10873 - 20805 -9932
Scale = 16642(Old Scale) * = * 16642 = 16529
10000 - 20000 -10000
Position Offset (Default: 0)
Offset is used to offset the Actual Position with respect to the transducer zero. The Offset is specified in
position units and is equal to the Actual Position at zero transducer counts.
CAUTION: When using the Offset parameter, you must be familiar with the limitations of 16 bit math.

VMC 186/40 Motion Control Module Control Parameters
19
Direction (Default: 0) Possible options: 0 and -1
The Direction parameter determines whether the actual position increases or decreases as the transducer counts
increase. A zero produces a direct relation between actual counts and transducer counts while a -1 (65535 or
0FFFFH) results in an inverse relationship between the two counts. The actual position is determined as
follows:
Transducer Counts * Scale
Actual Position = XOR Direction + Offset
32768
XOR has the effect of multiplying by -1 when Direction = -1 and multiplying by 1 when Direction =
0.
Note: When the Direction parameter is changed, the sign of the Extend Limit, Retract Limit and Offset must
also be changed. Extending is always the direction which increases transducer counts.
CAUTION: When using the Direction parameter, you must be familiar with the limitations of 16 bit math.
Maximum Position Error (Default: 250)
The Maximum Position Error determines how large the difference between the target position and actual
position can get before the lag error or lead error bits are set in the Status Word. The Maximum Position Error
also limits the proportional term of the drive output due to a position error to:
Proportional Gain * Maximum Position Error
Maximum Proportional Drive =
100
Proportional Gain represents the Extend or Retract Gain parameters.
At Command Position (Default: 50)
At Command Position specifies the size of a window around the Command Position. When the actual position
gets within this window, the At Command Position bit is set in the Status Word. The size of the window is
expressed in position units.
Near Command Position (Default: 0)
The Near Command Position is similar to the At Command Position. The Near Command Position window
should be wider than the At Command Position window unless the Near Command Position is to be ignored, in
which case it should be set to 0. This parameter is useful in letting the VME controller know the axis is out of
the way of some other equipment. The size of the window is expressed in position units.
Extend Limit (Defaults to actual position on reset)
The Extend Limit specifies the maximum value that the VMC 186/40 will allow as a Command Position.
(When Direction = -1 (65535), this is a minimum value.) Requested positions that exceed this value will be
truncated. The Extend Limit is given in position units.
Note: The Extend Limit must be changed when the Direction, Scale or Offset parameters are changed. Also, on
start-up the Extend Limit defaults to the current position of the axis. New Extend and Retract Limits must be
issued using a 'P' command before the axis will move.

VMC 186/40 Motion Control Module Control Parameters
20
Retract Limit (Defaults to actual position on reset)
The Retract Limit specifies the minimum value the VMC 186/40 will allow as a command position. (When
Direction = -1, this is a maximum value.) Requested positions below this value will be truncated. The Retract
Limit is given in position units. The Retract Limit must be changed when the Scale, Offset or Direction
parameters are changed.
Dynamic Control Parameters
The motion control parameters Mode, Acceleration, Deceleration , Requested Speed, Requested Position and
Command can be changed while the axis is in motion. Changing these parameters while the axis is in motion
permits complex motion profiles to be executed as well as complete open loop control.
Mode (Default: 0000H)
The Mode parameter is used to select special features. Each bit represents a separate feature or option.
Bit 0 = Acceleration and Deceleration
This bit selects the acceleration and deceleration mode. It determines how the values in the
Deceleration and Acceleration fields are to be interpreted. If this bit is cleared, the values are
interpreted as a ramp distance in position units. If set, the value is interpreted as an acceleration or
deceleration rate.
BIT 1 = Reserved
Always have bit cleared.
BIT 2 = Unipolar Drive
When this bit is set, the drive is always positive (0 to 100 mA). In some applications extending and
retracting are determined by external hardware and negative drive would not be used. This mode only
affects the drive, the VMC 186/40 still expects to see the transducer counts decrease when retracting
(even through the drive will be positive when retracting).
BIT 3 = Simulator
When set, this bit enables the axis simulator mode. In the simulator mode, the VMC 186/40 ignores
the sensor inputs and sets the drive at null. When a 'G' command is given, the VMC 186/40
automatically copies the calculated target position into the actual position. This means the controller
will execute a "perfect" move. The simulator mode permits testing of the VME controller routines
without affecting or being affected by external hardware.
BIT 4 = Synchronize A
When set, the axis will synchronize its moves with all other axes having the same synchronize bit set.
Not only will the moves be started at the same time, but they will finish at the same time.
Acceleration, speed and deceleration for all axes are keyed to the axis with the furthest to travel. This
axis's requested speed is used to calculate the other axes acceleration, speed and deceleration. A 'G'
command is issued to the axis with the furthest to travel and then all the axes will begin their move.
If a condition causes a synchronized axis to halt or stop, all synchronized axes will respond the same.
However, enabling the Halt or Estop masks on one synchronized axis does not enable the masks on
the other synchronized axes.
BIT 5 = Synchronize B
If more than one group of axes need to be synchronized, this bit is set in the second group.
BIT 6 = Enable Pressure Mode
If set, the pressure mode for the A (analog) option is used. See the VMC 186/40A addendum for more
information.
BIT 7 = Reserved
Always have bit cleared.
Table of contents
Other Delta Computer Systems Control Unit manuals
Popular Control Unit manuals by other brands

Honeywell
Honeywell W7212 Product data

Cross Technologies
Cross Technologies 1586-04-0431 instruction manual

Cycle Stop Valves
Cycle Stop Valves CSV1A installation instructions

Festo
Festo CAMC-G-S3 Translation of the original instructions

OLIMEX
OLIMEX STMP15 SOM Series user manual

NOVA Swiss
NOVA Swiss NV Series Repair instructions

Eaton
Eaton Crouse-hinds series operating instructions

Control Techniques
Control Techniques UD70 user guide

ElMod
ElMod ThinkTank Tank Module ECO Flex Instructions for Assembly and Handling

Nexcom
Nexcom NEIO-B1812 Quick reference guide

Energeeks
Energeeks EG-VALVKIT001 Quick installation guide

Comelit
Comelit Simplebus2 Ultra UT2020 Technical manual