Product: CODESYS SoftMotion

Key Issue Type Summary Resolution Release Note
SM-4058 Bug

After calling SMC3_ReinitDrive, in rare cases acyclic communication may get stuck

SM-4044 Improvement

Kollmorgen: Update the Esi files for AKD2G and AKD-C/N to V02.10.03.000

Fixed [[GENERAL]]
device descriptions have been generated and integrated.
SM-4027 Bug

SMC_GroupSaveContinueData: Saving continue data for an interrupted axis group is not handled correctly

SM-3996 Improvement

Integrate new Softmotion driver for CMZ SBD

Fixed [[GENERAL]]
Both Drives ETC/CAN have been integrated
SM-3989 Bug

MC_EXECUTION_MODE: wrong interpretation of mode queued

Up until version, MC_EXECUTION_MODE was only used for SMC_GroupSetAncillaryAxisLimits and SMC_GroupSetAncillaryPathLimits. For these two function blocks, the implementation of execution mode "Queued" differed from the behavior specified by PLCopen MC Part4. For version, the behavior of execution mode "Queued" was changed so that it is in compliance with the PLCopen definition. A new execution mode "NextCommanded" was introduced that implements the previous behavior of execution mode "Queued".

According to PLCopen MC Part 4, with execution mode "Queued" "the new functionality becomes valid when all previous motion commands set one of the following output parameters: Done, Aborted or Error", i.e. have in some way finished.
For SMC_GroupSetAncillaryAxisLimits and SMC_GroupSetAncillaryPathLimits, the execution mode "Queued" was implemented such that the ancillary limits became effective once the next commanded movement started.
As long as only static coordinate systems are used, this does not make a difference, since the axis group will be in standstill after all previous movements have finished and before the next movement starts.
However, it can make a difference when dynamic coordinate systems are used. In this case, the axis group might not be in standstill, but following a moving coordinate system and different ancillary axis limits can affect the movement of the axis group. In particular, different ancillary axis limits can determine whether the axis group is able to follow the dynamic coordinate system.
SM-3980 Bug

Using a quadratic velocity profile and setting the jerk to 0 may lead to a division by zero exception

SM-3970 Bug

Description file of SM3_Basic and more libraries in Library Repository is empty

Won't Fix [[GENERAL]]
Won't fix, the library manager and library repository currently don't understand restructured text. This is a minor problem.
SM-3957 Bug

AutoMoveGantry, Tracking: SMC_PATH_QUEUE_INTERNAL_ERROR during interrupt

SM-3949 Bug

PTP Tracking: possible axis jumps in the start or target position

SM-3936 Improvement

Make it possible to configure the gear ratio for fSetTorque

SM-3931 Bug

MC_GroupContinue, Tracking: SMC_AXIS_GROUP_CONTINUE_WRONG_POSITION might be reported, even though the axis group is at the correct position

SM-3926 Bug

SMC_GroupJog2: Large values of MaxAngularDistance lead to a wrong movement of modulo axes

SM-3923 Improvement

SM3_Drive_ETC_Delta_R1_EC5621: Avoid sending unsupported SDO read requests on startup

SM-3922 Bug

AXIS_REF_POSCONTROL: By default, if in.bLimitPos/Neg are not written, no hardware limit error should result

