Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Kinematics Period problem.
#1
Hello
I have a problem with cycles when using Kinematics.

Servo Period = 15Khz
Real-time Period = 15khz
coord[x].SegMoveTime = 1/15

When executed after setting as above, the M-variable operates as 5khz in the CfromScript.
The cycle was checked with the GetCPUClock() function and the IDE's Plot.

Is there any way to make the Cfromscript cycle faster?

Thanks.


Attached Files
.zip   test.zip (Size: 283.58 KB / Downloads: 7)
Reply
#2
Kinematics in either CfromScript or regular script have nothing to do with the scanning frequency. They are called when trajectory calculation is needed.

You can use user servo or RtiCplc to execute general purpose calculation at servo or RTI frequencies respectively.

Why do you need to execute Kinematics that fast? how does this affect the mechanics of your system?
Reply
#3
Hello, I would like to add a comment on this matter.

The fast kinematics run is necessary for a more precise 'LASER ON THE FLY' run. (using ACC-84E, CK3M-GC).

The faster, the more precision.

However, the execution cycle of kinematics is not always the same.

If you set it to 15Khz, it runs 15000 times per second.

However, it doesn't run consistently every 0.000066 seconds.

If there is a way to run kinematics at the same frequency, it will help improve precision.

Thank you.
Reply
#4
It should be emphasized that the inverse kinematic routine executes on the input to the segment buffer, not on the output. The input is always several segments ahead of the move execution from the output of the buffer, so if the kinematic subroutine is used to set outputs (like a laser on or off), it will not be synchronous with the execution of the motion segment calculated that cycle.

If buffered lookahead is active, the difference between input to the buffer and output from the buffer can be very many segments.

So even if the kinematics routine were called at even intervals, a commanded output would not be synchronous with the execution of the segment.

Any kinematic routine that is trying to set outputs synchronous with the execution of segments must recognize this delay and compensate for it.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)