APIs, concepts, guides, and more

◆ SoftwareNegLimitActionSet()

void SoftwareNegLimitActionSet ( RSIAction action)
Description:
SoftwareNegLimitActionSet sets the action that will occur when the Software Negative Limit Event triggers.
Parameters
actionAction taken on Limit trigger. A RSIAction value.
Note:
Available Actions are Abort(), EStop(), Stop(), None, EStopAbort(), and EStopModify()

Part of the Limits and Action Configuration method group.

Sample Code:
Axis: Configuration
// add phantom axis
controller.AxisCountSet(controller.AxisCountGet() + 1);
// get phantom axis
int axisNumber = controller.AxisCountGet() - 1; // last axis [zero-based]
Axis axis = controller.AxisGet(axisNumber);
// disable all limits (not used for phantom axes)
axis.ErrorLimitActionSet(RSIAction.RSIActionNONE);
axis.HardwareNegLimitActionSet(RSIAction.RSIActionNONE);
axis.HardwarePosLimitActionSet(RSIAction.RSIActionNONE);
axis.HomeActionSet(RSIAction.RSIActionNONE);
axis.SoftwareNegLimitActionSet(RSIAction.RSIActionNONE);
axis.SoftwarePosLimitActionSet(RSIAction.RSIActionNONE);
double POSITION_TOLERANCE_MAX = Double.MaxValue / 10.0; // reduce from max slightly, so XML to string serialization and deserialization works without throwing System.OverflowException
axis.PositionToleranceCoarseSet(POSITION_TOLERANCE_MAX); // set Settling Coarse Position Tolerance to max value
axis.PositionToleranceFineSet(POSITION_TOLERANCE_MAX); // set Settling Fine Position Tolerance to max value (so Phantom axis will get immediate MotionDone when target is reached)
axis.MotorTypeSet(RSIMotorType.RSIMotorTypePHANTOM); // set the MotorType to phantom
RapidSetup:
Go to axis screen->Limits & Actions. In image below, SoftwareNegLimitActionSet sets the action type shown in the Negative (-) Software box. It is currently set to E_STOP.
See also
SoftwareNegLimitActionGet
Examples
PathMotion.cpp, PhantomAxis.cpp, SampleAppsHelper.h, and axis-config-phantom-axis.cs.