Difference between revisions of "Reading actual drive state with SimpleMotion V2"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
(Created page with "This C++ example shows how to read actual current driven into motor. <syntaxhighlight lang="cpp"> smint32 readout; float actualcurrent; //read raw value of current smRead1Pa...")
 
Line 2: Line 2:
  
 
<syntaxhighlight lang="cpp">
 
<syntaxhighlight lang="cpp">
smint32 readout;
 
float actualcurrent;
 
 
 
//read raw value of current
 
//read raw value of current
 +
smint32 readout;
 
smRead1Parameter(  handle, nodeAddress, SMP_ACTUAL_TORQUE, &readout );
 
smRead1Parameter(  handle, nodeAddress, SMP_ACTUAL_TORQUE, &readout );
  
 
//as raw value is integer in "hardware units" scale, convert it to amperes
 
//as raw value is integer in "hardware units" scale, convert it to amperes
 +
float actualcurrent;
 
const float HWcurrentScale=560;//counts/A, this conversion value is for Argon
 
const float HWcurrentScale=560;//counts/A, this conversion value is for Argon
actualTorq=float(smint16(ana2))/HWcurrentScale;
+
actualcurrent=float(smint16(ana2))/HWcurrentScale;
 +
 
 +
//current in amps is now in actualcurrent
  
 +
//TODO, do error checking for all sm commands
 
</syntaxhighlight>
 
</syntaxhighlight>
 
[[category:SimpleMotion]]
 
[[category:SimpleMotion]]

Revision as of 11:10, 9 July 2014

This C++ example shows how to read actual current driven into motor.

//read raw value of current
smint32 readout;
smRead1Parameter(  handle, nodeAddress, SMP_ACTUAL_TORQUE, &readout );
 
//as raw value is integer in "hardware units" scale, convert it to amperes
float actualcurrent;
const float HWcurrentScale=560;//counts/A, this conversion value is for Argon
actualcurrent=float(smint16(ana2))/HWcurrentScale;
 
//current in amps is now in actualcurrent
 
//TODO, do error checking for all sm commands