Buffered motion stream in SimpleMotion V2

From Granite Devices Knowledge Wiki
Jump to: navigation, search

The buffered motion stream feature of SimpleMotion V2 bus allows implementing multi-axis motion control applications without need of real-time host or motion controller. The principle behind this mode is two-way FIFO buffers inside the drives which allow buffering upcoming motion commands as well as return data (user selectable parameter to read/monitor during motion).

Buffered motion stream characteristics[edit | edit source]

Pros[edit | edit source]

  • Allow synchronizing multiple axes and running arbitrary motion paths
  • Motion acceleration and velocity profiles are generated by user application
  • Unlimited trajectory duration
  • Typical setpoint update rates are 250 Hz to 1000 Hz for 1 to 4 axis systems

Cons[edit | edit source]

  • Delay caused by buffering (0.2-1.0 sec buffering is recommended to avoid buffer underruns and breaks of motion)
  • Update rate will reduce as more axes are added to the system (due to bus bandwidth limit)
  • Some added complexity in programming

For alternative methods, see SimpleMotion motion control strategies

Motion profiles[edit | edit source]

Description of how setpoint values behave in buffered motion operation

In typical application, user fills buffer with setpoint SimpleMotion commands that are executed at constant frequency by the drive. There is no interpolation between them. So it is "zero order hold" type setpoint. However, when buffered operation execution rate is set high enough (250Hz or every 4ms), and when Setpoint smoothingCIS is enabled, then the output will be smooth between adjacent setpoints.

SimpleMotion buffered motion API will automatically enable Setpoint smoothingCIS during initialization.

Data flow[edit | edit source]

Each sent setpoint value will produce a return data point. Return data is user selectable and may contain for example position feedback value. It should be noted that reception of return data is delayed and read after drive has executed the corresponding setpoint commands.

Buffered data flow.png

Data flow in buffered motion stream. Note: the sequential numbers represent the index of the setpoint/returned data points, not the actual values.


In no event the Product Information or parts hereof shall be regarded as guarantee of conditions or characteristics. The Product Information or any part thereof may also not be regarded as a warranty of any kind. No liability of any kind shall be assumed by Author with respect to Product Information or any use made by you thereof, nor shall Author indemnify you against or be liable for any third party claims with respect to such information or any use thereof.

As content of this Wiki may be edited by user community, Granite Devices Oy or it's affiliates do not take any responsibility of the contents of this Wiki. Use information at your own risk. However, Granite Devices staff attempts to review all changes made to this Wiki and keep information trustworthy.

Without written consent, Granite Devices' Products or Intellectual Property shall not be used in situations or installations where living beings, material property, or immaterial property could be harmed by the operation, features or failures of Product. Products may only be used in a way where hazards like moving parts, electric shock, laser radiation, or fire can't be realized even if the content of this Wiki would suggest otherwise.