Difference between revisions of "SimpleMotion V2"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
(Downloads)
Line 5: Line 5:
 
==Main features==
 
==Main features==
 
===Parameter communications===
 
===Parameter communications===
SM V2 is based on parameter communications. This means that all commands are implemented as settable and readable numeric parameters. For example commanding axis target position could be done by setting parameter such as ''SMP_TARGET_REFERENCE'' to a desired value.
+
SM V2 is based on parameter communications. This means that all commands are implemented as settable and readable numeric parameters. For example commanding axis target position could be done by setting parameter such as ''SMP_TARGET_REFERENCE'' to a desired value. See also [[SimpleMotion motion control strategies]].
 
===Multidrop===
 
===Multidrop===
 
SM V2 is based on RS485 physical interface yielding ability to link multiple device nodes into a single data link. Each device in the bus has unique address making it possible to target the commands to specific axis.
 
SM V2 is based on RS485 physical interface yielding ability to link multiple device nodes into a single data link. Each device in the bus has unique address making it possible to target the commands to specific axis.
 
===Buffered commands===
 
===Buffered commands===
In addition to instantly executed commands, SM V2 supports buffered commands meaning that commands may sent as chunks of multiple commands that are later interpreted by devices at predefined pace. This makes it possible to implement multiaxis synchronous interpolation without requiring a real time [[controller]]. Ring buffer implementation allows running infinite length sequences of commands.
+
In addition to instantly executed commands, SM V2 supports buffered commands meaning that commands may sent as chunks of multiple commands that are later interpreted by devices at predefined pace. This makes it possible to implement multiaxis synchronous interpolation without requiring a real time [[controller]]. Ring buffer implementation allows running infinite length sequences of commands. See also [[SimpleMotion motion control strategies]].
 
===Performance===
 
===Performance===
 
Due to relatively high bitrate of RS485 bus and byte-efficient serial protocol, SM V2 performs very well in multiaxis real time & buffered applications. At default bit rate at least 6 axis continuously interpolated motion is possible.
 
Due to relatively high bitrate of RS485 bus and byte-efficient serial protocol, SM V2 performs very well in multiaxis real time & buffered applications. At default bit rate at least 6 axis continuously interpolated motion is possible.
Line 33: Line 33:
 
==Documentation==
 
==Documentation==
 
* [[SimpleMotion V2 port]]
 
* [[SimpleMotion V2 port]]
 +
* [[SimpleMotion motion control strategies]]
 
* API documentation under development, for now, see example projects provided
 
* API documentation under development, for now, see example projects provided
 +
 
[[Category:Software]]
 
[[Category:Software]]
 
[[Category:SimpleMotion]]
 
[[Category:SimpleMotion]]

Revision as of 13:34, 30 November 2015

SimpleMotion V2 bus with integrated hard-wired safety used in multiaxis drive system

SimpleMotion V2 is open source and royalty free field bus for industrial devices, such as motor drives and I/O's.

SM V2 is a complete redesign of the original SimpleMotion library. The main goals have been increasing flexibility and performance while still preserving the simplicity of the API.

Main features

Parameter communications

SM V2 is based on parameter communications. This means that all commands are implemented as settable and readable numeric parameters. For example commanding axis target position could be done by setting parameter such as SMP_TARGET_REFERENCE to a desired value. See also SimpleMotion motion control strategies.

Multidrop

SM V2 is based on RS485 physical interface yielding ability to link multiple device nodes into a single data link. Each device in the bus has unique address making it possible to target the commands to specific axis.

Buffered commands

In addition to instantly executed commands, SM V2 supports buffered commands meaning that commands may sent as chunks of multiple commands that are later interpreted by devices at predefined pace. This makes it possible to implement multiaxis synchronous interpolation without requiring a real time controller. Ring buffer implementation allows running infinite length sequences of commands. See also SimpleMotion motion control strategies.

Performance

Due to relatively high bitrate of RS485 bus and byte-efficient serial protocol, SM V2 performs very well in multiaxis real time & buffered applications. At default bit rate at least 6 axis continuously interpolated motion is possible.

Safety

SM V2 physical bus incorporates a dedicated wire for emergency stopping switch. All devices in the same bus will perform safe torque off and braking once e-stop button is pressed.

Library

SM V2 applications may be implemented by using a SM V2 C-language open source library. By default the library compiles on Windows & Unix with GNU GCC compiler and should be easily portable to other patforms, such as microcontrollers. The compiled library binary (DLL) may be used with virtually any programming tool (C#, VS, Labview etc).

Downloads

Library source code

Download-icon.png SimpleMotion V2 at GitHub

Library DLL binary

Download-icon.png SimpleMotionV2_dll.zip

Qt example project

SMV2Commander on GitHub

See Installing Qt SDK from scratch for instructions how to use this project.

VisualStudio 2013 C++ example project

Download-icon.png SMV2VScppExample.zip

VS project needs updating library and header file paths from project properties (Right click on VScppExample on Solution explorer pane and go to Configuration properties->VC++ Directories and change Include directories and Library directories to point your location of SimpleMotionV2dll_Release_2 (included in the zip). Also smv.dll must be copied in the same folder than project .exe file (I.e. in Debug or Release folder).

Documentation