Difference between revisions of "Buffered motion stream in SimpleMotion V2"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
(Created page with "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. T...")
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
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 bufferind upcoming motion commands as well as return data (user selectable parameter to read/monitor during motion).
+
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).
  
==Characteristics==
+
==Buffered motion stream characteristics==
 
===Pros===
 
===Pros===
 
*Allow synchronizing multiple axes and running arbitrary motion paths
 
*Allow synchronizing multiple axes and running arbitrary motion paths
Line 14: Line 14:
  
 
For alternative methods, see [[SimpleMotion motion control strategies]]
 
For alternative methods, see [[SimpleMotion motion control strategies]]
 +
 +
==Motion profiles==
 +
[[File:buffered motion setpoint smoothing fixed freq.png|400px|thumb|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 {{param|CIS}} is enabled, then the output will be smooth between adjacent setpoints.
 +
 +
SimpleMotion buffered motion API will automatically enable {{param|CIS}} during initialization.
 +
 
==Data flow==
 
==Data flow==
 
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.
 
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.
{{picturebox|buffered data flow.png|caption=Data flow in buffered motion stream}}
+
{{picturebox|buffered data flow.png|caption=Data flow in buffered motion stream. Note: the sequential numbers represent the '''index''' of the setpoint/returned data points, not the actual values.}}
  
 
[[Category:CNC]]
 
[[Category:CNC]]

Latest revision as of 22:36, 10 July 2017

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.