.

Release Note
MPI Library Version 03.04.10

Release Type
MPI Version
Release Date
Patch Release
03.04.10
4Oct2007
Patch Release
03.04.09
24Aug2007
Patch Release
03.04.08
16Jul2007
Patch Release
03.04.07
4Jun2007
Patch Release
03.04.06
26Apr2007
Patch Release
03.04.05
29Feb2007
Patch Release
03.04.04
01Feb2007
Patch Release
03.04.03
08Jan2007
Patch Release
03.04.02
22Nov2006
Patch Release
03.04.01
27Oct2006
Production Release
03.04.00
16Aug2006


  Table of Contents
    Notes
      System Requirements
Software Installation Instructions
Important Things to Know - This section highlights the most important changes in this release.
     
    New Features
     

Version 03.04.10

Add MPI support for ZMP-SYNQNET-CPCI-3U-uD-XIO - MPI2216

Version 03.04.09

Support for Demand output of double variables - MPI2217

Version 03.04.08
S200 Drive Firmware download is supported - MPI2189
meiMotorDemandModeSet(...) allows on-the-fly demand mode switching - MPI2187
Feed-forward support for Velocity Demand Mode - MPI2186
Gain Table Index over SynqNet - MPI2176

Version 03.04.06
     Yaskawa Encoder Counts Per Revolution - MPI2095
     Support for AMC-DPQ series drives - MPI2046

Version 03.04.05
     Addition of Axis Current Limit Fault to Kollmorgen SqDC drive - MPI2084
     Addition of mpiMotorPositionFeedBackOffsetGet/Set(...) methods - MPI2078

Version 03.04.04
     Controller I/O now supported on ZMP-SynqNet Controllers (T115-0001; T127-0001) - MPI2038

Version 03.04.03
     Support for the Yaskawa SGDZ-BS61/62/63 - MPI2003

Version 03.04.02
     Drive Firmware download support for the Kollmorgen CD drive DSP Rev-G - MPI2010

Version 03.04.01
     Support of SqDC Warning Codes/Messages - MPI1937
     Sanyo Denki Q-Series and R-Series SynqNet Drives - MPI1935

Version 03.04.00
     New Functions for Actual and Command Position Data - MPI1896
     Glentek Omega Drive Update Rate Options - MPI1895
     Support for Kollmorgen SqDC Drive - MPI1874
     Add Pn600 drive parameter for SGDS-72/75 drives - MPI1819
     New SynqNet HotReplace Feature- MPI1820
     New Flash Origin Methods - MPI1809
     Support for Node I/O Fault bits on SQID Nodes - MPI1807
     Addition of Configurable Demand Modes - MPI1796
     64-bit Position - MPI1795
     Support for Kollmorgen S1800 Drive - MPI1794
     Maximum Number of Controllers - MPI1788
     Support for Yaskawa SGDS75A Drive - MPI1780
     Source for Axis and Motion Supervisor States - MPI1777
     Volatile Buffer in Controller's External Memory - MPI1739
     Addition of Methods for Decoding Node I/O Addresses - MPI1715
     Addition of Drive Monitor Information to the MPI - MPI1702
     Addition of compatibility check between client/server - MPI1684
     Support for Kollmorgen S600 Drive - MPI1592
     Support for Kollmorgen S300 Drive - MPI1591
     Axis Frame Buffer Status - MPI1254
     Controller Statistics Methods - MPI1232


    General Changes
     

Version 03.04.10

Optimize specific methods for client/server operation - MPI2235

Version 03.04.09

AMC DPQ-Series Drive Faults - MPI2165

Version 03.04.08
MEIXmpAlgorithm Enumeration - MPI2205
meiSqNodeInfo(...) with a failed node - MPI2167

Version 03.04.07
     mpiMotionConfigSet(...) decel stop/E-stop range - MPI2152
     Yaskawa SGDZ-MD Drive - Motor Fault Mask - MPI2141

Version 03.04.06
     Updated Yaskawa drive module supports new drive parameters - MPI2117
     Yaskawa SGDS drive: Default Fault Mask - MPI2107
     CPU usage during SynqNet Initialization - MPI2104

Version 03.04.03
     Multi-turn reset without network shutdown for Yaskawa SGDS and SGDZ-MD drives - MPI1987
     Support for additional drive parameters for the S200 drive - MPI1981

Version 03.04.01
     Revision of frame buffer loading to decrease likelihood of "Out-of-Frames" events - MPI1950
     S200 Drive Brake Logic - MPI1936

