v3.3u7 to v3.4 Change Log (October 8, 2019)
Utility and Installer Changes
Added support for Windows version of WMX3 to ConfigureNIC and installer.
Added support for Multi-cycle to EcConfigurator and Profile Analyzer.
Added integrated utility “WOS”
Added “Show the Device Manager” and “Show the Network Connection” buttons to ConfigureNIC.
Modified the device list in the installer and ConfigureNIC to display the location name and network name along with the NIC name.
Modified to apply the last added license code for license authentication when multiple license codes for WMX3 are added.
Removed General Operator.
New Functions
Added Multi-cycle support and Windows version support for EcPlatform and SimuPlatform.
Added Profile Motion support for EcPlatform.
The Log function has been overhauled. Now, the data that can be logged is defined per module by extending the LogInput class. A legacy interface to start Log functions using the old APIs is provided, but may be deprecated in the future.
The Event function has been overhauled. Now, all event functions use the custom event interface that allows event inputs and outputs to be defined per module by extending the EventInput and EventOutput classes. A legacy interface to start Event functions using the old APIs is provided, but may be deprecated in the future.
Added DeviceClose and DeviceTimeout event inputs and HaltApiBuffer event output.
The APIBuffer function has been overhauled. The Execute, Halt, Clear, and Rewind functions can be called from within an API buffer.
Modified path interpolation with look ahead to support 3D circular interpolation with up to three auxiliary axes. The auxiliary axes move linearly with the 3D circular motion, and does not affect the segment distance or velocity.
Added SimulatePosAtTime, SimulateTimeAtPos, and SimulateTimeAtDist functions for 3D path interpolation.
Added pitchIntervalDirection parameter to pitch error compensation and 2D pitch error compensation.
Added GetPitchErrorCompensationAtPosition and Get2DPitchErrorCompensationAtPosition functions for obtaining the pitch error compensation and 2D pitch error compensation values at particular positions.
Added edgeDropoffDistance parameter for pitch error compensation and 2D pitch error compensation.
Added the FastBlending linear interpolation override type. This linear interpolation override is selected by default.
Added HSOff, HSOffZPulse, and HSOffReverseZPulse home types.
Added disableIdleAxisTrigger parameter to RemainingTime, CompletedTime, RemainingDistance, and CompletedDistance event inputs to prevent the event from triggering while the axis is in Idle operation state. This is to allow events using these conditions to be enabled before starting the motion, as enabling the event after the motion starts may not be deterministic for Windows applications.
Added profileCompletedTime and profileTotalDistance statuses.
Specs Changes
Changed the class name EcAPI to Ecat.
Several functions have been adjusted to support Multi-cycle operation. The influence of Multi-cycle on functions are documented in the Architecture\Interrupts section of the WMX3 Motion Manual v3.4.
By default, initial I/O output states are not set when starting communication. Each I/O output has a flag to enable or disable setting the initial I/O output state.
Flight recorder files are saved per interrupt, and the file names now contain the interrupt number.
All CoreMotionStatus statuses except for servoOffline and axisCommandMode are fixed to 0 while the axis is offline.
Constructors were added to several classes, including to some classes that were missing default constructors.
Additional error checks and more detailed error codes were added to many API functions.
Several statuses have been added to support Multi-cycle operation.
Modified Velocity::Stop, Motion::Stop, and the Stop event to execute Quick Stop if the axis is in a state that is not supported by the Stop function (for example, if the axis is executing motion for which the deceleration is not specified).
Removed StopTimeMilliseconds parameter from PointTimeSplineCommand, TotalTimeSplineCommand, and VelAccLimitedSplineCommand. Instead, the stop time is automatically calculated from the approximate maximum combined acceleration applied to the axes during the entire spline motion.
Modified Stop function to update the target position status to the position where the axis will stop when called for axes executing linear, circular, and 3D circular interpolation.
Improved accuracy for prohibit overtravel during Stop and Pause functions. Previously, they were more aggressive than necessary.
Modified Smoothing type linear interpolation override to obtain the target positions of StartLinearIntplMov as relative to the target position of the current linear interpolation to be consistent with the Blending type linear interpolation override.
Modified encoderCommand status to update immediately after starting communication, to match the encoderFeedback, posCmd, and actualPos statuses.
Modified all statuses to obtain position data from the last completed cycle, instead of the cycle before that. This fixes the issue in which the applied compensation amount was different between the command position status and feedback (actual) position status.
Modified OverridePathIntplVelocityMultiplier and OverridePathIntpl3DVelocityMultiplier to pause the axis if a multiplier of 0 is specified (as if the Pause function is called). Resume can be used to resume the path interpolation from this state (the velocity multiplier will be set to the value before specifying 0). Also, OverridePathIntplVelocityMultiplier and OverridePathIntpl3DVelocityMultiplier can be used to resume a path interpolation that has been paused with the Pause function.
Renamed profileMoveDistance status to profileCompletedDistance to make the association with the CompletedDistance event and trigger motion more clear.
Modified Torque::StopTrq functions to not return an error if the commanded axis is not in Torque operation state, for consistency with other Stop functions such as Motion::Stop and Velocity::Stop.
Modified Torque::StopTrq function for multiple axes to stop all commanded axes that are in Torque operation state, even if some of the commanded axes are not in Torque operation state. This is for consistency with other Stop functions for multiple axes such as Motion::Stop and Velocity::Stop.
Removed max3DPathInterpolatePoints constant (similar to the maxPathInterpolateOutputs constant, the maxPathInterpolatePoints constant will apply to both 2D and 3D path interpolation).
Modified path interpolation with rotation and path interpolation with look ahead to hold as many commands as the buffer size specified to the create buffer function. Previously, it was the specified buffer size minus 1.
Modified CenterAndEndAbsolute circular interpolation to consider the starting point to equal the end point when the difference between each of the starting point and end point coordinates is less than 0.5 user units. Previously, the starting point was considered equal to the end point if the starting point equals the end point after rounding each coordinate to the nearest integer.
Improved TrapezoidalMAT profile to maintain the current acceleration without dropping it to 0 when overriding.
Modified the OverrideMov function to set the target position equal to “specified position + the target position of the current motion command of the axis” to match StartMov. Previously, the target position was equal to “specified position + the current command position of the axis”.
Bug Fixes
Several bug fixes.
Sample Code Changes
Added build settings to generate rtss applications.