.

Release Notes: CODESYS SoftMotion 4.20.0.0

Key Issue Type Summary Resolution Note
SM-6268 Bug

AdditionalAxes: Invalid path element created in special case

Fixed
SM-6196 Bug

SM3_Drive_CAN_EPOS4: library documentation with driver info not shown correctly

Fixed
SM-6193 Improvement

EtherCAT_BRC_CtrlXDrive_SoE change the default scaling value

Fixed [[GENERAL]]
device description has been edited.
SM-6192 Bug

SM_Drive_EtherCAT_SoE_Standard: Error during configuration phase [Probe 2: continuous measuring not supported]

Fixed
SM-6191 Improvement

MC_MoveCircularAbsolute, MC_MoveCircularRelative: Do not report an error for zero length circles

Fixed
SM-6187 Bug

SMC_CP_TRANSITION_NOT_SMOOTH when trying to blend between movements with OrientationMode Axis and GreatCircle without an orientation kinematics

Fixed
SM-6180 Bug

ContinueData, ResumeAfterError: possible wrong add axes continue position is stored

Fixed
SM-6176 Improvement

Axis group: There should be a function for checking whether movements can be accepted

Fixed
SM-6175 Bug

SM3_Robotics: Possible endless loop when using kinematics with zero axes

Fixed
SM-6174 Bug

SMC_GroupSaveContinueData might save inconsistent movement data

Fixed [[COMPATIBILITY_INFORMATION]]
Movement function blocks like MC_MoveLinearAbsolute now might report CommandAccepted one cycle later in the following case:
- There are multiple commanded movements that have not yet been accepted (Busy = TRUE AND CommandAccepted = FALSE). This generally only happens if a lot of movements were already buffered and are waiting to be executed.
- And the movement FBs are called in a different order than they were originally executed.
- And more than one of these movements can be accepted in the same cycle. This requires that more than one preceding movement is Done in the same cycle.
SM-6172 Improvement

Create example for G31 probing function and clear remaining distance

Fixed
SM-6170 Bug

SMC_NCInterpreter: G-Code ending with an N-Word causes error SMC_PRS_INCOMPLETE_SENTENCE_IN_TOKEN_QUEUE

Fixed
SM-6169 Bug

CNC: SMC_NCInterpreter returns generic error SMC_DEC_INVALID_SYNTAX for many different situations

Fixed
SM-6165 Improvement

SMC_OrientationBasedOnTangent: changes to inputs RelativeOrientation and Normal should be applied without new rising edge on Enable

Fixed
SM-6155 Improvement

Axis group, TransitionParameter: Create functions for setting the TransitionParameter for TMCornerDistance and TMStartVelocity

Fixed
SM-6154 Improvement

MC_ReadStatus: Add new output AxisError

Fixed
SM-6152 Bug

MC_Stop does not abort buffered movements, leading to axis error SMC_BLOCKING_MC_STOP_WASNT_CALLED

Cannot Reproduce
SM-6151 Bug

Axis Group Editor: Mapping to Axes shows wrong control element in case no mapping exists

Fixed
SM-6150 Bug

Axis group: QueueUnderrun not detected/reported properly

Fixed
SM-6138 Bug

MC_GroupInterrupt: Movement commanded before the interrupt might be accepted after the interrupt

Fixed
SM-6135 Improvement

Basic Motion: Improve error log messages

Fixed
SM-6131 Bug

MC_GroupSetPosition, Additional Axes: Axis limit violation when using MC_GroupSetPosition between pure additional axes movements

Fixed
SM-6119 Bug

Some basic motion FBs do not log all their FB errors and report them to the axis

Fixed
SM-6105 Bug

Axis Group writes 0 to set torques of all axes even if no dynamic model is configured and the group state is GroupDisabled

Fixed [[COMPATIBILITY_INFORMATION]]
As of version 4.20.0.0, axis groups do not compute the set torques of their axes when they are disabled. When disabling the axis group, the set torque values of the kinematic axes are set to 0.
SM-6104 Bug

Visu template of SMC_GroupJog2: wrong texts in online mode

Fixed
SM-6100 Bug

SMC_AXIS_STATE: Wrong documentation

Fixed
SM-6097 Bug

SMC_FollowSetValues: bAbort does not reset the owner of the axis

Fixed
SM-6095 Bug

Robotics: Modulo axes might not finish their movement at the specified target position (numerical issues)

Fixed
SM-6084 Bug

MC_GearIn: Unexpected axis error when Master is turned off

Fixed
SM-6080 Bug

SoftMotion BasicPage: Rename "Position lag supervision" to "Position lag monitoring"

Fixed
SM-6077 Improvement

SMC_FollowSetValues: Option to ignore MC_SetPosition

Fixed [[GENERAL]]
SMC_FollowSetValues, SMC_FollowPosition, and SMC_FollowPositionVelocity now have an input bFixedCoordinateSystem.
- If set to the default value TRUE (default value), the fSetPosition input is expected to be given in the coordinate system that was active when bExecute switched to TRUE. This is the same behavior as with previous SoftMotion versions.
- If set to FALSE the fSetPosition input is expected to be given in the last coordinate system set using MC_SetPosition.
SM-5932 Bug

GroupJog2: Jogging in ACS with other axes outside of their software limits result in misleading errors

Fixed
SM-5926 Bug

Licensing: "Demo mode expired." is logged even if SoftMotion is licensed

Fixed
SM-5916 Improvement

CNC: Create an example for SMC_StringStream2

Fixed
SM-5915 Improvement

MC_CamIn: Improve documentation

Fixed
SM-5912 Improvement

Cam table: There should be a function for evaluating a cam table

Fixed
SM-5881 Improvement

CNC: DryRun (Additional velocity limit for commissioning or debugging)

Fixed
SM-5880 Improvement

CNC: Support for G31 probing function and clear remaining distance

Fixed
SM-5208 Improvement

CNC Preprocessing: Create an example on how to write a customer specific preprocessing function block

Fixed
SM-4949 Bug

MC_Stop: Misleading error message (FB was not called during motion) when the drive is not in regulation

Fixed
SM-4905 Bug

Online Monitoring: After an online change the position in axes page is no longer updated

Fixed
SM-4896 Improvement

SM3_CNC: Make it possible to access information about the current state of the interpolator

Fixed
SM-3903 Improvement

Create an example project with documentation for SMC_SmoothMerge with a large G-Code file

Fixed
SM-3517 Bug

AxisGroup Editor: Using TRAFO.Kin_Tool as orientation kinematic leads to an empty rectangle in "Mapping to Axes"

Duplicate [[GENERAL]]
Duplicates SM-6151
SM-1963 Epic

MC_TRANSITION_MODE: new distance based blending mode in axis space

Fixed [[GENERAL]]
SoftMotion Robotics now supports a new TransitionMode TMAxisDistance for blending between movements:
- Start and end points of the transition are provided as distances in axis space.
- The transition is always performed in axis space.
SM-1619 Bug

CNC: SMC_Interpolator2Dir is not task-safe

Fixed [[COMPATIBILITY_INFORMATION]]
Starting with CODESYS SoftMotion 4.20.0.0, the function block SMC_Interpolator2Dir_SlowTask must be called from the same task that reads the G-Code and processes the CNC path.

Otherwise, errors may happen while reversing on the path with SMC_Interpolator2Dir.

This is especially important when the tasks are distributed to different CPU cores.
SM-1611 Bug

SMC_PreacknowledgeMFunction is not task-safe

Fixed