800xA 5.1: AC800m: Heap Utilization and "Non-used heap"
See the attached screenshots from the "Heap Utilization" dialog for a PM865 controller and the "Memory Organization" table from the docs.
The Memory Organization table from the docs doesn't makes sense when compared to the Heap Utilization screenshot.
Looks like "Non-used heap" from the Heap Utilization dialog is really what's referred to as "Spare" in the docs?
The Memory Organization table from the docs doesn't makes sense when compared to the Heap Utilization screenshot.
Looks like "Non-used heap" from the Heap Utilization dialog is really what's referred to as "Spare" in the docs?
Voted best answer
After discussion with concern team, I have following information:-
Modified Memory Organization chart:

è Project = Empty Project + Application(s)
è Executing firmware is the firmware you download before you download the application.
The size of the firmware can be found here (without protocol Handlers):

è Used by firmware is the Memory Consumptions of the protocols and CEX Units:

For example: if you use Comli with CI853 for PM866, then this consumes 72+2 Kbytes and adds to ‘Used by firmware’,
And if you add two CI854B for PM866, then this consumes 247 + 33 Kbytes and adds to ‘Used by firmware’.
Heap Utilization Diag:
Answers
Yes, actually from the manual, 'Non-used heap' is not just the Spare memory, but the total of IEC 61131-3 application memory and Spare memory.
But the white space in the Heap Utilization dialog shows the Spare memory, and not the application memory. This is confusing. :D
You should be able to find out the memory used by the application by subtracting Used Shared Heap and Max Used Shared Heap.
But the white space in the Heap Utilization dialog shows the Spare memory, and not the application memory. This is confusing. :D
You should be able to find out the memory used by the application by subtracting Used Shared Heap and Max Used Shared Heap.
Information provided in Heap utilization dialog and Memory organisation are same. You shall interpretate in the below manner
As per document,
Total Memory = Used shared Heap( Empty Project+ Firmware used ) + Non-used Heap ( Spare + Application Memory) + Executing Firmware
the confusing part is the Max used Shared Heap. Actually it is the figure which shall provide information that how far the used shared heap memory can raise while doing online changes

As per your attachment
Heap utilization windows shows that used shared heap is 11.03 which shall be maximum used upto 15.04
Total Non used heap memory is 79.56 which included spare and application memory.
As per document,
Total Memory = Used shared Heap( Empty Project+ Firmware used ) + Non-used Heap ( Spare + Application Memory) + Executing Firmware
the confusing part is the Max used Shared Heap. Actually it is the figure which shall provide information that how far the used shared heap memory can raise while doing online changes

As per your attachment
Heap utilization windows shows that used shared heap is 11.03 which shall be maximum used upto 15.04
Total Non used heap memory is 79.56 which included spare and application memory.
100% includes Max.Used shared heap(its includes Used shared heap) + Non used heap + Executing firmware. Refer the memory organisation pics,
total RAM includes executing firmware along with both heaps
For example, refer below pics

In the above pics,32MB RAM
Firmware = 7.746
Max.used Shared Heap = 3.009
Non used heap = 21.245
Total=32MB that is Firmware execution + Max used Shared heap + Non used heap( Spare + Application) comprises your total RAM
I hope you will agree with it.
total RAM includes executing firmware along with both heaps
For example, refer below pics

In the above pics,32MB RAM
Firmware = 7.746
Max.used Shared Heap = 3.009
Non used heap = 21.245
Total=32MB that is Firmware execution + Max used Shared heap + Non used heap( Spare + Application) comprises your total RAM
I hope you will agree with it.
Ok so I spoke with someone from ABB Malmö. The answer to this question is yes, the "Non-used heap" from the Heap Utilization dialog is referred to as "Spare" in the Memory Organization table in the docs.
Add new comment