v3.3u6 to v3.3u7 Change Log (August 2, 2019)

New Functions

  1. Added options to Log and Memory Log functions to log the position command and position feedback in the coordinates after applying compensation.

Specs Changes

  1. The ignoreDistanceLessThan parameter for profile spline and velocity acceleration limited splines has been removed. The spline algorithm has been updated to support duplicate points in the spline data, so it is no longer necessary to set this parameter for such spline data.

Bug Fixes

  1. Fixed issue in which if OpenLogBuffer and OpenMemoryLogBuffer fails to allocate memory for the buffer and returns an error, all subsequent log functions returned an error until the engine was restarted.

  2. Fixed homing issue in which if the limit switch or home switch is on at the start of homing, or for home types that reverse after detecting the home switch, the homing operation could stall when the limit switch or home switch is released.

  3. Fixed path interpolation and 3D path interpolation override issue from WMX3 v3.3u6 in which calling OverridePathIntplVelocityMultiplier or OverridePathIntpl3DVelocityMultiplier when a different profile is specified for each segment could cause the profile to appear as if a single profile was generated for the entire remaining path.

  4. Fixed path interpolation and 3D path interpolation velocity multiplier override issue in which calling OverridePathIntplVelocityMultiplier or OverridePathIntpl3DVelocityMultiplier, and then calling Pause/Resume will cause the initial velocity when resuming to be the velocity at which the override velocity multiplier was called, causing the axis to suddenly accelerate.

  5. Fixed issue for path interpolation and 3D path interpolation with a different profile specified for each segment, in which if a Pause is executed while the axes are decelerating, the path interpolation was aborted under certain conditions when Resume is called.

  6. Fixed issue for path interpolation with rotation in which if the Pause function is used to stop the interpolation as the axes are decelerating to a stop, the interpolation may be aborted when the Resume function is called.

  7. Fixed issue for path interpolation, 3D path interpolation, and path interpolation with rotation for which a profile is specified for each segment, in which the Pause or Stop function could cause the axes to stop very rapidly due to incorrect overtravel detection.

  8. Fixed path interpolation, 3D path interpolation, and path interpolation with rotation issue for which the end velocity is specified for each point, in which calling the Pause function for a segment which starts at a non-zero velocity caused the Resume function to suddenly accelerate to that velocity.

  9. Fixed path interpolation, 3D path interpolation, and path interpolation with rotation issue in which if the path interpolation specifies the profile for each segment and the end velocity for some segments is not zero, the RemainingTime and CompletedTime trigger conditions, and path output trigger conditions did not trigger at the correct timing, and the ProfileRemainingTime and ProfileCompletedTime statuses were incorrect.

  10. Fixed path interpolation and 3D path interpolation issue in which the ProfileRemainingTime and ProfileCompletedTime statuses became incorrect after executing Pause and Resume. These statuses will stop updating after pausing and resuming, as they are no longer valid.

  11. Fixed issue in which SimulateTimeAtDist function for path interpolation did not correctly calculate the times if the profile is specified for each segment and the end velocities of one or more profiles are not zero.

  12. Fixed issue in which the number of spline points could be calculated incorrectly, causing splines to execute motion from previous commands at the end of the spline motion or return incorrect errors under certain conditions.

  13. Fixed issue in which using the ignoreDistanceLessThan parameter for profile splines and velocity acceleration limited splines could cause the axis to move to the 0 position at the end of the spline under certain conditions. This parameter has been removed and the spline algorithm updated to support duplicate points in the spline data. (Also see the “Specs Changes” above.)

  14. Fixed issue in which ErrorToString and other functions with string buffer arguments caused the user application to crash if the buffer size is less than the recommended size.

  15. Fixed issue in which RemainingDistance and CompletedDistance triggered motion and events could be evaluated incorrectly, and the ProfileRemainingDistance status could become incorrect if the triggered axis is at a position outside the range -(2^38) to 2^38-1.

  16. Fixed issue in which if the target position of a regular single axis position command (StartPos and similar) is outside the range -(2^38) to 2^38-1, then the command position could suddenly change by a multiple of 2^39 when the motion completes.

  17. Fixed issue in which the compensation was applied 1 cycle late if the CoreMotion module is loaded before the Compensation module in Modules.ini.

  18. Fixed issue for path interpolation with rotation in which using channels other than channel 0 will cause the data from channel 0 to be used, causing unexpected operation. If the channel 0 buffer is not allocated when another channel is executed, the engine crashed.

  19. Fixed issue for path interpolation with rotation in which if the axisCoordinateFlip parameter is used, and the command segments are added using multiple calls of AddPathIntplWithRotationCommand, the target positions for the second and subsequent AddIntplWithRotationCommand were calculated incorrectly.

  20. Fixed the printlog issue in SimuPlatform.