SimpleMotion motion control strategies

From Granite Devices Knowledge Wiki
Revision as of 12:08, 11 February 2016 by Tero K (Talk | contribs)


Jump to: navigation, search

SimpleMotion V2 allows building single and multi-axis motion control applications in three different strategies. The table below summarizes the options.

Strategy Implementation Features Cons Need real-time host Synchronized multi-axis motion Example implementation
Parameter communication

Send setpoint commands to a target drive with simple "write parameter" commands

  • The easiest way to do point-to-point motion control
  • Motion acceleration and velocity trajectories are produced by drive and can be set before motion is started
  • Can modify any drive parameter on the fly
  • Can be used together with other setpoint sources
  • No multi-axis synchronization, all axes operate in point-to-point mode individually
No No PointToPointExample
Buffered motion stream

List of trajectory coordinate points are uploaded to drive command buffers and executed by drives based on clock

  • 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
  • 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
No Yes BufferedMotionStreamExample
Real-time motion commands

Position commands are sent to drives just like in parameter communication strategy, except in high update rate and from real-time host

  • Allow synchronizing multiple axes and running arbitrary motion paths
  • Motion acceleration and velocity profiles are generated by user application
  • Use of Setpoint smoothingCIS smooths any motion above 250 Hz to silky smooth
  • There is virtually no delay between command and action
  • Higher scalability, can use multiple SimpleMotion buses to support large number of axis
  • Update rate will reduce as more axes are added to the system (due to bus bandwidth limit), however, see the scalability feature in Features column
  • For smooth interrupted motion, need hard real-time host, such as RTLinux, PLC or micro controller platform.
  • SimpleMotion V2 USB adapter may add uncertainty to timing, so use of other adapter may be necessary (PCI, PCI-E, PLC port or other peripheral, such as microcontroller USART).
Yes Yes Coming to GitHub

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.