Release Note
MPI Library Version 04.02.05
Release Type |
MPI Version |
Release Date |
Production Release |
04.02.05 |
22Feb2013 |
Production Release |
04.02.04 |
11Jan2013 |
Production Release |
04.02.03 |
29Nov2012 |
Production Release |
04.02.02 |
14Nov2012 |
Production Release |
04.02.01 |
2Nov2012 |
Production Release |
04.02.00 |
30Sept2012 |
New Features
Version 04.02.05
|
Compare Delta (Divide-By-N) |
|
|
Reference Number: MPI 2609 |
|
|
Type: New Feature |
|
|
MPI Version: 04.02.05 |
|
|
Description:
The compare delta (Divide-By-N) mode generates a sequence of output signal pulses based on position feedback (at hardware speeds). For example, the pulses might begin at position 1,000,000 and repeat every 262,144 (2^18) counts until they stop at 10,000,000.
The divide-by-N feature is typically used to trigger external devices, such as a camera, at precise locations along an axis, with very high accuracy and low latency.
Note at introduction, only the AKD-SynqNet drive supports this feature. AKD-SynqNet firmware must be V01-08-00-005 or later.
See the API documentation for software object and method details. See the "Topics" documentation for an overview of the feature and programming suggestions. |
Version 04.02.04
|
QMP CPCI and PCIe Support |
|
|
Reference Number: S-10479 |
|
|
Type: New Feature |
|
|
MPI Version: 04.02.04 |
|
|
Description
The 04.02.04 release adds support for CPCI and PCIe form factors of the QMP. For more information about these controllers, contact us at: controls.info@kollmorgen.com
|
Version 04.02.00
|
AKD-SQ Support |
|
|
Reference Number: MPI 2568 |
|
|
Type: New Feature |
|
|
MPI Version: 04.02.00 |
|
|
Description
Support for AKD SynqNet, as well as Wake and Shake, has been added to the drive module library. For more information, reference the Important Things to Know as well as, the AKD SynqNet Communications Manual.
|
|
Compare Feature |
|
|
Reference Number: MPI 2569 |
|
|
Type: New Feature |
|
|
MPI Version: 04.02.00 |
|
|
Description
A new compare object was added to the MPI library. The compare feature generates a hardware output signal at hardware speed.
|
|
New Controller IO Config Method Implemented |
|
|
Reference Number: MPI 2576 |
|
|
Type: New Feature |
|
|
MPI Version: 04.02.00 |
|
|
Description
A new feature was added that allows configuration of controller IO by changing the values in the controller flash. To use this feature, update the flash on the controller and perform a meiReset. This feature is also backwards compatible.
|
General Changes
Version 04.02.04
|
Performance Improvements |
|
|
Reference Number: S-10422 |
|
|
Type: Change Feature |
|
|
MPI Version: 04.02.04 |
|
|
Description:
Memory Get functions (mpiPlatformMemoryGet(), mpiControlMemoryGet(), etc.) now take advantage of Intel burst mode instructions (SSE instructions). This can increase the performance of reads from controller memory by a factor of 4. |
|
|
Affects to Application Code:
None.
|
|
Motion Modify Exceeds Maximum Velocity |
|
|
Reference Number: MPI2608 |
|
|
Type: Change Feature |
|
|
MPI Version: 04.02.04 |
|
|
Description:
- Under certain conditions, where the jerk or acceleration is decreased from that of the original move, a modified move may exceed the maximum specified velocity. These conditions will now return a profile error (MPIMotionMessagePROFILE_ERROR) from the calling function, and the move will not be modified. To avoid this error, the jerk and acceleration should not be decreased for modifying moves.
- More information can be found at: http://support.motioneng.com/fuji/Profile_errors_due_to_low_jerk_parameters.pdf
|
|
|
Affects to Application Code:
None.
|
Version 04.02.00
|
Power-on Self-test (POST) Performance Enhancements |
|
|
Reference Number: N/A |
|
|
Type: Change Feature |
|
|
MPI Version: 04.02.00 |
|
|
Description:
POST now takes less than a second. This allows for mpiControlCreate() commands to be issued as quickly as possible. Error codes returned while POST is still running were improved to reflect this situation, instead of returning POST failures. |
|
|
Affects to Application Code:
None.
|
|
Power-on Self-test (POST) LED Error Codes |
|
|
Reference Number: N/A |
|
|
Type: Change Feature |
|
|
MPI Version: 04.02.00 |
|
|
Description:
The POST LED (if available on board) now displays the same error code as the Status (or Debug) LED. |
|
|
Affects to Application Code:
None.
|
|
Corrected Metric Delay for Subsampled Systems |
|
|
Reference Number: N/A |
|
|
Type: Change Feature |
|
|
MPI Version: 04.02.00 |
|
|
Description:
Metric delay for subsampled systems was corrected. |
|
|
Affects to Application Code:
None.
|
Fixed Bugs
Version 04.02.05
|
Filter Object not correctly initialized |
|
|
Reference Number: MPI 2612 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.03.00 |
|
|
Problem/Cause:
The initialization of filter objects for new filters (filters added by increasing the number of allocated filters) is incorrect.
This was caused by incorrectly setting the default number of gain sets (1) while initializing the filters. |
|
|
Fix/Solution:
The code to initialize the filters was changed to correctly set the number of gains sets to 1.
|
|
|
Affects to Application Code:
The filters are correctly configured with the default values when the number of allocated filters is increased.
|
|
Incorrect Profile Error Generated |
|
|
Reference Number: MPI2614 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.05 |
|
|
Problem/Cause:
Profile error incorrectly generated when initial or final velocities are higher than MaxVelocity.
Recent firmware modifications check for any frame that has a velocity greater than the slewing velocity (MaxVelocity). This check was causing profile errors for two type of moves:
1) Modify of move that has a velocity greater than that of the modifying move.
2) Start or modify where the final velocity exceeds the slewing velocity. |
|
|
Fix/Solution:
The firmware check was revised to only return an error for frames that have a velocity in excess of the maximum of the initial, final, or slewing velocity.
|
|
|
Affects to Application Code:
The original problem (low jerk causing excessive velocity) is still correctly detected. Moves with high initial or final velocities now execute correctly.
|
|
User Limits Configure Incorrectly |
|
|
Reference Number: MPI2611 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.05 |
|
|
Problem/Cause:
User Limits using MPIUserLimitConditionTypeCAPTURE_STATE configure incorrectly.
This was caused by an incorrectly calculated SourceAddress for the user limit condition. The map module was using the wrong structure offset in calculation the pointer used to configure the limit's input. |
|
|
Fix/Solution:
The Map Module code calculating the pointer was corrected.
|
|
|
Affects to Application Code:
The pointer is correctly configured.
|
|
Windows 3.3.8 Driver Is Not Backward Compatible |
|
|
Reference Number: MPI2610 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.05 |
|
|
Problem/Cause:
Windows 3.3.8 driver is not backward compatible with MPI 4.2.3 and older. |
|
|
Fix/Solution:
A new driver has been released. Version 3.3.9.
|
|
|
Affects to Application Code:
The new driver will work with older versions of the MPI.
|
Version 04.02.04
|
Device Driver 3.38 |
|
|
Reference Number: S-10541 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.04 |
|
|
Problem/Cause:
Previous device drivers for 64-bit Windows 7 have a memory leak that affects performance. |
|
|
Fix/Solution:
This release includes a new driver, version 3.38, that corrects this problem. This driver is required when using MPI 04.02.04, you may not use previous drivers with this release. The 3.38 device driver is also backwards compatible with earlier 04.02.xx releases should you choose to use it.
|
|
|
Affects to Application Code:
The CPCI version of QMP controllers may disable the INTA interrupt line for systems that support MSI interrupts. Device driver version 3.38 supports this feature for Firmware versions greater than 904A5.
|
Version 04.02.02
|
meiConfig Support |
|
|
Reference Number: N/A |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.02 |
|
|
Problem/Cause:
meiConfigGui produced a warning “Schema Info Missing” as it processed the uploaded configuration. |
|
|
Fix/Solution:
This warning message no longer occurs. MeiConfig and meiConfigGui now function as intended.
|
|
|
Affects to Application Code:
None. |
Version 04.02.01
|
meiConfig Support |
|
|
Reference Number: N/A |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.01 |
|
|
Problem/Cause:
meiConfig.exe and meiConfigGUI.exe were temporarily removed from the MPI for the 04.02.00 release. Development of these utilities was completed and are available in the 04.02.01 release. |
|
|
Fix/Solution:
Development of these utilities was completed and they are available in the 04.02.01 release.
|
|
|
Affects to Application Code:
meiConfigGui produces a warning “Schema Info Missing” as it processes the uploaded configuration. This doesn’t adversely affect its operation.
|
|
SaveToFlash Missing Data |
|
|
Reference Number: MPI2603 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.01 |
|
|
Problem/Cause:
Save to flash did not save AxisConfig's HoldConditions, EStopModify, and TriggerModifyPoint data. |
|
|
Fix/Solution:
|
|
|
Affects to Application Code:
None.
|
Version 04.02.00
|
Limitation on using multiple client threads |
|
|
Reference Number: MPI 2580 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.00 |
|
|
Problem/Cause:
Client/Server architecture did not support multiple client threads.
The Server architecture was not compatible with multiple client-side threads. All client-side threads shared the same server connection to the same server thread. The result was that locks were not honored on the server, since it was the same server thread acquiring and releasing locks. |
|
|
Fix/Solution:
Every client thread has a separate server thread.
Pass in a Control object to mpiThreadCreate(). Client side threads should now work fine in Client/Server mode.
|
|
|
Affects to Application Code:
The MPI method mpiThreadCreate was changed. A new control object argument was added. This is the new prototype:
MPI_RESULT mpiThreadCreate(MPIControl control, MPIThread, MPIThreadOptions *options);
|
|
AKD-SQ AnalogOut Not Working |
|
|
Reference Number: MPI 2547 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.00 |
|
|
Problem/Cause:
The AnalogOut NodeIO feature of the AKD-SQ drive was not functional. The packet configuration was corrupt due to a math error in the compare module. This caused the analog out pointer to be offset. |
|
|
Fix/Solution:
The math error in the compare module was fixed. The analog out pointer is now correct and it is available at the pin.
|
|
|
Affects to Application Code:
N/A
|
|
sqDriveMonitor -info for AKD |
|
|
Reference Number: MPI 2550 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.00 |
|
|
Problem/Cause:
The info displayed in the sqDriveMonitor -info for AKD was incorrect. This was caused by an incorrect description in the node library spec. |
|
|
Fix/Solution:
The monitor index description in the node library spec was corrected. sqDriveMonitor -info now displays the correct information.
|
|
|
Affects to Application Code:
N/A
|
|
sqPacketConfigSet resets the sample rate to default |
|
|
Reference Number: MPI 2573 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.00 |
|
|
Problem/Cause:
sqPacketConfigSet reset sample rate to default. This problem occured because sqPacketConfigSet was calling mpiControlResetToDefault. |
|
|
Fix/Solution:
This problem was corrected by adding a new flag to the Controller object called resetSampleRate. This flag is set whenever the sampleRate is reset, and is checked by mpiControlResetToDefault before resetting the sampleRate and TX Time. This fix prevents sqPacketConfig from reseting the sampleRate and TX Time.
|
|
|
Affects to Application Code:
N/A
|
|
Encoder Ratio reset issue |
|
|
Reference Number: MPI 2589 |
|
|
Type: Fixed Bug |
|
|
MPI Version: 04.02.00 |
|
|
Problem/Cause:
The encoder ratio is not retained after a reset, even if the topology is saved to flash. This was caused by a typo is the structure name, which was reseting the ratio to zero. |
|
|
Fix/Solution:
The typo was replaced with the correct structure name. Now the encoder ratio values are retained after a meiReset, when the topology is saved to flash.
|
|
|
Affects to Application Code:
N/A
|
Open Issues
Limitations
|
Multiple Drive Map Files |
|
|
Reference Number: N/A |
|
|
Type: Limitation |
|
|
MPI Version: 04.02.xx |
|
|
Problem:
Multiple *.dm files in the node directory may cause unexpected results when using meiConfig. It is recommended that you only have one file in this directory with the .dm extension per drive type. When multiple drive map files are present, it is possible that meiConfig will use the wrong one or an out of date .dm file.
Cause:
MeiConfig expects a clean directory and doesn’t know about copies and test DM files. MeiConfig reads every file with a .dm extension, and uses the first instance where the CONTENTS of the drive map file match the drive type. |
|
mpiFilterPostfilterSectionGet and mpiFilterPostfilterGet Unable to Identify Postfilter Types |
|
|
Reference Number: MPI 2284 |
|
|
Type: Limitation |
|
|
MPI Version: 04.02.xx |
|
|
Problem:
When postfilters are set to the controller by using mpiFilterPostfilterSectionSet(...) or mpiFilterPostfilterSet(...) and a variable representing a frequency is close to zero or the Nyquist frequency, mpiFilterPostfilterSectionGet, mpiFilterPostfilterGet are unable to identify the postfilter type.
Cause:
This limitation occurs because the postfilter type is not stored on the controller. Instead the MPI attempts to identify the postfilter type. However, when a specified frequency is close to zero or the nyquist frequency, the precision needed to correctly identify the postfilter type exceeds the precision of the variables on the controller resulting in the inability to correctly identify the postfilter type.
Indentification problems occur when a specified frequency is within 0.5% of the Nyquist frequency of zero. For a sample rate of 2 kHz, the Nyquist frequency is 1 kHz resulting in identification problems occurring when specified frequencies are in the range of 0-5 Hz or 995-1000 Hz. |
|
Single Thread Access to Interrupts per MPIControl Object |
|
|
Reference Number: MPI 2363 |
|
|
Type: Limitation |
|
|
MPI Version: 04.02.xx |
|
|
Description:
Two built-in MPI features use interrupts: the event service routine and the SyncInterrupt feature. However, only one thread may access interrupts when accessing a controller over a client-server connection.
The controller event service routine started by mpiControlEventServiceStart(...) uses interrupts when MPIWaitFOREVER is specified for the sleep parameter. Other values for the sleep parameter allows the event service thread to run in polling mode. In order to use the SyncInterrupt feature, the event collection thread must use polling or the SyncInterrupt routine must call mpiControlProcessEvents(...). |
|
sqNodeFlash Returns Timeout Error on eZMP server |
|
|
Reference Number: MPI 2512 |
|
|
Type: Limitation |
|
|
MPI Version: 04.02.xx |
|
|
Description:
While running server.exe on the eZMP with S200, a timeout error occurs when sqNodeFlash.exe is run on the client PC. |
|
SimServer Still Under Development |
|
|
Reference Number: N/A |
|
|
Type: Limitation |
|
|
MPI Version: 04.02.xx |
|
|
Description:
At the time of the release, the development of SimServer had not been completed. This feature is released as a standalone package and is not included in the MPI distributables. SimServer is planned to be completed and supported in the next MPI release (04.02.01). |
|