Version 03.04.00
     Motor I/O Brake source inverted with SSI FPGA - MPI1871
     Cable Length Discovery Improvement - MPI1850
     Elimination of Control word in from OR'd with Axis.Status - MPI1824
     Motor Stepper Configuration Hardware Check - MPI1790
     Cam Motion now uses Double Data Types - MPI1764
     Change of S200's Default Secondary Feedback - MPI1754
     New defaults for MEIEventStatusInfo - MPI1478
     SynqNet Timing Improvements - MPI1176


    Fixed Bugs
     

Version 03.04.10

Zero Position when Actual Position >31 bits - MPI2224

Command velocity trajectory discontinuity - MPI2223

Version 03.04.09

Recorder START trigger may fail - MPI2214

Divide by zero causes exception - MPI2210

PVT move fails when starting position is larger than 32 bits - MPI2203

Motion Modify with Velocity move causes discontinuity - MPI2201

mpiMotorConfigSet(...) does not support ANALOG_DUAL_DAC mode - MPI2197

mpiControlReset(...) locks up after downloading invalid firmware - MPI2188

Flash utility crash when using '-erase' - MPI2006

Version 03.04.08
meiPlatformMemorySet64(...) function changes the value of the src pointer - MPI2185
HotReplace feature unable to restart drives - MPI2181
Software Position Limits Falsely Triggered - MPI2180
meiSqNodeStatus(...) with failed node - MPI2169
mtReset fails for a single node network - MPI2140

Version 03.04.07
    SynqNet Fault Recovery causes motor to jump - MPI2164
    Motor limit problem when 32-axis configuration is saved to flash - MPI2161
    meiPlatformObjectLockGive/Take(...) do not work over client/server for multi-thread apps - MPI2160
    Yaskawa SGDS Parameter Pn212 Problem - MPI2158
    Sequence Motion Commands - MPI2137
    meiSynqNetIdleCableStatus(...) no longer causes CRC errors - MPI2109

Version 03.04.06
    S200 Drive Dedicated I/O Support - MPI2136
    Motor limit OutputPtr checked for NULL value - MPI2125
    mpiControlReset(...) via client/server with erased flash memory - MPI2122
    SynqNet Node with Boot FPGA - MPI2111
    FPGA download erases the drive firmware on Glentek drives - MPI2110
    S200 Drive: Setting "OOUT1" as Brake would disengage during initialization - MPI2108
    MEIXmpLimitData.State with non-zero Duration - MPI2102
    Yaskawa SGDS, SGDZ-MD, SGDZ-BS Improper Modulo Configuration - MPI2089
    mpiMotorEventConfigSet(...) disables a User Limit - MPI2087
    SynqNet Initialization hangs with ABS feedback and no motor object - MPI2029

Version 03.04.05
    meiSqNodeDriveParamGet(...) could not read a string parameter - MPI2082
    Drive firmware download with SGDZ-BS - MPI2071
    mpiMotorEventConfigSet(ENCODER_FAULT) service command unsupported error - MPI2068
    Yaskawa SGDS and SGDZ-BS param read problem - MPI2047
    Incorrect Synqnet Timing values when new sample rate is saved to flash - MPI1880
    mpiMotorConfigSet possible hang with encoder ratio - MPI2054
    SynqNet initialization hangs with ABS feedback and no motor object - MPI2029

Version 03.04.04
    ASSERT violation after a Save Topology and power cycle - MPI2053
    Hot Restart fails to restart some nodes - MPI2044
    S200 Absolute Encoder data changes during mpiMotorConfigSet(...) - MPI2043
    Protection fault occurs at controller frame low event - MPI2035
    S200 Drive parameter COMM_OFF angle wrapping inconsistency - MPI2032

Version 03.04.03
    meiSynqNetPacketConfigSet(...) returns "Service cmd response timeout" - MPI2075
    meiSqnodeDriveParamStore(...) times out for Kollmorgen S1800 drive - MPI2028
    Frame Buffer Under-run with mpiMotionModify + MPIMotionTypePVT - MPI2020

Version 03.04.02
    S200 drive with absolute feedback does not initialize correctly - MPI2008
    atTarget not being set with PVTF - MPI1996

Version 03.04.01
    Server.exe utility occasionally does not exit - MPI1985
    Probe does not work for more than one probe per motor - MPI1982
    meiSqNodeUserDataGet /Set did not correctly handle binary data - MPI1975
    MEISynqNetTiming values not initialized - MPI1970
    Mismatch when saving Frame Buffer Size to Flash - MPI1952
    Feedback Fault cannot be cleared when AmpFault = NONE - MPI1928
    Limits with Non-zero Duration may trigger immediately - MPI1920
    S300 drive cannot support a 1kHz controller sample rate - MPI1919

