|
Release Note
MPI Library Version 03.04.05
Release Type |
MPI Version |
Release Date |
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 |
New Features
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.
|
| |
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 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.
|
General Changes
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: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
The motor configuration provides a "Brake" source for the general purpose I/O for MEI RMB node types. The Brake logic for the following node type was incorrect: MEI RMB-10V2-SSI with C0FE002C FPGA
For product consistency, the MEI RMB-10V2-SSI was changed to have the same polarity as the standard RMB-10v2 (C0FE002C FPGA).
WARNING: If you are upgrading from a previous MPI software release where you're using an RMB-10V2 with C0FE002C, and are using a Brake source for a general purpose motor I/O, the logic will be opposite in 03.04.00 and later releases.
|
| |
Cable Length Discovery Improvement |
| |
|
Reference Number: MPI 1850 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
In previous versions, the cable length discovery technique was inaccurate for networks with 6 or more nodes. The inaccuracies were caused by an incorrect measurement and calculation. The addition of more nodes to the network caused additional uncertainty in the time measurement, which caused inaccuracies in the cable length calculations. To reduce the inaccuracies, the cable length time measurements now occur between the controller and node or between two nodes. Thus, adding nodes to a network will no longer cause additional inaccuracies to the cable length calculations.
|
| |
Elimination of Control word in frame OR'd with Axis.Status |
| |
|
Reference Number: MPI 1824 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
A potential problem existed with the Control word in frames being or'd into the axis status. Some frames are not meant to have Control words and are supposed to execute in one sample. However, there are strange cases where the user can get the axis to stop on a frame with no Control word and have that frame be active during the background cycle. When this happens, the axis status code OR's in the data in the place where a Control word would be. So, depending on the data at that location, anything could happen. As a precautionary measure, the Control word in the frame to be OR'd with Axis.Status was eliminated.
|
| |
Motor Stepper Configuration Hardware Check |
| |
|
Reference Number: MPI 1790 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
A check has been put into place to ensure that Pulse engines are present before configuring a Motor type to Stepper.
|
| |
Cam Motion now uses Double Data Types |
| |
|
Reference Number: MPI 1764 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
To be consistent with the rest of the MPI the data types for specifying positions for cam moves have been changed from a long to a double.
See MPIMotionCam and MPIMotionAttributes.
|
| |
|
Affects to Application Code:
The following changes may cause compiler warnings.
OLD: typedef struct MPIMotionCam {
long pointCount;
long **slavePosition;
long *masterDistance;
double **gearRatio;
} MPIMotionCam;
|
NEW: typedef struct MPIMotionCam { long pointCount; double **slavePosition;
double *masterDistance;
double **gearRatio;
} MPIMotionCam; |
OLD: typedef struct MPIMotionAttributes { double *delay; long id; long *elementId; long masterStart; long repeatFrom; } MPIMotionAttributes; |
NEW: typedef struct MPIMotionAttributes { double *delay; long id; long *elementId; double masterStart; long repeatFrom; } MPIMotionAttributes; |
|
| |
Change of S200's Default Secondary Feedback |
| |
|
Reference Number: MPI 1754 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
The S200's default secondary feedback was changed from MEIMotorEncoderTypeQUAD_AB to MEIMotorEncoderTypeDRIVE. The default for the S200's Aux Feedback is now Drive Feedback instead of Quadrature.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
New defaults for MEIEventStatusInfo |
| |
|
Reference Number: MPI 1478 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
The MEIEventStatusInfo structure was expanded to handle 64 bit data. New default data structures were added and defined to overlay the 10 word data buffer that is returned by an event. By default, the new addressing was designed to match the new overlays.
NOTE: If the defaults are changed, the MPI overlays will not be accurate and cannot be used to extract data from the buffer.
See MEIEventStatusInfo.
NEW: typedef typedef struct MEIEventStatusInfo { union { MPIHandle handle; /* generic */ MPIAxis axis; /* MEIEventTypeAXIS_FIRST ... MEIEventTypeAXIS_LAST - 1 */ long node; /* MEIEventTypeCAN_FIRST... MEIEventTypeCAN_LAST - 1 */ long number; /* MPIEventTypeMOTION
MPIEventTypeMOTOR_FIRST... MPIEventTypeMOTOR_LAST - 1
MEIEventTypeMOTOR_FIRST ...
MEIEventTypeMOTOR_LAST - 1 */ long value; /* MPIEventTypeEXTERNAL */
} type;
MEIXmpSignalID signalID;
/* Contents of addresses specified
by MEIEventNotifyData{} */ union { long sampleCounter; struct { long sampleCounter; } motion; struct { long sampleCounter;
long positionError; MEIInt64 actualPosition;
MEIInt64 commandPosition; } axis; struct { /* Data associated with the CAN event. */ long data[4]; } can; struct { long sampleCounter; long dedicatedIn;
MEIInt64 encoderPosition; } motor; long word[MEIXmpSignalUserData]; } data; } MEIEventStatusInfo;
|
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
SynqNet Timing Improvements |
| |
|
Reference Number: MPI 1176 |
| |
|
Type: Change Feature |
| |
|
MPI Version: 03.04.00 |
| |
|
Description:
SynqNet Timing improvements were made to improve node control latency. For 16 kHz drives (the majority of SynqNet nodes), the new scheduling algorithm results in control latency times identical to previous MPI releases. For other drive update rates, and for non-periodic nodes (RMBs), control latency may change.
Since a change in control latency may affect system performance, special attention is recommended for these node types when upgrading from previous MPI releases.
Please see the SynqNet Performance Compatibility section of the online documentation for more information.
|
| |
|
Affects to Application Code:
The MEISynqNetTiming structure was changed to support the SynqNet packet schedule improvements. For more information about the packet schedule: See "SynqNet Packet Schedule Improvements" in the Important Things to Know section.
The controlLatency sub-structure in MEISynqNetTiming was removed. The calculationTime and calculationSlack were promoted to the MEISynqNetTiming structure.
OLD: MEISynqNetTiming.controlLatency.calculationTime
MEISynqNetTiming.controlLatency.calculationSlack
|
NEW: MEISynqNetTiming.calculationTime MEISynqNetTiming.calculationSlack
|
The demandLatency and feedbackLatency were moved to the new per node sub-structure of the MEISynqNetTiming structure.
OLD: MEISynqNetTiming.controlLatency.demandLatency MEISynqNetTiming.controlLatency.feedbackLatency
|
NEW: MEISynqNetTiming.node[].demandLatency MEISynqNetTiming.node[].demandLatency |
The total latency was promoted and renamed to controlLatency and the latencySlack was promoted and renamed to latencyOverhead.
OLD: MEISynqNetTiming.controlLatency.total MEISynqNetTiming.controlLatency.latencySlack |
NEW: MEISynqNetTiming.controlLatency MEISynqNetTiming.latencyOverhead |
|
Fixed Bugs
Version 03.04.05
| |
meiSqNodeDriveParamGet(...) could not read a string parameter |
| |
|
Reference Number: MPI 2082 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
meiSqNodeDriveParamGet(...) could not read a string parameter from the Yaskawa SGDS and SGDZ-MD drives.
|
| |
|
Fix/Solution:
This problem was corrected.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
Drive firmware download with SGDZ-BS |
| |
|
Reference Number: MPI 2071 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
meiSqNodeDownload(...) did not work with the Yaskawa SGDZ-BS drive when downloading drive firmware. The problem was caused by improper transmit and receive buffer configuration. |
| |
|
Fix/Solution:
This problem was corrected.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
mpiMotorEventConfigSet(ENCODER_FAULT) service command unsupported error |
| |
|
Reference Number: MPI 2068 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
mpiMotorEventConfigSet(ENCODER_FAULT) would fail with a service command unsupported error code. This problem was caused by an improper service command configuration in the MPI library. |
| |
|
Fix/Solution:
This problem was corrected.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
mpiMotorConfigSet possible hang with encoder ratio |
| |
|
Reference Number: MPI 2054 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
If the encoder ratio was configured with mpiMotorConfigSet(...), there was a possibility of a hang. The problem was caused by non-atomic 64-bit position reads from the controller. If the feedback values are changing across the 32-bit boundary during the position reads, the calculations in the MPI would not work correctly and the MPI would get stuck in a while loop. |
| |
|
Fix/Solution:
The problem was corrected by changing the position reads and calculations so that they do not require 64-bit atomicity. Additionally, a timeout was added to the while loop, so if the controller fails during the calculations, a TIMEOUT error will be returned.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
Yaskawa SGDS and SGDZ-BS param read problem |
| |
|
Reference Number: MPI 2047 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
meiSqNodeDriveParamGet(...) was unable to read the following Yaskawa SGDS and SGDZ-BS drive parameters: MotorCapacity, MotorType, SerialNumber, EncoderType, Customize number, and Electric angle. The problem was caused by an incorrect parameter addresses in the MPI library. |
| |
|
Fix/Solution:
The MPI library parameter addressing was corrected.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
SynqNet initialization hangs with ABS feedback and no motor object |
| |
|
Reference Number: MPI 2029 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
The MPI would hang during SynqNet initialization if the controller's motorCount was less than the physical number of motors on the network AND if the physical motor had ABS feedback AND was connected to a Kollmorgen S200 drive. The problem was caused by initializing an ABS feedback device on an S200 with a controller motor object that was not enabled. The MPI code has a while loop that waits for the firmware to update values. Since the motor was not enabled, the values were not updated and the MPI was stuck in the while loop. |
| |
|
Fix/Solution:
The problem was corrected by adding a timeout to the while loop. If the motor ABS initialization does not have a controller motor object, the MPI will return a TIMEOUT. To avoid the TIMEOUT error, make sure to set the motorCount with mpiControlConfigSet(...) to the number of physical motors.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
Incorrect Synqnet Timing values when new sample rate is saved to flash |
| |
|
Reference Number: MPI 1880 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.05 |
| |
|
Problem/Cause:
Several new SynqNet timing parameters are calculated when the sample rate is changed. These new timing parameters were not being saved in flash memory by mpiControlFlashConfigSet(...) if the current running sample rate matched the new sample rate. Only the value in dynamic memory (not the flash value) of the sample rate was compared to the new sample rate. The timing values were not written to flash becuase the MPI library function, mpiControlFlashConfigSet(...), did not detect a change. |
| |
|
Fix/Solution:
The value of the sample rate stored in flash is now checked and if the new sample rate is different, all the timing parameters are written to flash. When a new sample rate is set (the flash value is changed) the network is re-initialized and all the new parameters are stored in flash.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
Version 03.04.04
| |
ASSERT violation after Save Topology and power cycle |
| |
|
Reference Number: MPI 2053 |
| |
|
Type: Fixed Bug |
| |
|
FW Version: 629A3 |
| |
|
Problem/Cause:
If the topology was saved and the controller was powered off/on, the SynqNet network initialization would fail. The problem will not occur on ZMP-SynqNet series controllers. The cause of the problem was that the ASYNQ config buffer and the packet config buffer were not restored from flash during reset. As a result, the firmware was not be able to bring the network to SYNQ mode after a hard reset (power down).
In the case of a soft reset, the data in the ASYNQ config and packet buffers would still be there and things would appear to work normally.
|
| |
|
Fix/Solution:
The ASYNQ config and packet config buffers are now explicitly restored from flash during boot up.
|
| |
|
Affects to Application Code:
These changes were made to the controller firmware and will not affect customer code. |
| |
Hot Restart fails to restart some nodes |
| |
|
Reference Number: MPI 2044 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.04 |
| |
|
Problem/Cause:
If Motion Console was open while another application performed a meiSynqNetNodeRestart(...), certain SynqNet nodes (S200, S1800, and Slice I/O) may have failed to restart. This problem was caused by missing node locks during the restart.
|
| |
|
Fix/Solution:
To correct this problem, node locks were added to meiSynqNetNodeRestart(...).
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
| |
S200 Absolute Encoder data changes during mpiMotorConfigSet(...) |
| |
|
Reference Number: MPI 2043 |
| |
|
Type: Fixed Bug |
| |
|
MPI Version: 03.04.04 |
| |
|
Problem/Cause:
The S200 drive sends the absolute encoder data on both the primary and the secondary encoder. However, in previous versions the primary encoder data did not have the absolute multi-turn data. Instead it had relative multi-turn data. Only the Aux encoder would have the correct absolute multi-turn feedback data. There was a previous initialization fix (MPI 2022) in the 03.04.02 release, which switched the S200 secondary encoder pointer to be the primary encoder value and set the encoder counter to 1 in the controller. As a result, the drive module switched the pointer on the firmware memory. Therefore, when the mpiMotorConfigSet(...) function was called, it overwrote the changed pointer to the default stored in the MEIXMPBuffer memory.
|
| |
|
Fix/Solution:
Changes have been made so that the drive module changes the default value stored in the MEIXMPBuffer memory. This will ensure that when the mpiMotorConfigSet(...) function is called, the correct Encoder pointer mapping will occur.
|
| |
|
Affects to Application Code:
These changes were made to the internal MPI/MEI libraries and will not affect customer code. |
|