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
MotionAttributeMaskOnSet(RSIMotionAttrMask::RSIMotionAttrMaskDELAY)
before calling
MotionDelaySet

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.

@Rick

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.