APIs, concepts, guides, and more
axis-config-userunits.cs
using RSI.RapidCode; // RSI.RapidCode.dotNET;
Console.WriteLine("📜 Axis Config: UserUnits");
// set sample config params
double defaultUserUnits = 1;
// get rmp objects
Axis axis = controller.AxisGet(axisNumber: 0);
try
{
Helpers.CheckErrors(controller);
// get defaults
defaultUserUnits = axis.UserUnitsGet();
int ENCODER_RESOLUTION_BITS = 20; // Encoder resolution in bits
// Define counts per unit (user units)
// Example: 2^20 = 1,048,576 pulses/rev → a command of 1 = one full revolution
double USER_UNITS = Math.Pow(2, ENCODER_RESOLUTION_BITS);
// set
axis.UserUnitsSet(USER_UNITS);
axis.ErrorLimitTriggerValueSet(1); // Position error limit trigger (see support page)
// get
double userUnits = axis.UserUnitsGet();
Console.WriteLine($"User Units: {userUnits}");
}
// handle errors as needed
finally
{
axis.UserUnitsSet(defaultUserUnits); // restore
controller.Delete(); // dispose
}
static void CheckErrors(RapidCodeObject rsiObject)
Checks for errors in the given RapidCodeObject and throws an exception if any non-warning errors are ...
Definition _helpers.cs:15
Helpers class provides static methods for common tasks in RMP applications.
Definition _helpers.cs:5
double UserUnitsGet()
Get the number of counts per User Unit.
void UserUnitsSet(double countsPerUserUnit)
Sets the number of counts per User Unit.
void ErrorLimitTriggerValueSet(double triggerValue)
Set the Position Error Limit trigger value.
Represents a single axis of motion control. This class provides an interface for commanding motion,...
Definition rsi.h:5870
Axis * AxisGet(int32_t axisNumber)
AxisGet returns a pointer to an Axis object and initializes its internals.
static MotionController * Get()
Get an already running RMP EtherCAT controller.
void Delete(void)
Delete the MotionController and all its objects.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
Definition rsi.h:800