Version 03.04.00
    Network Initialization problem with x0103 FPGA - MPI1891
    An application can hang if another application calls meiSqNodeDownload(...) - MPI1890
    Calling mpiMotionModify(...) before mpiMotionStart(...) - MPI1884
    Noise Excitation Problem - MPI1854
    AMP Enable Not Working for Stepper Drives - MPI1848
    mpiMotionStart/Modify may Incorrectly Return MEIMotionMessageBAD_PATH_DATA - MPI1847
    Motion Out of Frames Error when using Gates - MPI1843
    Topology Mismatch with Ring vs. String - MPI1841
    Watchdog sample applications encountered race conditions - MPI1840
    Memory Access Violation when calling mpiMotionModify(...) - MPI1838
    Error when enabling more than one recorder - MPI1823
    Multi-turn Reset Failure through the Controller's IN port - MPI1822
    Configurable AMP_WARNING Limit Action - MPI1782
    Postfilter methods did not work over client-server connection - MPI1779
    Rollover Issue with Path Motion - MPI1763
    Service Channel Timeout during SynqNet Initialization - MPI1761
    ZMP Controller I/O Mapping Error - MPI1756
    Position Jump with mpiMotionModify(...) - MPI1753
    Velocity and Acceleration Feedforwards for Shaped Trajectories - MPI1743
    SqNode UpStreamError limits are not saved to flash - MPI1505


    Open Issues
     

Existing Bugs

meiMotionConfigSet(...) can crash a ZMP controller - MPI2241

MEIMotorInfo.sqNode.driveIndex invalid value - MPI2168

Discovery through IN port fails to detect nodes beyond first node with 0x020C Boot FPGA - MPI1908

Multiple eventMgr via client/server - MPI1578

 

      Limitations
Capture is not supported when using a non-zero modulo value
    S1800 drive does not support monitor configuration - MPI2171
    rmbSsiEncoderConfigGet/Set(...) Limitations - MPI2018
    Possible motor jump with Stop action and amp disable/enable - MPI1946
    Moves longer than 31 bits - MPI1918
    Recorder Start/Stop Triggers - MPI1917
    drive Map does not support .dm files for non-windows OS - MPI1697
         

 

New Features

Version 03.04.10

  Add MPI support for ZMP-SYNQNET-CPCI-3U-uD-XIO
    Reference Number: MPI 2216
    Type: New Feature
    MPI Version: 03.04.10
   

Description:
Support was added to the MPI for the new controller: ZMP-SYNQNET-CPCI-3U-uD-XIO. The control I/O tables were extended to support the meiControlInfo(...) method with the new ZMP controller.

 

Version 03.04.09

  Support for Demand output of double variables
    Reference Number: MPI 2217
    Type: New Feature
    MPI Version: 03.04.09
   

Description:
The firmware transfers internal controller variables to fields of the SynqNet Demand packet each sample. Currently the internal variables are limited to 32-bits (float and long). By adding support for the transfer of the 64-bit type double, the outputs from MechaWare blocks can be transferred to the Demand packet. This feature would not normally be used directly by a customer. It is intended for use by future demand output MechaWare blocks.

A new enumerated type MEIXmpDACInputTypeDOUBLE, was added to the MEIXmpDACInputType enumeration. Code was added to motor.c to support the transfer of this type.

   

How do I use this feature?
The appropriate DemandChannel[ ].Input pointer is set by the MPI to the address of the controller variable. The value of DemandChannel[ ].InputType is set to MEIXmpDACInputTypeDOUBLE.



Version 03.04.08

  S200 Drive Firmware download is supported
    Reference Number: MPI 2189
    Type: New Feature
    MPI Version: 03.04.08
   

Description:
The S200 drive firmware can be now downloaded via SynqNet. The drive Firmware versions 3.0A to 127.9Z and 255.0A to 255.9Z support firmware download via SynqNet. The following versions do not support drive firmware download: 2.0a, 2.1a, 2.1b, 129.0a, 130.0a


  meiMotorDemandModeSet(...) allows on-the-fly demand mode switching
    Reference Number: MPI 2187
    Type: New Feature
    MPI Version: 03.04.08
   

Description:
Demand mode can now be switched while the amplifier is enabled, which was not possible before. Only certain mode switches are supported, such as between velocity and torque mode. Motors can only be switched to a mode that the motor supports.

   

How do I use this feature?
meiMotorDemandModeSet(...) is called with a motor and the demand mode to switch to. Demand mode can still be changed using mpiMotorConfigSet(...), but only while the amp is not enabled.


  Feed-forward support for Velocity Demand Mode
    Reference Number: MPI 2186
    Type: New Feature
    MPI Version: 03.04.08
   

Description:
Support for the feed-forward terms has been added for velocity mode. In SynqNet velocity mode, the controller will send both a velocity demand and torque demand to the drive. In previous versions, the torque demand was always zero and the velocity demand would be set to the output of the closed-loop control algorithm.

   

