User Limits are a functionality through which user can configure a comparison between inputs, so when the comparison happens an output or an interrupt can be triggered.
A User Limit will evaluate conditions set by the user. These conditions will be processed in the firmware of the RMP. When these conditions are met, the User Limit will generate an interrupt and can also output 32-bit word to any location in the MotionController firmware.
Each User Limit supports up to two input conditions and one output configuration block.
User Limits are best suited for real-time logic processing that must happen in RMP firmware, not the user application.
- 1.When you want to generate an action based on a digital input state change.
- 2.When you want to generate an action based on two different input state changes.
- 3.When you want to generate an action based on a specific encoder/axis position.
- 4.When you want to trigger a digital output when an Axis’ Actual Position is exceeded.
- Axis ESTOP
- Axis STOP
- Axis ABORT
- Digital Output State Change
- Proportional Gain Change
- Monitor Different Variables
UserLimitConditionSet(int number, int conditionNumber, RSIUserLimitLogic logic, ulong address, int mask, int limitValue)
UserLimitConfigSet(int number, RSIUserLimitTriggerType triggerType, RSIAction action, int actionAxis, double duration)
UserLimitOutputSet(int number, int andMask, int orMask, ulong outputPtr, bool enabled)
- It is important to know that our API reserves a user limit per every one axis.
- The RMP controller has up to 2048 User Limit objects.
- UserLimitCountSet should be done after either setting AxisCountSet and/or starting the network. (Internally, RapidCode Axis objects use UserLimits.) UserLimitCountSet must be called before creating an Axis or MultiAxis object with MotionController::AxisGet() or MotionController::MultiAxisGet().
- User Limits are “zero” ordinate when accessing them.
Are User Limits monitored cyclically like PLC?
Yes, User Limit objects are running inside the real-time motion firmware and they are cyclic (processed every cycle).