Showing results for 
Search instead for 
Did you mean: 

Running a SMC3 stepper controller with ctrlX CORE

Running a SMC3 stepper controller with ctrlX CORE

New Contributor

How can I run a SMC3 stepper motor with a ctrlX CORE?


Community Moderator
Community Moderator

SMC3 (Stepper Motor Controller from Cannon-Automata)

Purpose of the paper:

  • Discover the configuration steps to run the external stepper motor controller as IO Device.
  • Realize the usage of SMC-internal interpolation for positioning - and velocity mode.
  • Note that the ctrlX runs just the MDT/AT communication without support on ServiceDataObjects by CoE.



  1. Connect the SCM3-Ecat device with the ctrlX (XF24-EcatM) directly or connect to the already existing line with other Ecat-Slave(s).
  2. Start the ctrlX-IOEngineering. Add the corresponding SMC3 XML device-description-file to the device database.
  3. Scan the network and add the SCM3 to the configuration, Download the configuration into the ctrlX.
  4. From now, the data_containers (MDT/AT) related to the SMC3 card are registered by the datalayer and access is provided in general.
  5. Either use our website to access or optional any other Rest-client like Yarc/Rested/…


Please note that the SMC3 provides the communication profile CoE, which the ctrlX MOTION is not yet supporting. Hence, we can operate just via the standard MDT/AT cyclic communication.

We cannot run Service-data-objects using acyclic communication. For instance, reconfiguring the SMC3 is not feasible with our EtherCat master – the related SDO functionality is planned but not yet implemented.
In case changes on the SMC-parameters are needed, the access has to be provided by an alternative method. Imagine running during setup phase a 3rd party EcatMaster providing CoE.

Simply command the SMC3 in the corresponding ‘Mode of Operation’ ( -> 1 – pp mode positioning) and operate the ‘ControlWord’  (like described below) should bring the stepper in action.

A HOMING message is part of the MDT-mapping. With respect to the variety of homing options further details are available in the attached SMC3 datasheet.


Navigate the datalayer tree and enter the data directly in the website or operate the data-point using the corresponding url/payload by any Rest-client for instance.


  1. OPMode
    Mode of Operation = 1dez (ppMode Positioning)
    Mode of Operation = 3dez (ppMode Velocitiy)

  2. ControlWord
    Example - details on datasheet
    Enable Power bit so/ev/qs/eo 15
    Rel. positioning (abs/rel bit) +64 79
    Change set immediately        +32 111
    New Setpoint                        +16 127




In case of operating the SMC and the stepper is not reacting like expected without signing Error-flag it might be, that the SMC is running with configured microstep. Means - every set is subdivided by 256 microsteps. Keep in mind that 1 revolution becomes then 200 * 256 = 51200 !

It may be hard to realize that the stepper is operating correctly – since the movement is too small to recognize by watching.


Hello CodeShepard,

As I understand our timelines CoE should be available from RM23.11. Will the above mentioned restrictions regarding SMC3 parameter change still be valid with the currently planned version? 

Do you already have some practical experience with running SMC3 stepper drives with the ctlrX CORE?

Two things to mention here:

  • Our EtherCat master is able to send CoE mailbox telegrams (acyclic communication) and there are functions available to use them via the data layer and also via the PLC.
  • Our ctrlX MOTION also supports CoE drives in general, but not all 3rd party implementations are connectable.