How do I use this feature?
In version 03.04.08 and later, if a motor is in velocity mode the Kaff and Kff terms will apply to the torque demand field, the other terms will apply to the velocity demand field. Please see the PID and PIV block diagrams.

The torque mode feed-forward terms operation has not been changed.


  Gain Table Index over SynqNet
    Reference Number: MPI 2176
    Type: New Feature
    MPI Version: 03.04.08
   

Description:
For Velocity and Position Mode drives that support gain tables, the gain table index will be sent to the drive via SynqNet. This feature allows users to switch gain tables in the controller and the drive simultaneously. The gain index is sent to all drives, even if the drives do not support it. Drives that do not support the gain index will ignore the data. Please consult your drive manufacturer's documentation for details about drive parameters for gain tables.

   

How do I use this feature?
The controller firmware automatically copies the controller's gain index value to the drive via cyclic data in the SynqNet packets. See Gain Tables.

 

Version 03.04.06

  Yaskawa Encoder Counts Per Revolution
    Reference Number: MPI 2095
    Type: New Feature
    MPI Version: 03.04.06
   

Description:
New Yaskawa drive-specific methods were added to read the encoder counts per revolution for feedback devices that support this feature. These drive-specific methods will be replaced in a future release with a general purpose interface to read the feedback counts per revolution.

   

How do I use this feature?
The following methods can now be used to read the encoder counts per revolution for the Yaskawa drives/motors. If a drive/motor does not support the encoder counts per revolution, it will return a value of zero for the counts per revolution.

   sgdsEncoderCountsPerRev(MPIControl  control,
                           long        nodeNumber,
                           long        *countsPerRev);

   sgdsBsEncoderCountsPerRev(MPIControl control,
                             long       nodeNumber,
                             long       driveIndex,
                             long       *countsPerRev);

   sgdzMdEncoderCountsPerRev(MPIControl control,
                             long       nodeNumber,
                             long       driveIndex,
                             long       *countsPerRev);

    control - a handle to a control object.
    nodeNumber - index to the SqNode.
    driveIndex - index to the drive interface, relative to the SqNode.
    *countsPerRev - a pointer to the number of counts per motor revolution.
                              A value of zero indicates the counts per revolution are unknown.


  Support for AMC DPQ series drives
    Reference Number: MPI 2046
    Type: New Feature
    MPI Version: 03.04.06
   

Description:
The new AMC-DPQ series drives are now supported. The following drives are now supported.
   - DPQNNIE
   - DPQNNIR
   - DPQNNIA
   - DPQNNIS

   

How do I use this feature?
Contact Advanced Motion Controls for more information. (www.a-m-c.com)

 

Version 03.04.05

  Addition of Axis Current Limit Fault to Kollmorgen SqDC drive
    Reference Number: MPI 2084
    Type: New Feature
    MPI Version: 03.04.05
   

Description:
The Kollmorgen SqDC drive will generate a Axis Current Limit Fault when the axis current exceeds the programmed current limit value.

   

How do I use this feature?
Support has been added to the MPI for the Axis Current Fault.


  Addition of mpiMotorPositionFeedBackOffsetGet/Set methods
    Reference Number: MPI 2078
    Type: New Feature
    MPI Version: 03.04.05
   

Description:
The mpiMotorPositionFeedbackOffsetSet(...) and mpiMotorPositionFeedbackOffsetGet(...) methods were added to the MPI to allow user applications the ability to store and read back an absolute position offset value. This value will be stored in the EEPROM on the motor itself. This feature will be supported through the drive interface on selected drives only. These methods can directly access storage on the EEPROM, allowing a position offset to be stored from session to session. In conjunction with mpiAxisOriginSet(...), this feature replicates the ability of certain drives to reset the zero position on absolute encoders.

   

How do I use this feature?
This feature can only be used with a Kollmorgan S200 drive and an EnDat 2.1-capable motor. The S200 must have AuxFB set to "EnDat 2.1" in order for this feature to work correctly.

 

Version 03.04.04

  Controller I/O now supported on ZMP-SynqNet Controllers (T115-0001; T127-0001)
    Reference Number: MPI 2038
    Type: New Feature
    MPI Version: 03.04.04
   

Description:
Previous MPI versions would not support local controller I/O for ZMP models T115-0001 and T127-0001. Support has now been added to the MPI for the T115-0001 and T127-0001.

   

How do I use this feature?
The MPI uses the model numbers to decode the local controller digital I/O bit availability. The local controller I/O can be identified via meiControlInfo(...) and accessed with mpiControlDigitalIn(...), mpiControlDigitalOutGet(...), or mpiControlDigitalOutSet(...).

 