Fixed [[GENERAL]]
The hardware limit check for an AXIS_REF_POSCONTROL axis is now again by default turned off (as prior to SoftMotion version
SM-3909 Bug

SMC_SmoothPath: eAddAxisMode SPAA_EXACT is missing in offline CNC settings

SM-3890 Bug

Part1 Motion POUs: The Error and ErrorID outputs are blinking during an active axis error and Execute = FALSE

SM-3889 Improvement

Consolidate CALLED_FROM_WRONG_TASK errors

SM-3886 Bug

SM3_Robotics: The error SMC_CP_PLANNER_NO_PROGRESS might be reported when multiple axis groups are planning on the same core

SM-3878 Bug

SMC_GroupJog2: In some cases no jogging is performed with ABC_as_ACS

SM-3872 Improvement

MC_GroupHalt/Stop, Tracking: It should be possible to release dynamic coordinate systems after a tracking movement has been stopped

With version movements and their references to dynamic coordinate systems were kept in the axis group, even after an MC_GroupHalt/Stop was Done. This allowed continuing from the stop position, but also meant that dynamic coordinate systems that were referenced by those movements remained "InUse".
Starting with version, MC_GroupHalt/Stop has the input "ClearMovements" with a default value of TRUE. This means that by default all movements and coordinate system references are cleared once an MC_GroupHalt/Stop reports "Done" and all dynamic coordinate systems will no longer be "InUse".
Setting the "ClearMovements" input to FALSE restores the behavior introduced with version and allows continuing from the stop position using SMC_GroupSaveContinueData and MC_GroupContinue.
SM-3867 Bug

SMC_GroupJog: SMC_AXIS_GROUP_PCS_STILL_IN_USE when trying to restart the function block

Won't Fix [[GENERAL]]
This issue won't be fixed since:
- SMC_GroupJog is deprecated and was replaced by SMC_GroupJog2.
- It was always necessary to execute an MC_GroupHalt before restarting SMC_GroupJog. Otherwise, SMC_AXIS_GROUP_PCS_STILL_IN_USE was reported.
- Using MC_GroupHalt before restarting SMC_GroupJog does not work with version This is a separate issue that is fixed with SM-3872 for version
SM-3864 Bug

SM_Axis: layout/range of scroll bars does not show all the contents when the window size is reduced

SM-3858 Bug

Wrong device identification Id in Staubli uniVAL device descriptions

As the Id of the Staubli uniVAL device descriptions has been changed, an update to the newest version is not automatically proposed for existing projects. Please update the uniVAL devices in the device tree to the new Id and version. (The device dialog will show both the old device in version and the new device in version with the same name, as the Ids are different.)
SM-3841 Improvement

Detect wrong task configuration for CNC: create an error if CNC function blocks are called from wrong task

SM-3815 Improvement

SM3_Drive_ETC_Parker (Compax 3): Write trigger input for capturing to 4 if not part of SDO config

SM-3773 Improvement

AxisGroup: eliminate m_fMaxBrakeDuration

Setting the maximum brake duration with SMC_TuneCPKernel has been deprecated. The limitation to a maximum brake duration has been removed from the robotics trajectory planning. As a result, movements with a brake duration of more than 1 second can now be commanded without any tuning.

Note that existing applications that were limited by the maximum brake duration may behave differently now and result in faster and smoother trajectories.
SM-3763 Improvement

SMC_ToolRadiusCorr: Restructure the internal state machine

SM-3688 Bug

Driver for Keba KeDrive D3: change name from Keba_LTiMotion_ServoOne to KeDrive D3 where appropriate

Fixed [[GENERAL]]
Both Drives ETC/CAN have been integrated
SM-3623 Improvement

Parker: Update the Compax3 devices

Fixed [[GENERAL]]
device descriptions have been generated and integrated.
SM-3530 Improvement

Detect wrong task configuration: create an axis error if motion calls are not performed from bus task

Fixed [[GENERAL]]
Part1 POUs which work with an AXIS_REF_SM3 now check if they are called from the correct task, i.e. from the bus task of the axis.
This check can be disabled for time-critical applications using the compiler define SM3_DISABLE_TASK_CHECKS.
SM-2947 Epic

Robotics: Torque Limitation

SM-2845 Bug

SM3_Drive_ETC_JAT_EcoVario, SM3_Drive_CAN_JAT: log error and set FB error if nAxisState is set to errorstop due to bit 11

SM-2748 Improvement

SMC_ToolRadiusCorr: Make FB more robust

Cannot Reproduce [[GENERAL]]
Issue was solved with SM-3763
SM-2436 Improvement

Detect wrong task configuration: create an axis group error if motion calls are not performed from bus task

SM-2401 Bug

MC_Power: Error and ErrorID cannot be reset