Basic template for getting started with RapidCode.
This template demonstrates basic Controller and Axis initialization, configuration, and how to enable an axis and prepare it for motion. Use this as a starting point for RapidCode applications.
Console.WriteLine("📜 Basic Template");
#if WINDOWS
#elif LINUX
#endif
try
{
const int ENCODER_RESOLUTION_BITS = 0;
double userUnits = Math.Pow(2, ENCODER_RESOLUTION_BITS);
Console.WriteLine("Axis initialized and ready");
Console.WriteLine($"User Units: {userUnits}");
Console.WriteLine($"Current Position: {axis.CommandPositionGet()}");
Console.WriteLine($"Amp Enabled: {axis.AmpEnableGet()}");
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
controller.Delete();
}
Constants used in the C# sample apps.
const int AXIS_0_INDEX
Default: 0.
const int RMP_CPU_AFFINITY
Default: 0.
const string RMP_LINUX_PATH
Default: /rsi.
const string RMP_NIC_PRIMARY
Default: "".
const string RMP_NODE_NAME
Default: NodeA.
const string RMP_WINDOWS_PATH
Default: .....
void UserUnitsSet(double countsPerUserUnit)
Sets the number of counts per User Unit.
void ErrorLimitTriggerValueSet(double triggerValue)
Set the Position Error Limit trigger value.
void PositionSet(double position)
Set the Command and Actual positions.
Represents a single axis of motion control. This class provides an interface for commanding motion,...
static MotionController * Create(CreationParameters *creationParameters)
Initialize and start the RMP EtherCAT controller.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
void ClearFaults()
Clear all faults for an Axis or MultiAxis.
void Abort()
Abort an axis.
int32_t AmpEnableSet(bool enable, int32_t ampActiveTimeoutMilliseconds=AmpEnableTimeoutMillisecondsDefault, bool overrideRestrictedState=false)
Enable all amplifiers.
Helpers namespace provides utility functions for common tasks in RMP applications.
CreationParameters for MotionController::Create.