Version 03.04.03

  Support for Yaskawa SGDZ-BS61/62/63 Drives
    Reference Number: MPI 2003
    Type: New Feature
    MPI Version: 03.04.03
   

Description:
Support has been added to the MPI for the following Yaskawa SGDZ-BS Series Drives: SGDZ-BS61, SGDZ-BS62, SGDZ-BS63.

   

How do I use this feature?
For more information, please contact Yaskwawa (www.yaskawa.com).

 

Version 03.04.02

  Drive Firmware download support for the Kollmorgen CD drive DSP Rev-G
    Reference Number: MPI 2010
    Type: New Feature
    MPI Version: 03.04.02
   

Description:
The Kollmorgen CD drive with DSP rev G has a new drive firmware download sequence. To support the DSP rev G, the drive firmware download method was modified and a new kollmorgen_ember.a00 file was updated. The support for the drive firmware download feature on the DSP rev G is not backwards compatible with older MPI versions.

   

How do I use this feature?
For more information, please see the Kollmorgen CD drive.

 

Version 03.04.01

  Support of SqDC Warning Codes/Messages
    Reference Number: MPI 1937
    Type: New Feature
    MPI Version: 03.04.01
   

Description:
The Kollmorgen SqDC and SqStep drives now support warning codes/messages. Support has also been added for the SqDC2 model.

   

How do I use this feature?
For more information, please see the Kollmorgen SqDC and SqStep drives.


  Sanyo Denki Q-Series and R-Series SynqNet Drives
    Reference Number: MPI 1935
    Type: New Feature
    MPI Version: 03.04.01
   

Description:
The Sanyo Denki R-Series is now supported. The Q-Series support has been expanded to include service channel, drive faults/warnings, drive parameters, etc. In previous MPI versions, the Q-Series support was minimal. If you have a Q-Series drive and upgrade the MPI, please contact Sanyo Denki (www.sanyodenki.com) for the latest drive firmware.

   

How do I use this feature?
For more information, please contact Sanyo Denki (www.sanyodenki.com).
See also, Sanyo Denki Q-Series and R-Series drives.

 

Version 03.04.00

  New Functions for Actual and Command Position Data
    Reference Number: MPI 1896
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
New functions were added to get the lower 32 bits of actual and command position data.

mpiAxisActualPositionGet32(...)
mpiAxisCommandPositionGet32(...)

If only the lower 32 bits of position data need to be read, it's faster to use these new functions instead of using the standard -Get position functions.

   

How do I use this feature?
For descriptions and sample code, see the links to the function pages above.


  Glentek Omega Drive Update Rate Options
    Reference Number: MPI 1895
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The following drive update rate options are now available on the Glentek Omega Drive. EEPROM option numbers 4-7 were added.

EEPROM
Interpolator
Flash Download
Update Rate (kHz)
0
No
No
24
1
Yes
No
24
2
No
Yes
24
3
Yes
Yes
24
4
No
Yes
16
5
Yes
Yes
16
6
No
Yes
12
7
Yes
Yes
12
   

How do I use this feature?
See the Glentek Omega Drive. To determine the update rate or period for the drive, use MEISynqNetTiming.node[].updateFreq or MEISynqNetTiming.node[].updatePeriod.


  Support for Kollmorgen SqDC Drive
    Reference Number: MPI 1874
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Support was added to the MPI for the Kollmorgen SqDC drive.

   

How do I use this feature?
See Kollmorgen SqDC Drive for more details.


  New SynqNet HotReplace Feature
    Reference Number: MPI 1820
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
In a ring topology, SynqNet allows the remaining nodes to operate if one or more nodes fail. Previously, the only way to restore normal operation for all nodes was to reinitialize the entire network, which would disrupt any operating node. In cases of modular machines, it may be necessary to service one or more nodes while the other nodes are actively controling motion and I/O. The new SynqNet HotReplace feature allows one or more nodes to be shut down, serviced, and then brought back to normal operation without affecting the operation of other nodes.

   

How do I use this feature?
See SynqNet HotReplace for more details.


  Add Pn600 drive parameter for SGDS-72/75 drives
    Reference Number: MPI 1819
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Support was added for the Pn600 "Regenerative Resistor Capacity" drive parameter for the SGDS-72/75 drives.

   

How do I use this feature?
To access the Pn600 drive parameter, use the methods meiSqNodeDriveParamGet(...) and meiSqNodeDriveParamSet(...), or meiSqNodeDriveParamListGet(...) and meiSqNodeDriveParamListSet(...). See the Yaskawa SGDS Drive.


  New Flash Origin Methods
    Reference Number: MPI 1809
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
New methods were added to read and write the axis origin to/from the controller's flash memory. This feature is useful for applications that use ABS encoders. However, you cannot save the ABS encoder offset to the drive's flash memory.

   

