FORUM CTRLX AUTOMATION
ctrlX World Partner Apps for ctrlX AUTOMATION
Dear Community User! We have started the migration process.
This community is now in READ ONLY mode.
Read more: Important
information on the platform change.
06-05-2024 02:02 AM - last edited on 09-19-2024 12:38 PM by MichaelB
Hi CodeSheperd,
Is there a limit to the number of commands used in a contour? I need to issue over 2000 moves from a custom points table...
Solved! Go to Solution.
06-05-2024 07:26 AM - edited 06-05-2024 07:29 AM
Moved to own topic from "ML_KinPolyTransP and ST_CONTINUOUS_SLOPE".
Which version are you using? In general the available memory is the limit but from version 2.6 there is a setting "motion/kin/<name of kinematik>/cfg/prep-limits/max-cmds-in-buffer" capable of limiting, preventing the system from crashing when out of memory. But 2000 commands are no problem at all.
06-05-2024 07:31 AM
I am using 2.6. I will try to adjust this value and see what happens.
10-22-2024 02:31 AM
So far I am able to issue 3000 moves to two separate kinematics using the contour command. I start the contour command in one step, issue the moves in another, then start the moves in a third step by setting the contour command = false.
There were 3 issues that took a while to figure out.
1: You need to increase the move buffer:
2: If you issue the commands in a FOR LOOP, my PLC task would "time out" because it is trying to crunch 3000 commands before my 2ms motion task would complete. I did this because i thought the commands had to be executed in the same scan... this is not the way to do this...So instead i just stepped through commands one PLC scan at a time, then started motion with the Contour command = False.
3: During the execution of the 3000 moves, the axes would stop at each individual target position... which is not what I wanted. What i really wanted is to have continuous velocity throughout the move profile. I used the ContinuousMotion command and even the KinPolyTrans command but i still had stopping at each point... It turns out that you need to set the "reserve accel and jerk" to a non zero value in order for the motion kernel to be able to stitch the moves together without stopping. After I changed them to the following values, i achieved smooth continuous velocity in my motion profile.
Unfortunately you don't see the 'reserve acc/jerk" in the kinematic properties in the CtrlX Motion App webpage, you need to set these values in the datalayer... Not user friendly in my opinion.
Having said, the CtrlX Motion Documentation DOES mention this in a few places, its just not very obvious what the impact of these parameters are. It would be best to have them as a part of the CtrlX Motion webpage with all the other limit values that you normally find (like the move buffer, velocity limits, etc).