MC_CamIn did not work properly with SMC_FreeEncoder on SoftMotion 4.17.0.0

imdatatas
2024-11-11
3 hours ago
  • imdatatas - 2024-11-11

    Hello,

    I am facing a problem with the new Softmotion 4.17.0.0 version.
    Has anyone encountered a similar problem, what is the solution?
    I would be happy if you could share it.

    Problem description:
    -- "SMC_FreeEncoder" encoder axis is the master,
    -- The motor of the servo driver on the EtherCAT bus is the slave axis.
    -- When the MC_CamIn block executed, the InSync output is activated. However, although the master encoder axis position value changes, there is no movement in the slave servo axis!

    Test steps:
    1-) EtherCAT servo axis installed, configured and motion test was performed with MC_Jog. No problem.
    2-) Softmotion general axis pool > SMC_FreeEncoder was added and pulse amount configuration was performed. No problem.
    3-) Incremental encoder actual count value was transferred to the "SMC_FreeEncoder.diEncoderPosition" variable as DINT under the ethercat task in every cycle and the encoder axis position value was observed. No problem.
    4-) A simple CAM table with a 1:1 ratio was created under the project tree. (For example: Simply, when the encoder rotates 1 turn, the motor will rotate 1 turn.)
    5-) The SMC_FreeEncoder axis enabled with MC_Power and brought to the StandStill state.
    6-) The MC_CamTableSelect block was run with default input values ​​(all absolute) and only the Cam table name was specified. The Done output was seen successfully. No problem.
    7-) The MC_CamIn block was activated with default input values ​​(absolute) and only the master encoder axis name, slave servo axis name, CamTableID input pins was specified and then "Execute" input set to TRUE.
    8-) The InSync output information of the MC_CamIn block observed as TRUE. However, although the encoder axis value changed, the position value of the slave axis did not change at all, it did not move. It always remained at 0.0mm.
    9-) When I repeated the same steps above, only changing the master axis to SM_Drive_Virtual instead of FreeEncoder and gave movement to the virtual axis, this time the slave axis moved successfully.

    However, when the same steps and operations are performed with the same IDE just downgrade SoftMotion version from 4.17.0.0 to 4.10.0.0, everything works normally and without problems as expected in MC_CamIn block with FreeEncoder master.
    (By the way, The used IDE version is Codesys V3.5 SP20patch3.)

    Best Regards
    Imdat

     
  • tk096 - 3 hours ago

    Hi,

    can you share a project to reproduce the issue? I wasn't able to reproduce it following these steps.

     

Log in to post a comment.