.

Release Notes: CODESYS SoftMotion 4.17.0.0

Key Issue Type Summary Resolution Note
SM-5269 Bug

AxisGroup can get stuck when MC_GroupEnable is called directly after MC_GroupDisable

Cannot Reproduce [[GENERAL]]
The issue was fixed with SM-4660.
SM-5262 Bug

SMC_TrackSetValues, SMC_TrackAxis: MC_SetPosition is not handled correctly

Fixed [[COMPATIBILITY_INFORMATION]]
SMC_TrackSetValues now behaves like SMC_FollowSetValues if the provided set values can be followed exactly.
In particular, the fSetPosition is now expected to be provided in the coordinate system that was active on the rising edge of bExecute. If the coordinate system is changed using MC_SetPosition and the fSetPosition should be provided in the new coordinate system, SMC_FollowSetValues has to be restarted.
SM-5257 Bug

SMC_AvoidLoop: full circle is cut due to numerical reasons

Fixed
SM-5242 Bug

CAN_Schneider_Lexium32: Wrong attribute value for offlineaccess

Fixed
SM-5234 Improvement

SoftMotion profiles should support relative paths

Fixed [[COMPATIBILITY_INFORMATION-OEM]]
Starting with SoftMotion 4.17.0.0, the entry "SoftMotion Profiles" in RepositoryLocations.ini can optionally be a relative path. Previously, only absolute paths were supported.
SM-5230 Bug

SMC_AvoidLoop: circle is cut although there is no loop

Fixed [[GENERAL]]
The function block SMC_NCInterpreter has a new input dPrecision of type LREAL. With this input, zhe user can provide information how much precision the G-Code positions have. For example, if all positions in G-Code are in mm with 3 significant digits after the decimal point, dPrecision should be set to 0.001 mm.

The precision is used by SMC_ToolRadiusCorr and SMC_AvoidLoop to compensate for resulting inaccuracies that may happen due to the limited precision of the input.

In the CODESYS development system, the precision can be set for offline use in the properties of CNC objects.
SM-5225 Bug

Robotics: possible access violation in planner when using a dynamic model

Fixed
SM-5215 Bug

MC_MoveSuperImposed, MC_SetOverride: Effective distance of superimposed movement changes if the override is changed while there is no underlying movement

Cannot Reproduce [[GENERAL]]
Fixed with SM-5089
SM-5213 Bug

MC_PositionProfile, MC_VelocityProfile, MC_AccelerationProfile: Position is not set correctly for modulo axes

Cannot Reproduce [[GENERAL]]
Fixed with SM-5089 for SM 4.17.0.0
SM-5206 Bug

MC_GearInPos: Position jump when switching to InSync while an MC_MoveSuperImposed is active on the slave axis

Cannot Reproduce [[GENERAL]]
Fixed with SM-5089 for SoftMotion 4.17.0.0.
SM-5205 Bug

MC_MoveVelocity: Jump in position when the function block is not called when it is aborted and the override changes in the meantime

Cannot Reproduce [[General]]
The issue was fixed by SM-5089
SM-5203 Bug

SMC_TrackSetValues and SMC_TrackAxis: access violation if controlled axis has ramp type sinsquare and quadratic_smooth

Fixed
SM-5202 Bug

SMC_TrackSetValues and SMC_TrackAxis don't work well with superimposed movement on the controlled axis

Cannot Reproduce [[GENERAL]]
Fixed with SM-5262
SM-5192 Bug

MC_Phasing: Invalid error codes may be returned

Fixed
SM-5180 Bug

Robotics Dynamic model example: Center of mass for the z-axis and spatial inertia for thin rods is not correct

Fixed
SM-5178 Improvement

Kollmorgen AKD2G: Update device descriptions - new ESI Data

Fixed [[GENERAL]]
Devdescs has been integrated
SM-5158 Improvement

New SoftMotion Driver for Mitsubishi Melservo series

Fixed
SM-5157 Improvement

CMZ SBD Drive CAN: update the "TransmissionType" in the device descriptions.

Fixed [[GENERAL]]
Devdescs has been integrated
SM-5156 Improvement

BoschRexroth CtrlX Drive: delete old ESI files

Fixed [[GENERAL]]
Devdescs has been integrated
SM-5154 Improvement

MC_CamIn: Add support for BufferModes

Fixed
SM-5151 Bug

MC_CamIn: Position jump when MC_SetPosition is called on the master axis during camming

Fixed
SM-5141 Bug

MC_MoveSuperImposed, Buffered movements: Inconsistent behavior when using MoveSuperImposed while buffered movements are active

