To approach an analysis, check here the following points in your project:
- Has the project connected the bStopIpo output of the SMC_ControlAxisByPos blocks with the bEmergency_Stop input of SMC_Interpolator (that as recommended by us)?
- Is the bAvoidGaps input of SMC_ControlAxisByPos set to TRUE?
- During the jerky motion, does the bStopIpo input keep switching to TRUE and FALSE, and back?
If all this is answered with Yes, then the given maximum speed (Velocity [u/s]) of the axes does not fit!
Reason:
- SMC_ControlAxisByPos is using this speed to check, if there is a jump in the axis position.
- When there is a jump, the SMC_Interpolator is stopped via the bEmergency_Stop input, and the jump will be closed.
- After that, the System starts again to process the movement.
- So if this shutdown follows directly one after the other, it produces a jerky, jumpy motion pattern.
Solution
The maximum axis speed must then be configured right.
- This may have to be adjusted for each axis depending on the structure used in the project.
See also Codesys Online Help for the Drive general Tab - ‘Common’.
See also....
- Our Codesys Online Help (OLH) Website
- Basic information to the Codesys Development System (Codesys Homepage)
- OLH: Interrupt of a single axis movement
- OLH: The Codesys Components of CODESYS SoftMotion
- OLH: Our Diagnosis in case of Performance Problems under SoftMotion