APIs, concepts, guides, and more
|
Monitor processor usage to gauge the utilization of hardware resources by RapidCode objects at set sample rates.
It is a representation of how much of your hardware’s dedicated resources are being used to process through all the RapidCode objects at the sample rate. This might be useful to let you know if you need to consider an upgrade. This can be accessed using MotionController.ProcessorUsageGet().
We take the foreground execution time and divide it by the target sample rate.
If you are constantly seeing 40%+ to 80%+, it is likely that you are using a sample rate of 2 kHz or 4kHz respectively. The Frame Send and Receive sleep we use defaults 200 microseconds. This can be adjusted if desired to better reflect your system’s performance.
We picked a general value that works for many systems. We determined that most system should complete this within175us. When selecting a value, you want to put something that is a factor of the INtime Kernel Clock Rate (we recommend 200us if you are configured correctly). You may use INScope (an INtime utility) to measure the time between the EcatCyclic and RxTask Semaphores. Round up to the nearest factor of your INtime kernel tick (150, 200, 250, etc). You can set this value using MotionController.MemorySet using the address from MotionController.AddressGet().