------------------------------------
Precision MicroControl Corp.
Motion Control API - Version 3.4.1
31-Oct-2003
ReadMe File
------------------------------------
How to use this document
========================
To view Readme.txt on screen in Notepad, maximize the Notepad window.
To print Readme.txt, open it in Notepad or another word processor, then
use the Print command on the File menu.
Contents
========
- What's New
- Upgrading Windows 98/Me
- Installing The Motion Control API
* Windows 2000/XP Installation
* Windows NT Installation
* Windows 98/Me Installation
- Syntax Coloring
- Contacting Technical Support
What's New
==========
Version 3.4.1
-------------
New Features
- MCSpy now color codes control characters (new lines, carriage returns, etc.)
when capturing data in ASCII mode. This allows the user to discern a true
control character such as a line feed (\n) from the string "\n". This change
makes it easier to verify that all MCCL comand lines end with a proper
carriage return (\r) or line feed (\n) character (BR #93).
- The MCOEM32.DLL DLL has been eliminated for default configurations and is now
only needed if an OEM has provided special configuration settings. This will
make it easier for OEMs to manage the MCOEM32 DLL (BR #98).
Bug Fixes
- The descriptions for pmcputs() / pmcgets() have been updated in the MCAPI
Reference online help (BR #92).
- Fixed a bug in the code that converted MCCL opcodes to ASCII that caused
Opcodes greater than 295 to be incorrectly decoded. This bug caused a rare
problem (mnemonics affected are rarely used and mostly impacted the MCSpy
utility) (BR #94).
- The learn button in the joystick demo program was not adding markers to the
plot window like the joystick button #1 does, it has been fixed (BR #95).
- There was a problem in version 3.4.0 getting the DC2 to work with WinControl in
some cases. This has been fixed (BR #96).
- A bug in the low-level device driver for Windows NT4 could cause the driver to
appear to load correclty but fail to allow communications with the controller,
this has been fixed (BR #97).
- A bug in the low-level driver for NT4 that prevented proper operation with the
DC2-PC controller was fixed (BR #99).
- Fixed a problem under Windows NT4 where the driver was not getting put into
auto start mode following a successful controller configuration. This made it
impossible for any user without administrator priveleges to start a MCAPI
application (BR #100).
- Corrected a configuration problem under NT4 where an ISA-Bus controller
configured at a non-default address would have its address reset to the default
when opened by the Motion Control control panel applet (BR #101).
- A problem with calling MCReset() when both ASCII mode and Binary mode handles are
open (the MCAPI would lock up) has been fixed (BR #102).
- On Windows NT4 you recent versions of the MCAPI have required you to re-boot after
configuring a new controller. This has been fixed and the re-boot is no longer
required (BR #103).
- Fixed a bug where the MCAPI was reporting too many available general purpose
analog output channels on the MFX-PCI. The MFX-PCI includes the servo control
analog outputs in its channel count, the MCAPI now subtracts the servo outputs
from the total to arrive at the number of general purpose outputs (BR #104).
- In the Joystick demo program the front panel display button for the Y-Axis was
changing the X-Axis description
Version 3.4.0
-------------
New Features
- MCSpy now uses dynamic linking to allow it to work on older versions of
the MCAPI (may be used on systems with MCAPI version 2.20 or later).
- The joystick demo program has an improved interface with easier access
to display settings and better graphics.
- The C-Language dynamic linking files have been re-worked to make them
provide additional compile-time diagnostic information and to work
better with MFC / ATL / WTL programs.
- The C-Language header files have been enhanced to better support
LabWindows/CVI programming.
- Separate semaphores for the ASCII and the Binary interface are now
used by MCAPI to improve performance of applications that use
multiple controller interfaces (BR #9).
- The Pos and Status utilities now use dynamic linking and will work with
versions of the MCAPI as old as 3.0.0.
- The Pos utility can now display data from multiple controllers at once
and also offers multi-column display modes (1, 2, or 4 columns).
- Added support for position recording "recording interval" and "delay"
commands to the DCX-AT200, requires latest DCX-AT200 firmware (BR #83).
- A new sample program for the Visual Basic .NET language has been added,
as have Visual Basic .NET include files MCAPI32.VB and MCDLG32.VB
The new sample may be found in the Sources\VBDemo.NET folder in the MCAPI
installation folder.
- A new sample program for the Borland C++ Builder development platform
has been added, the new sample may be found in the Sources\BCBDemo
folder in the MCAPI installation folder.
- The MCAXISCONGFIG and MCPARAMEX structures have been extended with
additional system configuration fields.
- An extended version of the get and set analog functions - MCGetAnalogEx()
and MCSetANalogEx() - have been added to make it easier for Visual Basic
programs to work with analog inputs and outputs (BR #72).
- The function MCEnableEncoderFault() was added to support the encoder fault
detection feature of the Multiflex controllers (BR #74).
- The function MCgetVelocityActual() was added to support the reading of
the instantaneous actual velocity of an axis (BR #82).
- Extended version of pmcgetram() and pmcputram() (pmcgetramex()/pmcputramex())
were added to allow access to the full 32-bit address space of newer
motion controllers.
Bug Fixes
- Fixed a bug in Windows 98/ME where removing a motion controller from the
device manager could lead to a Blue Screen of Death - BSOD (BR #86).
- Fixed bug introduced into the JoyDemo program in release 3.3.0 where for
controllers other than the MFX-PCI1000 the displays would remain blank.
Changing the error checking to use the return value of the MCGetStatusEx()
call fixes the problem (BR #79).
- A bug in the low-level MCAPI routines that could cause a large reply to
be truncated has been fixed (affects all controller models except the
DC2), this is only a problem for programs that use the low-level
interface (BR #85).
Version 3.3.0
-------------
New Features
- Added support for MFX-PCI 1000-series Motion Controllers.
- Improvements to firmware loading of PCI controllers during Windows 98/ME.
startup (now similar to Windows NT/2000/XP), MCSTART.EXE no longer required.
- All controllers (except RS232 and GPIB) now installed via the Windows Add
New Hardware on Plug-and-Play versions of Windows (everything but NT4).
- Added additional Visual Basic samples to online help (BR #37-#41).
- The MCSpy Utility (helpful for debugging motion control programs) is now
included with the MCAPI (installed with the development component).
- New functions MCGetStatusEx() and MCDecodeStatusEx() to provide support for
the new status word layout on the DC4-PCI6xx. These functions are backward
compatible with existing controllers. Also added status word constants
MC_STAT_PRI_ENC_FAULT, MC_STAT_AUX_ENC_FAULT, MC_STAT_LOOK_AUX_IDX, and
MC_STAT_AUX_IDX_FND.
- Added MCEnableInterrupts() for status word interrupts on MFX-PCI.
Bug Fixes
- Fixed problem with functions that use extended commands (BR #15).
- Added additional precision to values stored by MCDLG_SaveAxes() so
that very small values are saved correctly (BR #23).
- The Output Deadband mnemonic was incorrectly specified in the MCCL.H
file for DCX series controllers - was OD, now correct as OB (BR #29).
- Fix for problem with endless loop in select controller dialog on
PasDemo (BR #31).
- Fixed error message reporting in VBDemo during select controller
dialog where no error code was being shown (BR #32).
- Fixed error message formatting in PasDemo (BR #33).
- Updated MCAPI reporting of MC360 stepper rates to match current
product specs (MC362 was already current).
- Fixed prototype for MCWaitForIndex() in VB and Delphi headers, online
help (BR #35).
- Fixed online help formatting (missing tabs) of MCDLG_ControllerInfo() and
MCDLG_SelectController() (BR #30).
- Typo's corrected in the online help C/C++ Digital I/O Sample (BR #55).
- Typo's corrected in the online help C/C++ Capture Data Sample (BR #56).
Version 3.2.1
-------------
New Features
- Web link added to About Box of sample programs (BR #8).
Bug Fixes
- Phase selection box in stepper setup dialog (MCDLG_ConfigureAxis()) is
now enabled for MC360 steppers in closed loop mode (BR #1).
- Missing prototype for MCSetTorque() has been added to MCAPI.BAS (BR #3).
- Error in prototype for MCGetCaptureData() corrected in MCAPI.BAS (BR #4).
Version 3.2.0
-------------
New Features
- Support for MC302 (dual servo) and MC362 (dual stepper) modules.
- Support added for setting commutation parameters on the MC320 module.
- New Status panel utility provides full graphical decoding of the status
word on any axis.
- Added functions MCEdgeArm(), MCIsEdgefound(), and MCIsIndexfound() to help
simplify homing of steppers and servos.
- Closed loop stepper support on DCX-PCI300 and DCX-AT300, including functions
to set/get module input mode (MCGetModuleInputMode() / MCGetModuleInputMode()).
- The MCDLG_ConfigureAxis() function supports closed-loop stepper parameters.
- MCDLG_RestoreAxis() and MCDLG_SaveAxis() now include the integral option and
input mode parameters, as well as closed-loop stepper parameters.
- Support in API and MCDLG for integral option setting on advanced controllers.
- PasDemo and VBDemo are now identical in feature and operation to the CWDemo
sample. The ability to select a controller and auto-initialize a motor's
settings was added to PasDemo and VBDemo.
- CWDemo, VBDemo, and PasDemo now only set an axis to Position Mode if they
can't verify the axis is already in Position Mode (uses new MCGetOperatingMode()
function), making them more useful (fewer unintended consequences) when other
motion programs are running.
Bug Fixes
- MCIndexArm() support was fixed for the DCX-PCI100 and DCX-PC100 controllers.
- An error in MCIsDigitalFilter() when called with the axis number set to
MC_ALL_AXES has been corrected.
- An error in the definition of the MCParamEx data structure in MCAPI32.BAS has
been corrected (the CanChangeRates field had been incorrectly omitted).
- MCDLG_RestoreAxis() will return an error (MCERR_NOT_FOUND) if data for the
specified axis cannot be found.
Version 3.1.0
-------------
New Features
- Support for the PCI-Bus DCX-PCI100 added.
- Improved multi-threading support for multiple controllers, provides better
throughput in a multi-threaded / multi-controller applications.
- Support for the invert limits flag on the DCX-PC100 (ISA-Bus) added.
- Added support functions for the Digital Filter mode of MC300 series servo
modules.
- Added functions for the high speed capture and compare modes of MC3xx series
modules.
- CWdemo and WinCtl will now restore controller settings if Auto-Initialize is
selected and a Reset is performed (using the menu option).
Bug Fixes
- Further improvements to the DCX-PCI300 firmware download under Windows 98.
- Improved handling of the DCX-PCI reset to ensure reset has completed before
programs may proceed.
- Improved handling of legacy bus controllers under Windows 98 (DCX-AT, DCX-PC).
- Many corrections and editions to Online Help, improved formatting.
Version 3.0.2
-------------
New Features
- Improved support for the DCX-PCI300 under Windows 98 / Windows Me.
- MCAPI driver now logs any errors to MCAPI.LOG (located in the \Windows
folder) under Windows 98 / Windows Me. It continues to log errors in
the Event Log for Windows NT/2000.
- The Installation Program now allows you to install the MCAPI for all
users under Windows NT/2000.
Bug Fixes
- MCBlockEnd() was returning MCERR_CONTROLLER when it should have been
returning MCERR_NOERROR.
- The new controller wizard would fail to run on Windows NT 4 if that
had not had an updated copy of Internet Explorer installed.
Version 3.0.1
-------------
New Features
- Full support for Windows 98, Windows Me, Windows NT, and Windows 2000.
- Startup menu group program MCStart auto-starts PCI cards under
Windows 98.
Bug Fixes
- DCX-PCI300 configuration info was incorrectly reporting the on-board analog
input channels as four, should have been zero (fixed).
- Control Panel works correctly under all platforms.
Version 3.0.0
-------------
New Features
- This version provides support, including Plug and Play, for the new
PCI-Bus DCX-PCI300 controller.
- A new extended version of MCGetConfiguration() - MCGetConfigurationEx()
provides more complete controller configuration information.
- A function to report static motor axis configuration -
MCGetAxisConfiguration() has been added.
- Extended versions of the controller/module description functions have been
added to the Motion Dialog package.
- The LED window from the Motion Dialog package has improved drawing code and
should work better with non-standard (i.e. custom) color schemes.
- Supports Windows NT4/2000/XP (current beta).
- This version supports the Plug and Play DCX-PCI300 controller.
- CWDemo's auto-display precision calculation has been improved and will
now detect scaling changes without having to restart the program.
- WinControl supports dragging and dropping of command files.
- The command line interface of WinControl has been improved and can
display auto-started command files as they are being processed.
- Support for 16-bit programming and Windows 3.1 has been dropped - those
users should continue to use version 2.23.
Upgrading Windows 98/Me
=======================
There is a bug in versions of the Motion Control API older than 3.4.0 that can
lead to a blue-screen if you attempt to uninstall a motion controller. To avoid
the bug and allow the uninstall to complete please use the follwing sequence:
- Shut the PC down and remove all motion controllers (this will prevent the
low-level driver from loading.
- Boot the PC and use the add/remove programs applet in the Windows Control
Panel to remove the Motion Control API
- Restart the PC to complete the un-install
- Follow the instructions below to install the new MCAPI for Windows 98/Me
Installing The Motion Control API
=================================
NOTE: This version of the Motion Control API (MCAPI) changes the manner in which
legacy ISA-bus controllers are installed. If you are upgrading from an previous
version it is recommended that you use the Motion Control applet in the Windows
Control Panel to uninstall any existing ISA-Bus motion controllers.
It is recommended that you install the Motion Control API before you install
any motion control cards in your PC. Running the Add Hardware wizard with a
legacy (ISA-bus) Motion Controller already installed may prevent Windows from
correctly detecting available PC resources, such as shared memory addresses.
I. Installing the Motion Control API Software
---------------------------------------------
1. Launch the Setup program located in the folder that contains the MCAPI, if
you are installing from the MotionCD select Install from the menu to launch
Setup.
2. Setup may prompt you to restart the PC if it was necessary to update the
Windows Installer software on your PC. You must restart to continue the
installation, Setup will automatically restart when the PC has restarted.
3. Accept the License Agreement to proceed (required).
4. Enter your user information (optional).
5. Select either the Complete (automatic) or Custom (manual selection)
installation type. Complete is recommended.
6. Near the end of the installation on Windows 98/Me Setup may prompt you with one
or more "Insert Disk" dialogs for MCAPI driver related files - simply click OK
to proceed.
7. Click Finish to complete the Software installation.
II. Installing a PCI-Bus Motion Controller in Windows XP/2000/Me/98
-------------------------------------------------------------------
1. Shut down your PC, on newer PCs you should also unplug the AC Power cord.
2. Install the motion controller in an unused slot.
3. Reconnect AC Power (if necessary) and boot the computer.
4. Windows should automatically detect the controller and find the driver
installed earlier. If windows prompts for installation options select
the "Automatic" option.
5. Windows 98/Me may prompt for the location of the driver files. MCAPI installs
copies of the device driver and Motion Controller firmware in a sub-folder
named "Drivers" in the main MCAPI installation folder. If you installed MCAPI
using the default settings, that location would be (for English language PCs):
C:\Program Files\Motion Control\Motion Control API\Drivers
The MCAPI Setup program should have already added this path to the list of
recently used locations, allowing you to select it easily from the list.
III. Installing an ISA-Bus Motion Controller in Windows Me/98
-------------------------------------------------------------
1. If the motion controller is already installed in your PC shut down the PC, on
newer PCs you also should unplug the AC Power cord. REMOVE your motion controller
from the PC. Running the Add Hardware wizard with a legacy (ISA-bus) Motion
Controller already installed may prevent Windows from correctly detecting
available PC resources, such as shared memory addresses.
2. From the Windows Start Menu select Settings | Control Panel.
3. Double click on the "Add New Hardware" icon in the Control Panel.
4. Select Next to begin the Wizard.
5. Select Next again to start the search for new hardware.
6. The wizard will then prompt to search for non Plug-and-Play
hardware. Select the "No, I want to select the hardware from a list" option
on the Wizard and click Next to continue.
7a. If this is the first controller you are installing select "Other Device" from
the list of device classes (types), otherwise proceed to 6b below. Locate and
select Precision MicroControl in the list of Manufactures. Select your Motion
Controller model from the list of models. Skip to step 8.
7b. If you have already installed a Motion Controller using this version of the
MCAPI there should be a an entry in the device classes (types) list for
"Motion Control." Select it and click Next to view the list of Motion
Controllers. Select your Motion Controller model from the list of models.
8. If the default settings for memory or I/O resources are not acceptable Windows
will present a suggested range. These non-default settings will require jumper
or rotary switch position changes on the Motion Controller itself. See your
User's Manual for specifics.
9. Click Next then click Finish to complete the Wizard.
10. Shut down the PC (the Wizard may do this for you), on newer PCs you also should
unplug the AC Power cord. Change the jumpers or rotary switch on the Motion
Controller (if necessary) and install the card in an available ISA slot. Reboot.
IV. Installing an ISA-Bus Motion Controller in Windows XP/2000
--------------------------------------------------------------
1. If the motion controller is already installed in your PC shut down the PC, on
newer PCs you also should unplug the AC Power cord. REMOVE your motion controller
from the PC. Running the Add Hardware wizard with a legacy (ISA-bus) Motion
Controller already installed may prevent Windows from correctly detecting
available PC resources, such as shared memory addresses.
2. From the Windows Start Menu select Settings | Control Panel.
3. Double click on the "Add/Remove Hardware" icon in the Control Panel. NOTE that
this is named simply "Add Hardware" in Windows XP.
4. Select Next to begin the Wizard.
5. Select the "Add/Troubleshoot device" option (default) and click Next
to continue.
6. Wizard will scan for Plug-and-Play devices and then present you with the "Choose
Hardware Device" screen. Select "Add a New Device" and click Next to continue.
7. Select the "No, I want to select the hardware from a list" option
on the Wizard and click Next to continue.
8a. If this is the first controller you are installing select "Other Device" from
the list of device classes (types), otherwise proceed to 7b below. Locate and
select Precision MicroControl in the list of Manufactures. Select your Motion
Controller model from the list of models. Skip to step 9.
8b. If you have already installed a Motion Controller using this version of the
MCAPI there should be a an entry in the device classes (types) list for
"Motion Control." Select it and click Next to view the list of Motion
Controllers. Select your Motion Controller model from the list of models.
9. If the default settings for memory or I/O resources are not acceptable Windows
will present a suggested range. These non-default settings will require jumper
or rotary switch position changes on the Motion Controller itself. See your
User's Manual for specifics.
10. Click Next then click Finish to complete the Wizard.
11. Shut down the PC (the Wizard may do this for you), on newer PCs you also should
unplug the AC Power cord. Change the jumpers or rotary switch on the Motion
Controller (if necessary) and install the card in an available ISA slot. Reboot.
V. Installating Motion Controllers (all) in Windows NT4
-------------------------------------------------------
1. Shut down your PC, on newer PCs you should also unplug the AC Power cord.
2. Install the motion controller in an unused slot
3. Reconnect AC Power (if necessary) and boot the computer
4. Navigate to the windows Control Panel and double-click on the Motion Control
applet.
5. Click on the "Add..." button in the Motion Control applet and follow the
wizard to install the drivers for your controller
Syntax Coloring
===============
The Motion Control API includes a keyword file for use with Microsoft's
Developer Studio/Visual Studio User Defined Keyword highlighting feature. User
Defined Keyword highlighting permits you to easily identify specific keywords
in source code files. The included keyword file contains all of the MCAPI C/C++
function names and constants.
To enable syntax highlighting first exit Developer Studio or Visual Studio, if
it is running. Next locate the MCAPI file USERTYPE.DAT. By default USERTYPE.DAT
is installed in \PROGRAM FILES\MOTION CONTROL\MOTION CONTROL API\SOURCES. Copy
this file to the same directory where Developer Studio executable MSDEV.EXE or
DEVENV.EXE is installed:
Dev. Studio Version 5.0 ('97) \PROGRAM FILES\DEVSTUDIO\SHAREDIDE\BIN
Dev. Studio version 6.0 \PROGRAM FILES\MICROSOFT VISUAL STUDIO\COMMON\MSDEV98\BIN.
Visual Studio .NET 2003 \PROGRAM FILES\MICROSOFT VISUAL STUDIO .NET 2003\COMMON7\IDE
NOTE: if you already have a USERTYPE.DAT file installed for Developer
Studio 97 you may use a text editor to merge the MCAPI USERTYPE.DAT keywords
with your existing USERTYPE.DAT keyword file.
By default Developer Studio 97 highlights user defined keywords using the same
color that it uses for language keywords (blue). To make the user defined
keywords stand out select Tools | Options from the Developer Studio menu bar.
Click on the Format tab and in the Colors box select User Defined Keywords. Use
the Foreground and Background options to select unique colors for the user
defined keywords.
Contacting Technical Support
============================
Technical support contact information is included in the online help files
supplied with the Motion Control API.
Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.