What is Heap Utilization? Is it concerned with Controller Memory? Does this Heap vary between controllers of same type?
If i wish to check my controller load, which one has to be checked Total Cycle load in task or Heap Utilization?
Voted best answer
Pl find answer to your queries
Figure shows the memory organization. The total physical memory less the executing firmware is called “Memory size” by the “SystemDiagnostics” function block. This amount of memory is sometimes also called the “heap”. The memory usage is also displayed in the Heap Utilization dialog which can be displayed for each controller. The available memory is called “Non-Used Heap” and the rest is called “Used Shared Heap”. The heap size depends on the factors as shown above
Pl note that The function block “SystemDiagnostics” reports used memory based on the memory size, not on the available memory, but the dialog “Heap Utilization” will
show the available memory as “Non-Used Heap”.
For controller Load, You need to check total Load and cyclic load. There is a optimum value for these in dfferent type of controllers.
Cyclic CPU load is calculated as a percentage using the following formula.
Cyclic CPU load (%) = 100*(Total execution time / Total interval time)
Depending on the amount of code and requested task interval times, applications
may demand up to 70% of CPU capacity (never more); the execution of
IEC 61131-3 code is called Cyclic Load. Should an application require more than
70% of CPU capacity, the task scheduler automatically increases the task interval
times to re-establish a 70% load.
These values can also be checked on faceplate of system diagnostics
As a thumb rule if memory full or control builder crashes oftenly or download is very slow or certain tasks are not executing properly, then we go for heap size checking.
pl refer appendix B of the link given below
I hope this helps you out.