How do I use this feature?
To write the origin to the controller's flash memory, use mpiAxisFlashOriginSet(...).
To read the origin from the controller's flash memory, use mpiAxisFlashOriginGet(...).
NOTE: These methods do not access the origin value of the axis in the controller's dynamic memory.


  Support for Node I/O Fault bits on SQID Nodes
    Reference Number: MPI 1807
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The FPGA that is used with SQID nodes, C0FE0030_xxxx.sff, has been extended to detect errors communicating with any of the I/O modules (e.g. DIN32DOU32). The MPI has been extended to report these new error conditions.

   

How do I use this feature?
See the I/O Faults section. See MEISqNodeStatusIoFaults and MEISqNodeStatus.


  Addition of Configurable Demand Modes
    Reference Number: MPI 1796
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Configurable Demand Modes have been added to the MPI. The new feature should be used when it is appropriate for a drive to change its demand mode. Currently, only the S300, S600, and S1800 drives support multiple demand modes. Check with the drive manufacturer for possible settings. Nodes that do not support a drive interface (ex: RMB-SynqNet) should use ANALOG or use ANALOG_DUAL_DAC for nodes with two DAC's per axis.

   

How do I use this feature?
See MEIMotorDemandMode and MEIMotorConfig. A drive will default to an appropriate demand mode. Use mpiMotorConfigGet/Set(...) to change the demand mode. See SynqNet Demand Modes.


  64-bit Position
    Reference Number: MPI 1795
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The controller's command and actual position registers have been expanded to 64 bit. The MPI uses doubles for command and actual positions, which are limited to 1.7E+/-308 (at least 15 digits precision).

   

How do I use this feature?
See the "Position Resolution Extended" section of the Important Things to Know page.


  Support for Kollmorgen S1800 Drive
    Reference Number: MPI 1794
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Support was added to the MPI for the Kollmorgen S1800 drive.

   

How do I use this feature?
See Kollmorgen S1800 Drive for more details.


  Maximum Number of Controllers
    Reference Number: MPI 1788
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The maximum number of controllers supported using a particular OS is now available from a macro, MEIPlatformControlCountMax, in platform.h.

   

How do I use this feature?
This macro should only be used to determine the maximum number of controllers supported on a single system. See MEIPlatformControlCountMax.


  Support for Yaskawa SGDS75A Drive
    Reference Number: MPI 1780
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Support was added to the MPI for the Yaskawa SGDS75A drive.

   

How do I use this feature?
See Yaskawa SGDS Drive for more details.


  Source for Axis and Motion Supervisor States
    Reference Number: MPI 1777
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
It is now possible to determine whether a non-idle axis and motion supervisor state was caused by an application on the host computer or by a controller action. It is useful to know whether a non-IDLE state was caused by a controller event or a user action. If the action source was the controller, the controller may be queried to find out what event caused the error state. In a multi-threaded or multi-process environment, it can also be useful to know if a another thread or process commanded an action that placed the motion supervisor or axis into a non-idle state.

   

How do I use this feature?
The action source can be obtained by calling mpiMotionStatus(...) or mpiAxisStatus(...) and then reading the MPIStatus.actionSource value. Use the enumeration, MPIActionSource, to decode the value.


  Volatile Buffer in Controller's External Memory
    Reference Number: MPI 1739
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The XmpBufferData.VolatileBuffer was added to the controller's external memory. This volatile memory buffer is initialized to zero after a controller reset or power-up cycle.

   

How do I use this feature?
The volatile memory buffer can be useful for setting application flags, which can denote that certain operations have taken place. For example, once an axis has been successfully homed, a flag can be set in the volatile buffer. However, after a controller reset, the flag will be reset to zero, indicating that the axis is no longer homed.


  Addition of Methods for Decoding Node I/O Addresses
    Reference Number: MPI 1715
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The following functions have been added to sqNode.h to assist the setup of recorders and user limits with I/O on SynqNet nodes.

sqNodeDigitalInPtr(...)
sqNodeDigitalOutPtr(...)
sqNodeAnalogInPtr(...)
sqNodeAnalogOutPtr(...)

   

How do I use this feature?
For descriptions and sample code, see the links to the function pages above.


  Addition of Drive Monitor to the MPI
    Reference Number: MPI 1702
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The meiSqNodeDriveMonitorInfo(...) method was added to the MPI for retrieving drive monitor information. This method retrieves the number of supported drive monitors, the firmware locations of the monitors, a mask and shift value for retrieving the monitors, and a list of possible monitor configurations.

   

How do I use this feature?
This feature should be used when configuring drive monitors. The sqDriveMonitor utility contains an example of how to read and display the monitor information.


  Addition of compatibility check between client/server
    Reference Number: MPI 1684
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The compatibility of a client object to a server is now verified by meiClientValidate(...). Compatibility is based on MPI_INTERFACE_VERSION and the equality of members of the MEIRemoteMethod enumeration.

   

