----------------------------------- Precision MicroControl Corp. Motion Control API - Version 2.23 16-May-2000 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 ======== - Installing The Motion Control API - What's New - 256-Color Displays - Syntax Coloring - Contacting Technical Support Installing The Motion Control API ================================= The Motion Control API (MCAPI) includes a graphical setup utility that makes installation easy. To install MCAPI run the SETUP program located on Disk 1 of the MCAPI disk set and follow the program instructions. If you have been using an earlier Beta for the Windows NT MCAPI please un-install the BETA before you install this version. The Motion Control API now installs by default to a "Motion Control" folder under "Program Files" and installs its icons in a startup menu group named "Motion Control." This new folder naming is more consistent with modern Windows applications and will make it easier to provide updates in the future. Follwoing installation you may safely remove the old \PMC program folder and the PMC startup menu folder. WARNING: If the folder you are installing into has files in it they may be deleted or over-written by the MCAPI installer. What's New ========== New Features (v2.23): - MCGetLimits() can now read-back the current hard limit mode from the DCX-PC100 motion controller. - 32-bit DLL load (base) addesses have been optimized for faster application program loading - Added flags to MCDLG_ConfigureAxis() and MCDLG_RestoreAxis() to force a check to see if the motor is moving before the parameters are written to the motion controller. Some of the parameters in these functions (e.g. position) should not be changed while a motor is moving. - Improved operation of the Motion Control Panel under Windows NT/2000. - Improved controller selection in POS position display app and added auto-scaling to the position readout. Bug fixes (v2.23): - Added more precision to the Acceleration Gain, Deceleration Gain, and Velocity Gain fields in the axis configuration dialog in the Motion Dialog package (MCDLG). - Enabled High Speed, Low Speed, and Medium Speed setting for MC260s on the DCX-PC100 from the axis configuration dialog in the Motion Dialog package. - A problem with the Period parameter of the MCCaptureData() function has been fixed (DCX-AT300). - MCCaptureData() will now accept a value of zero (0.0) for the Delay parameter. - MCCaptureData() now properly sets the reply formatting so that captured values are returned as double-precision numbers on the DCX-AT200 and the DCX-AT300. - The Delphi sample program form source files (*.DFM) are correctly installed in this release (broken in an earlier release). - A problem where 32-Bit Delphi programs would report DLL not found errors on Windows NT has been fixed (required changes to MCAPI.PAS and MCDLG.PAS). - Fixed a driver problem with interface error handling on the DCX-AT200 / DCX-AT300 that could result in a protection fault when an error condition was detected. - Changed the reply formatting of MCGetFollowingError() so it the controller will return a double precision value (was returning a long int) on the DCX-AT200 and the DCX-AT300. - A bug in the Windows NT multi-threading has been fixed (affects any application with multiple handles / controllers under Windows NT) - Fixed problem with MCDLG_READOUT styles that prevented creation of a left- justified or centered Readout from within a reasource file. New Features (v2.22): - The MCGetIndexEx() function now supports the MC200 and MC260 on the DCX-PC100, and the MC260 on the DCX-AT200 and DCX-AT300 (the MC200 was already supported on these platforms). - The MCIndexArm() function now supports the MC200 and MC260 on the DCX-PC100. - LIB files that are compatible with the 32-bit Borland C/C++ Compiler and Borland C++ Builder are now included. Bug fixes (v2.22): - Attempting to open a DC2 a second time (or two times con-currently) under Windows NT would sometimes cause the application to hang. This has been fixed. - A problem that would sometimes cause the Motion Control Panel to crash when testing a newly installed controller has been fixed. - When configuring a Serial interface any changes to the default serial port settings resulted in corrupt initialization values - this has been fixed. If you have a serial interface problem delete the controller then re-add it and the problem should be corrected. - The DC2-PC mnemonics AG and RD have been added to the MCCL.H header file - A problem where the DC2-STN was not correctly reporting stepper axes has been corrected. Bug fixes (v2.21): - The Motion Control Panel now checks for administrator priveleges under NT/2000 and warns non-administrator users when it launches (previously it only displayed an error when you tried to apply changes). - The help file for the JOY demo program was being installed in the wrong directory, this has been corrected. - Hardware reset settings for the DCX-PC are now being correctly set for the PMCMEM device driver (these settings are different from the DCX-AT series). - The DC2-PC is now correctly identified by the Test button in the Motion Control Panel. - A problem in the Motion Control Panel where the number of DC2 stepper axes could be set to a very high (invalid) number has been corrected. This had led to protection faults when launching applications that communicated with the DC2-PC. - A number of problems with the serial port driver have been corrected - The MCReopen() comand was not working correctly with controllers that support multi-interface, it has been ifxes. This fix also corrects a problem where the Flash Wizard would fail to verify a flash upgrade - it relies on MCReopen(). - Changes to the version numbering scheme in v2.20 had broken the MCGetVersion() function, it now operates correctly. - Windows NT thread-safe operation was broken between the Beta and this release, this has been corrected. - The servo update rate for MC2xx series modules installed on a DCX-PC were not being correctly reported, they are correctly reported now. - MCSetAuxEncPos() was not setting the position of the auxiliary encoder on controllers that support this feature (may also require a firmware update) - Fixed the MCGetProfile() function for DCX-AT200 and DCX-AT300 controllers (requires latest firmware) - MCDLG_SaveAxis() and MCDLG_RestoreAxis() now include the current profile value in their settings New Features (v2.20): - Version 2.20 of the Motion Control API includes a major re-write of the underlying library code. This re-write has resulted in improved performance and will make it easier to maintain and improve the MCAPI in the future. - NT support has been merged into this release and the installation program automatically selects the proper operating system specific components for the target system. NT users will now enjoy API support that is identical to that of Windows 95/98/3.1. - Setup and configuration of motion controllers has been moved from a stand alone application to the Windows control panel. The new Motion Control Panel lets you see all of your installed motion controllers at-a-glance and provides a convenient "Wizard" interface for installing new controllers. - Two new functions, MCIsAtTarget() and MCIsStopped() have been added to the API. These functions make it easier for motion control programs to detect the "motion complete" condition. - To new functions have been added for homing support - MCFindAuxEncIdx() and MCIndexArm(). - Contouring mode for the DCX-AT200 / DCX-AT300 has been enhanced with two new functions that provide additional support for arc mode - MCArcEndAngle() and MCArcRadius(). - New constants and improved on-line examples have been added for MCGetLimits() and MCSetLimits() which should make using these functions easier. - The Motion Control Dialog (MCDLG) axis setup dialogs now include support for inverted limit switches (all controllers), as well as Acceleration Gain and Deceleration Gain for Advanced Servos (MC200/MC210/MC300). - Flags were added to the MCDLG axis configuration dialogs to provide application programmers with more control over what changes the user may make (individual groups on the dialog may be set as read-only). - The demo programs CWDEMO, PASDEMO, and VBDEMO now include a cycle mode to allow for continuous back and forth cycling of an axis. - The functions pmccmdex() and pmcrpyex() were added to the low-level OEM functions. These functions make it much easier to code MCCL commands from within high-level programs (especially Visual Basic). 256-Color Displays ================== If you are running your display card in 256-color mode and have either a 256-color desktop wallpaper selected or Active Desktop enabled some of the images in the online help may display with unusual colors. To view the graphics in their correct colors select a solid color desktop in place of wallpaper, or disable Active Desktop, or set your display resolution to High Color (16-bit). Syntax Coloring =============== The Motion Control API includes a keyword file for use with Microsoft's Developer 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, if it is running. Next locate the MCAPI file USERTYPE.DAT. By default USERTYPE.DAT is installed in \PMC\MCAPI\SOURCES. Copy this file to the same directory where Developer Studio executable MSDEV.EXE is installed. In Developer Studio 97 (version 5.0) this directory is \PROGRAM FILES\DEVSTUDIO\SHAREDIDE\BIN. That's all there is to it! In version 6.0 of Developer's Studio the directory is \PROGRAM FILES\MICROSOFT VISUAL STUDIO\COMMON\MSDEV98\BIN. 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.