Determining Why An HC800 Controller has High Processor Utilization.
Voted best answer
A +1 with regards to Ingo's reply. There not too many "tools" as such other than what is available in Composer and the controller itself. However, if you have confidence in the similarity of the controller configurations then the controller utilisation difference could be a response to an external influence on one of the controllers. Further areas for investigation might include
a.) Check the controller status bytes and all the IO / communications subsytems connected to both controllers to make sure both controllers are functioning in a similar state. This includes controller redundancy if applicable. Communications problems through a gateway to IO or modbus devices could affect individual segment cycle timea and overall utilisation. A controller with no or a failed redundant unit will have marginally more freetime than a controller with a functioning redundant unit.
b.) The controller executive blocks (Executive and Segment control) might point to a particular segment that is consuming resources. It doesnt necessarily mean there is anything wrong, just the that the configurations of the 2 controllers might not be as similar as first thought. It may also be that the controllers are set up differently with regards to segment cycle times / checkpointing, if redundant / IO periods.
c.) The compile logs from Composer, in particular the calculated processor execution time and the memory requirements. The calculated execution time is not terribly accurate in all cases but might help to set a direction for further investigations when compared to a similar controller configuration.
d.) You could load each controller configuration into a test controller and compare execution times. Its not a full test as you may not have all the necessary IO connected but at least the hardware configuration will be the same for both configurations. If there is still a similar relative difference in utilisation with the same hardware it might point to the configurations being significantly different. If the relative utilisation changed significantly it might point to an external influence on one of the controllers.
I would not normally jump in on this. However, we have created a tool to dump the loadable .CFG files to text to get block function codes and specifications. If you email me the similar .CFG files, I will get you the text equivalents. Perhaps you have FC 222 with S8 defaulted to 0 in one (or S9 defaulted to 0 in FC 223). These cause continuous (once per second) exception reports.
In any event, this will show the differences in configurations. If they prove to be similar enough, you will look for failing hardware, backups or other mysterious things. If they are different significantly, you will see.
Send to geoff 'at' gmcl.com. Who knows? Being able to know if it is a configuration or hardware issue seems like it would be useful, and the technique is completely offline and unobtrusive.