How do I use this feature?
The compatibility check feature is automatically invoked when the client object is validated.


  Support for Kollmorgen S600 Drive
    Reference Number: MPI 1592
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Support was added to the MPI for the Kollmorgen S600 drive.

   

How do I use this feature?
See Kollmorgen S600 Drive for more details.


  Support for Kollmorgen S300 Drive
    Reference Number: MPI 1591
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
Support was added to the MPI for the Kollmorgen S300 drive.

   

How do I use this feature?
See Kollmorgen S300 Drive for more details.


  Axis Frame Buffer Status
    Reference Number: MPI 1254
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
A new function has been added to the MPI which can be used to determine the size of the controller's frame buffer and how many frames are currently in the frame buffer for a particular axis.

   

How do I use this feature?
See meiAxisFrameBufferStatus(...) for sample code and implementation details.


  Controller Statistics Methods
    Reference Number: MPI 1232
    Type: New Feature
    MPI Version: 03.04.00
   

Description:
The controller firmware performance can be measured with meiControlStatistics(...). This method will read the maximum and average times for the foreground and background controller firmware tasks. The controller performance counters can be cleared with meiControlStatisticsReset(...). This feature is useful for determining the controller processor load. It can also help determine the maximum sample rate and number of available resources. For more details, see Sample Rate and SynqNet Controller Performance.

   

How do I use this feature?
meiControlStatistics(...) | meiControlStatisticsReset(...) | MEIControlStatistics
See the XmpStats1.c sample application.

 

General Changes

Version 03.04.10

  Optimize specific methods for client/server operation
    Reference Number: MPI 2235
    Type: Change Feature
    MPI Version: 03.04.10
   

Description:
The following functions have been optimized for client/server operation:

These functions now run remotely on the server. If you are upgrading from a previous release, make sure to upgrade the MPI DLLs on both the client and the server.

Version 03.04.09

  AMC DPQ-Series Drive Faults
    Reference Number: MPI 2165
    Type: Change Feature
    MPI Version: 03.04.09
   

Description:
AMC DPQ-Series drives now have three 32-bit words that contain the drive fault and warning codes. To support the additional drive faults/warnings, all three words are read when the meiMotorAmpFault(...) or meiMotorAmpWarning(...) is called.

Version 03.04.08

  MEIXmpAlgorithm Enumeration
    Reference Number: MPI 2205
    Type: Change Feature
    MPI Version: 03.04.08
   

Description:
WARNING!
Between MPI version 03.04.07 and 03.04.08 the order of the MEIXmpAlgorithm enumeration changed. This change was made for internal performance optimization, but unintentionally affected the MPI interface for the MEIFilterConfig{...} structure.

If your application uses the MEIXmpAlgorithm enum, please be sure to re-compile your application with the 03.04.08 library and header files. If you do not recompile your application, the filter type may not be as expected and a motor may become unstable.

03.04.07

