Editing SimpleMotion V2

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help page.

Latest revision Your text
Line 1: Line 1:
[[File:simpleMotionlogo.png|thumb|400px]]
+
[[File:multidrop_estop.png|thumb|500px|SimpleMotion V2 bus 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.
 
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 [[Wikipedia:Application programming interface|API]].
 
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 [[Wikipedia:Application programming interface|API]].
 
==Main features==
 
==Main features==
[[File:Simplemotionv2 with safety.png|thumb|500px|SimpleMotion V2 bus with integrated hard-wired safety used in multiaxis drive system]]
 
 
===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. See also [[SimpleMotion motion control strategies]].
+
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.
 
===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. See also [[SimpleMotion motion control strategies]].
+
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.
 
===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.
 
===Safety===
 
===Safety===
SM V2 physical bus incorporates a dedicated wire for emergency stopping switch. All devices in the same bus will perform [[Safe torque off|safe torque off]] and braking once e-stop button is pressed.
+
SM V2 physical bus incorporates a dedicated wire for emergency stopping switch. All devices in the same bus will perform [[Safe torque off|safe torque off]] function once e-stop button is pressed.
 
+
==Libraray==
==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 and should be easily portable to other patforms, such as microcontrollers.
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
+
For latest version, check out the ''develop'' branch.
+
{{dllink|https://github.com/GraniteDevices/SimpleMotionV2|SimpleMotion V2 at GitHub}}
+
;Qt example projects
+
*[https://github.com/GraniteDevices/SMV2Commander SMV2Commander on GitHub]
+
*[https://github.com/GraniteDevices/SimpleMotionV2Examples SMV2 Examples on GitHub]
+
See [[Installing Qt SDK from scratch]] for instructions how to use this project.
+
;VisualStudio 2013 C++ example project
+
{{dlfile|SMV2VScppExample.zip|SMV2VScppExample.zip}}
+
 
+
Notice: this package contains outdated SimpleMotion library. For actual projects, it's recommended to fetch latest SM library sources from GitHub.
+
 
+
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).
+
  
 +
The library is currently under development.
 
==Documentation==
 
==Documentation==
 
* [[SimpleMotion V2 port]]
 
* [[SimpleMotion V2 port]]
* [[SimpleMotion motion control strategies]]
+
* API DOC TODO
* [[SimpleMotion V2 API documentation]] (under development)
+
* [[List of SimpleMotion parameters]]
+
 
+
[[Category:Software]]
+
[[Category:SimpleMotion]]
+

Please note that all contributions to Granite Devices Knowledge Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Granite Devices Knowledge Wiki:Copyrights for details). Do not submit copyrighted work without permission!

Select categories:

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)

Templates used on this page: