Limits on Axis::MotionDelaySet(double seconds)

What are the limits on the seconds argument to Axis::MotionDelaySet?
When I try it with seconds == 5.0, I get this exception:
Motion: illegal delay :: {motion.c, line 15623} (Error 3853) (RSI::RapidCode::Impl::Axis::MoveSCurve) (Object 6) (File …\\…\\source\\axis.cpp) (Line 345) (Version 8.1.5 for 04.04.02.RMP)

Hi @Rick

Can you try:
RSIMotionAttrMaskDELAY using the MotionAttributeMaskOnSet() method.

I was already calling
before calling

Can you confirm you are calling MoveSCurve() while the Axis state is IDLE?

No, it’s moving, so that must be the problem then?

Is there a way to queue multiple MoveSCurve commands on the same axis (including possibly non-zero motion delays), without having to wait for the completion of each?

Hi @Rick
I’ll check with the team tomorrow and then get back to you.


The RSIMotionAttrMaskAPPEND behavior doesn’t mix with the RSIMotionAttrMaskDELAY. You can’t mix these masks. Alternatively, you could use PT motion and just create the two motion segments with a still segment inbetween them.