Controller Loading - Calc Blocks

I have been told that Calc blocks take up a lot of processing power compared to other blocks, but I can't find any sort of relative comparison.

For instance how many math blocks would use the same processing power as a Calc block? What about action or condition blocks? Ideally I would like to find a table that assigns a value to the processor requirements for each block even if it is just a rough estimate. Does such a thing exist?

  • In reply to carllemp:

    Certainly the EXEC_TIME must be interpretted and Carl's suggestion to use multiple instances of a module in a controller rather than just one to determine loading of a given module design.  The EXEC_TIME is a straight look at the Start time and End time of the module execution.  Medium and low priority modules can be "interupted" by higher priority tasks, and therefore their EXEC_TIME becomes skewed, even though their actual CPU usage is the same for all instances.  So if you load a dozen or so modules, through out the higher values that are out of line with the majority, as these indicate the module was interrupted.  

    Randy mentioned that High Priority modules have an accurate EXEC_TIME, and this is because they aren't interrupted by the tasks that affect medium and low priority modules.  In theory, the EXEC_TIME of a module should be the same, no matter its scan rate, but interrupts will extend the EXEC_TIME of affected modules.

    My suggestion is to not worry too much about EXEC_TIME and try to understand the features available in the standard function blocks.  If you need a CALC block, use one, and keep them straight forward. Simpler is better, and more maintainable.  Once you've used up the CPU, you need another controller.  If you are using CHARMS, adding another controller for more CPU is pretty easy.

    Andre Dicaire