Console.WriteLine("📜 Axis Config: Phantom Axis");
try
{
int DEFAULT_AXIS_COUNT = controller.AxisCountGet();
Console.WriteLine($"Initial Axis Count: {controller.AxisCountGet()}\n");
controller.AxisCountSet(controller.AxisCountGet() + 1);
int axisIndex = controller.AxisCountGet() - 1;
Axis axis = controller.AxisGet(axisIndex);
double POSITION_TOLERANCE_MAX = Double.MaxValue / 10.0;
Console.WriteLine($"After adding phantom axis..");
Console.WriteLine($"Axis count: {controller.AxisCountGet()}");
Console.WriteLine($"Phantom Axis index: {axisIndex}");
Console.WriteLine($"Motor type: {axis.MotorTypeGet()}");
Console.WriteLine($"Error limit action: {axis.ErrorLimitActionGet()}");
Console.WriteLine($"Hardware negative limit action: {axis.HardwareNegLimitActionGet()}");
Console.WriteLine($"Hardware positive limit action: {axis.HardwarePosLimitActionGet()}");
Console.WriteLine($"Home action: {axis.HomeActionGet()}");
Console.WriteLine($"Software negative limit action: {axis.SoftwareNegLimitActionGet()}");
Console.WriteLine($"Software positive limit action: {axis.SoftwarePosLimitActionGet()}");
Console.WriteLine($"Position tolerance coarse: {axis.PositionToleranceCoarseGet()}");
Console.WriteLine($"Position tolerance fine: {axis.PositionToleranceFineGet()}");
controller.AxisCountSet(DEFAULT_AXIS_COUNT);
Console.WriteLine($"\nRestored Axis count: {controller.AxisCountGet()}");
}
finally
{
controller.Delete();
}
void HardwareNegLimitActionSet(RSIAction action)
Set the action that will occur when the Hardware Negative Limit Event triggers.
void HardwarePosLimitActionSet(RSIAction action)
Set the action that will occur when the Hardware Positive Limit Event triggers.
void PositionToleranceCoarseSet(double tolerance)
Set the Coarse Position Tolerance for Axis settling.
void SoftwareNegLimitActionSet(RSIAction action)
Set the action that will occur when the Software Negative Limit Event triggers.
void HomeActionSet(RSIAction action)
Set the action that will occur when the Home Event triggers.
void PositionToleranceFineSet(double tolerance)
Set the Fine Position Tolerance for Axis settling.
void ErrorLimitActionSet(RSIAction action)
Set the action that will occur when the Error Limit Event triggers.
void MotorTypeSet(RSIMotorType type)
Set the motor type.
void SoftwarePosLimitActionSet(RSIAction action)
Set the action that will occur when the Software Positive Limit Event triggers.
Represents a single axis of motion control. This class provides an interface for commanding motion,...
static MotionController * Get()
Get an already running RMP EtherCAT controller.
Represents the RMP soft motion controller. This class provides an interface to general controller con...
RSIAction
Action to perform on an Axis.
Helpers namespace provides utility functions for common tasks in RMP applications.