typedef enum { 	
     MEIXmpAlgorithmINVALID = -1, 	
     MEIXmpAlgorithmPID, 	
     MEIXmpAlgorithmPIV, 	
     MEIXmpAlgorithmNONE, 	
     MEIXmpAlgorithmPIV1, 	
     MEIXmpAlgorithmUSER, 

03.04.08

typedef enum { 	
     MEIXmpAlgorithmINVALID = -1, 	
     MEIXmpAlgorithmNONE, 	
     MEIXmpAlgorithmPID, 	
     MEIXmpAlgorithmPIV, 	
     MEIXmpAlgorithmPIV1, 	
     MEIXmpAlgorithmUSER, 

  mpiMotionConfigSet(...) decel stop/E-stop range
    Reference Number: MPI 2167
    Type: Change Feature
    MPI Version: 03.04.08
   

Description:
meiSqNodeInfo(...) for a failed node would return MEISqNodeMessageRESPONSE_TIMEOUT as it attempted to send a service command to read the switchID. Although, a service command timeout is the correct error, this error prevents the user from reading the other fields. The meiSqNodeInfo(...) was modified to only send service commands to the nodes if they have not failed. If the node is in a failed state, the SwitchID is set to an invalid value (-1).

 

Version 03.04.07

  mpiMotionConfigSet(...) decel stop/E-stop range
    Reference Number: MPI 2152
    Type: Change Feature
    MPI Version: 03.04.07
   

Description:
Parameter range checking was added to mpiMotionConfigSet(...) to protect for
invalid values. mpiMotionConfigSet(...) will return MPIMessagePARAM_INVALID if the decelTime.stop or decelTime.eStop value is negative or greater than 31 bits of controller samples. If zero or less than one sample is specified, a one sample value will be applied.


  Yaskawa SGDZ-MD Drive - Motor Fault Mask
    Reference Number: MPI 2141
    Type: Change Feature
    MPI Version: 03.04.07
   

Description:
The Yaskawa SGDZ-MD Drive motor fault mask was expanded to include MEIMotorFaultMaskAMP_NOT_POWERED by default. This change will cause a dedicated Amp Fault if the Amp Not Powered drive fault bit is active.

 

Version 03.04.06

  Updated Yaskawa drive module supports new drive parameters
    Reference Number: MPI 2117
    Type: Change Feature
    MPI Version: 03.04.06
   

Description:
Yaskawa has added new drive parameters to the SGDS drive, which the MPI previously did not support. An updated .dm file was added for support, and the parameter checking code in the drive module was updated to support the new parameters. See the Yaskawa SGDS Drive section for the list of new drive parameters.


  Yaskawa SGDS drive: Default Fault Mask
    Reference Number: MPI 2107
    Type: Change Feature
    MPI Version: 03.04.06
   

Description:
The Yaskawa SGDS motor fault mask was expanded to include MEIMotorFaultMaskAMP_NOT_POWERED by default. This change will cause a dedicated Amp Fault if the Amp Not Powered drive fault bit is active. Changes to application code are not required.


  CPU usage during SynqNet Initialization
    Reference Number: MPI 2104
    Type: Change Feature
    MPI Version: 03.04.06
   

Description:
During SynqNet initialization, there are several steps where the MPI must wait for a time period for the network hardware. This would cause up to 100% CPU usage for several seconds. To reduce the CPU usage, the wait logic was optimized to sleep for the long wait periods and then poll for short intervals. This eliminated the heavy CPU usage without increasing the execution time for mpiControlInit(...) or mpiControlReset(...).

 

Version 03.04.03

  Multi-turn reset without network shutdown for Yaskawa SGDS and SGDZ-MD drives
    Reference Number: MPI 1987
    Type: Change Feature
    MPI Version: 03.04.03
   

Description:
In previous versions, the drive firmware for the Yaskawa SGDS and SGDZ drives did not allow the multi-turn reset command to be executed while the network was in SYNQ mode. It required the SynqNet network to be shutdown when performing an mtreset. The multi-turn reset function for the Yaskawa SGDS and SGDZ-MD drives has been modified to perform an mtreset without shutting down the whole SynqNet network. Now, when the multi-turn reset is requested, only the node associated with the drive is shutdown (ASYNQ mode) and restarted. Upon successful completion of the multi-turn reset, the node will be brought back to SYNQ mode.


  Support for additional drive parameters for the S200 drive
    Reference Number: MPI 1981
    Type: Change Feature
    MPI Version: 03.04.03
   

Description:
The SFD device contains useful information about the motor that is connected to the drive. This information is now available as new S200 Drive read-only parameters.

 

Version 03.04.01

  Revision of frame buffer loading to decrease likelihood of "Out-of-Frames" events
    Reference Number: MPI 1950
    Type: Change Feature
    MPI Version: 03.04.01
   

Description:
For path motion (Splines, PVT, PT, etc.), the MPI creates the frames used by the motion and then writes them to the controller. Typically, each point in the path has a corresponding frame for each axis of motion. For path segments with a large number of points (large number of frames), there is an initial group of frames loaded when the motion is started. More frames are loaded as a result of interrupts (events) generated when the axes' frame buffers run low on frames.

In previous versions, the number of frames loaded was always half the capacity of the frame buffer and the "low frame" trigger was hard coded at 32 frames. Although this limit is usually sufficient for the default buffer size of 128 frames, larger buffers could benefit from increasing these limits. In addition, in cases where a backup on path was not needed, the number of initially loaded frames could be larger.

This change will be most useful for customers streaming path (PVT, etc.) points at a high rate. To take advantage of this feature the frame buffers for the axes involved in the streaming motion should have increased frame buffer sizes (larger than the default of 128 frames). Increase the axes' frame buffer sizes with mpiControlConfigSet(...) or the meiConfig utility. Be sure to retain the parameter for path motion as FALSE.


  S200 Drive Brake Logic
    Reference Number: MPI 1936
    Type: Change Feature
    MPI Version: 03.04.01
   

Description:
The AmpNotPowered fault was added into the default MEIMotorFaultConfig.faultMask logic due to changes in the S200 FPGA brake logic. The "Amp Not Powered" fault bit will now trigger the motor's AmpFault when the Brake is applied directly by the drive. See FPGA issue FP523 for details.

 

Version 03.04.00

  Motor I/O Brake source inverted with SSI FPGA
    Reference Number: MPI 1871
    Type: