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");
int exitCode = 0;
#if WINDOWS
#elif LINUX
#endif
try
{
Helpers.VerifyHardwareUsage(controller);
Helpers.VerifyAxisCount(controller);
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();
}
return exitCode;
Constants used in the C# sample apps.
const double AXIS_0_USER_UNITS
Default: 1.
const int EXIT_FAILURE
Exit code for failed execution.
const int AXIS_0_INDEX
Default: 0.
const int RMP_CPU_AFFINITY
Default: 0.
const int AMP_ENABLE_MS
Default: 750.
const string RMP_LINUX_PATH
Default: /rsi.
const string RMP_NIC_PRIMARY
Default: "".
const int EXIT_SUCCESS
Exit code for successful execution.
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.