Cannot Reproduce [[COMPATIBILITY_INFORMATION]]
Starting with SoftMotion version 4.17.0.0 the behavior when using superimposed movement together with buffered or blending discrete movements is as follows:

- The trajectories of superimposed movements and the underlying movements do not affect each other. The total distance travelled by the axis is the distance of all superimposed movements plus the distance of all underlying movements.
- The total superimposed distance will not be reset by any non-aborting movement.
- In particular, the target position of buffered or blending absolute movements will be the commanded position plus the total superimposed distance.
- The total superimposed distance is reset when an aborting movement is commanded. An aborting absolute movement will reach the commanded position exactly. The distance travelled by any preceding superimposed movement is not added to the commanded position.

[[GENERAL]]
Fixed with SM-5089.
SM-5127 Bug

SM3_Drive_ETC_Yaskawa_Sigma7: device description is missing support for velocity offset (0x60B1:00)

Fixed
SM-5119 Bug

MC_MoveSuperImposed, Blending: Commanding a blending movement while MC_MoveSuperImposed is active can lead to a huge position overshoot

Cannot Reproduce [[GENERAL]]
Fixed with SM-5083
SM-5118 Bug

MC_MoveAdditive, MC_MoveSuperImposed, MC_SetOverride: Jump in position when changing the override while MC_MoveAdditive and MC_MoveSuperImposed are active

Cannot Reproduce [[GENERAL]]
Fixed with SM-5083
SM-5117 Bug

MC_MoveAbsolute/Relative: Wrong axis state while blending

Cannot Reproduce [[GENERAL]]
Fixed with SM-5083
SM-5105 Improvement

SMC_GroupWait: improve documentation

Fixed
SM-5089 Epic

Basic motion: Support for forecast

Fixed [[GENERAL]]
Using the new function block SMC_SetForecast, a forecast can be set on an AXIS_REF_SM3.

This allows querying axis set values in the future using SMC_ReadSetValues and calculating the duration until an axis position will be reached using SMC_GetTravelTime.
SM-5084 Bug

MC_CamIn: problems when MC_CamIn is followed by a buffered movement

Fixed
SM-5081 Improvement

Additional segment types: Moved constants gc_SMC_FILE_MAXCAMEL and gc_SMC_FILE_MAXCAMTAP

Fixed [[COMPATIBILITY_INFORMATION]]
The global variable list SMC_File_Constants of the library SM3_Basic has been deleted. The constants gc_SMC_FILE_MAXCAMEL and gc_SMC_FILE_MAXCAMTAP have been converted into library parameters and moved to the global variable list LibParams.
SM-5059 Bug

MC_GearInPos, MC_CamIn: Outputs are not correct when aborted

Fixed
SM-5058 Improvement

MC_CamIn: Remove bChangedOnline functionality

Fixed [[COMPATIBILITY_NOTE]]
The internal variable MC_CAM_REF.bChangedOnline has been removed.
SM-5051 Bug

Tab: Scaling/Mapping: "Auto mapping" does not work correctly if several Devices are present

Duplicate [[GENERAL]]
Duplicates SM-4481, which was fixed with SoftMotion 4.16.0.0.
SM-5044 Improvement

MC_CamIn, ramp_in_dist: Handle changed or modified cam tables

Fixed [[COMPATIBILITY_INFORMATION]]
If the input CamTableId is changed while ramping in with StartMode ramp_in, ramp_in_neg, or ramp_in_pos, ramping in is not aborted. If the new cam table evaluates to the same slave state for the given master state as the old cam table, no jump occurs.
SM-5026 Bug

MC_CamIn: StartMode = relative is not considered

Fixed
SM-5024 Improvement

MC_SetOverride: improve documentation with diagrams

Fixed
SM-5020 Improvement

Implement MC_HaltSuperimposed

Fixed [[COMPATIBILITY_INFORMATION]]
A new error "SMC_SUPERIMPOSED_FB_WASNT_CALLED" has been introduced. This error is generated if an MC_MoveSuperimposed or MC_HaltSuperimposed is still active but not called in the current task cycle. The axis changes to errorstop.
It is possible, though unlikely, that this error occurs with existing projects that worked without errors with earlier versions of CODESYS SoftMotion. In this case, the application has to be modified so that MC_MoveSuperimposed is called as long as it is active.
SM-5011 Bug

SMC_ToolRadiusCorr, G02: Correction does not work on full circles

Fixed
SM-5010 Bug

MC_CamIn: ramping in may take longer than necessary with velocity ramp type quadratic_smooth

Cannot Reproduce [[GENERAL]]
The bug has been fixed during a refactoring in MC_CamIn (SM-4977).
SM-5000 Improvement

MC_CamIn: Document behaviour when starting a cam relatively with a start position <> 0

