How costly (in terms of performance) is it to call
Axis::EStopTimeSet()? How frequently could I call it without ill effects?
The down side to using E-Stop as an action is that I cannot configure stop parameters in terms of motor/machine capability, though in general, I want to stop “as soon as possible” (e.g. for safety reasons). I have to choose/calculate a quantity of seconds over which to apply the action. For some moves, this would be OK (though still far less desirable than a decel-based action). For others, I want to stop just as fast as is reasonable, which is based on the current velocity at the moment when the action should start and the motor’s max decel.
I don’t want to set ridiculously small times, because then I jeopardize the mechanics of the machine (when larger inertias are in play).
If I wanted to “stream” e-stop times based on the commanded velocities, how frequently could I do it without any worry of ill effects? I realize that I still have the problem of delayed execution between sending a point and the motor actually executing it to wrestle with. This is sort of an academic question concerning how I might be able to use E-Stop to my advantage if I really had to.
Is there a good way to continuously change the e-stop time so that it is essentially decel-based?