Fixed
SM-4998 Improvement

Improve performance of SM3_Shared.fmod

Fixed
SM-4988 Bug

Optional SM axes can lead to "FBError Drive= Fieldbus lost synchronicity" error

Won't Fix [[GENERAL]]
The SoftMotion axis reports a "Fieldbus lost synchronicity" error if the EtherCAT master reports that DC are no longer in sync. This is the intended behavior and not a bug.
SM-4984 Bug

Access violation when using MC_GroupReset or MC_GroupDisable

Fixed
SM-4948 Bug

MC_Home: Falling Execute edge causes a reset of the POU even when it is not finished yet

Fixed
SM-4939 Improvement

Create a function block to compute the axis position given a high resolution timestamp (intra-cycle)

Fixed
SM-4934 Improvement

Improve restart behaviour with the sinsquare velocity profile

Fixed [[COMPATIBILITY_INFORMATION]]
The interruption behaviour of velocity ramp type sinsquare has been changed. If a movement is interrupted while the acceleration of the axis is non-zero, the new movement starts immediately with acceleration 0.

Previously, the acceleration has first been ramped down to 0 with the configured maximum jerk. This was potentially dangerous, if a small value for the maximum jerk has been configured accidentally. In this case, a large position overshoot could occur.

The new behavior is thus safer. However, the acceleration now will jump to zero on interruption.

To activate the old behavior (acceleration ramp to zero) again, you can use the compiler define SM3_BASIC_SINSQUARE_ACC_RAMP in your application.
SM-4911 Epic

MC_CamIn: Additional functionality

Fixed [[GENERAL]]
MC_CamIn now supports synchronizing at a desired Master position in the cam table using the new StartMode "ramp_in_dist" together with the new inputs "MasterSyncPosition" and "MasterStartDistance".

There is a new library "SM3_CamBuilder" that provides an API for dynamically creating cams at runtime.

Polynomial segments of degree 7 are now supported.
SM-4899 Bug

MC_GearInPos cannot be aborted by MC_Stop while it is waiting for the master axis to reach the MasterStartDistance

Fixed [[GENERAL]]
An MC_GearInPos instance that is waiting for StartSync will now be aborted by an MC_Stop executed on the slave axis.
SM-4897 Bug

MC_CamIn: Division by zero when the MasterScaling is set to zero

Fixed [[GENERAL]]
MC_CamIn will now report the error SMC_INVALID_PARAMETER if MasterScaling or SlaveScaling is set to 0.
SM-4825 Bug

MC_CamIn: Slave position jump when changing cam

Fixed
SM-4795 Improvement

SMC_TRAFO_Tripod_Arm: Improve documentation for inputs

Fixed
SM-4792 Bug

MC_CamIn: Acceleration jump after ramping in with sinsquare velocity profile

Fixed
SM-4785 Bug

SMC_ToolRadiusCorr/SMC_AvoidLoop does not report an error for unsupported ellipses types (G8/9)

Fixed [[COMPATIBILITY_INFORMATION]]
Ellipses (G08/G09) are not supported during active tool radius correction and/or loop avoidance. Starting with version 4.17.0.0, an error is reported for ellipses during active tool radius correction and/or loop avoidance.
SM-4783 Improvement

SM3_Drive_ETC: In case of lost sync error, log maximum task jitter and dc sync values

Fixed
SM-4751 Bug

SMC_Interpolator: Error due too high Spline curvature

Fixed
SM-4743 Improvement

Visu libs should be optional libraries

Fixed
SM-4724 Improvement

SMC_GroupReadPathDynamics: Create separate POUs for velocity and acceleration to reduce the computation time

Fixed
SM-4626 Improvement

[Product discontinuation] [Remove Product from Setup] SoftMotion sercos driver

Fixed [[COMPATIBILITY_INFORMATION]]
The driver SM3_Drive_sIII_Standard has been dicontinued and has been removed from CODESYS SoftMotion.
SM-4617 Bug

SMC_TRAFOF_Scara2/3, SMC_TRAFOF_Polar, SMC_TrafoF_ArticulatedRobot_6DOF: Division by zero exception for invalid parameter values

Fixed
SM-4421 Improvement

Create examples for the Multi-Axis Function Blocks that are not used for Cams

Fixed
SM-3467 Bug

Setting a variable mapping to a bit in the EtherCAT I/O mapping leads to a runtime error

Fixed
SM-2055 Bug

MC_Halt must not be able to abort homing

Fixed [[GENERAL]]
MC_Halt will now report the error SMC_AXIS_NOT_READY_FOR_MOTION if it is executed while the axis is in state "homing". The axis is unaffected by this and will continue the homing procedure.