The types of memory available with Magelis XBT GT terminals and displaying their consumption details during runtime.
Types of Memory:
In Magelis IPC/XBTG/XBTGT series terminals, there are four types of memory available.
1. Internal Memory (Flash memory) is available in different sizes in different terminals of XBT G/XBT GT. Internal (Flash) memory affects the total size of your application.It can be correlated with the Hard Disk memory of computer where hard disk capacity indicates overall storing capacity of data in the Computer.
2. Dynamic RAM (DRAM) is non-retentive in its nature, which means if terminal resets then all data of DRAM gets erased. DRAM memory affects the amount of information you can display on the panel at one time. It can be correlated with RAM of Computer where RAM affects runtime performance of Computer. During runtime the DRAM usage is higher than overall memory occupied by Internal Flash memory of terminal and is dependent on the size of runtime application. DRAM usage keeps varying where as Internal memory usage will be fixed depending on overall size of downloaded application.
The application is managed on DRAM with Java methods:
a) At download, the whole project is stored on Flash memory as compressed binary. It is the APP. bin file.
b) At startup, the project is uncompressed from Flash into DRAM as Java classes and variable list, each panel, graphical object, action etc. has its own Java class.
c) Immediately, instances for all classes needed at startup (startup panel, target actions, alarms) and for all scanned variables are created.
d) When another panel needs to be displayed, instances for all classes (new panel, graphical objects of this panel, panel actions) and variables called on this panel are created.
e) When the panel changes, instances of unused variables are not deleted, they stay in DRAM. Instances of graphical objects are regularly deleted from DRAM.
3. Static RAM (SRAM) is retentive in its nature, which means if terminal resets then all its data do not get erased and is retained. SRAM memory affects how much information you can store between runtime sessions.
4. E2PROM(Electrically Erasable Programable ROM) is similar to SRAM. However all the data in E2PROM is retained even if the terminal resets and comes in form of Compact Flash (CF) cards.
Retrieving the memory usage details during runtime from XBT GT terminal:
1. You can use an action which executes "Information" operation, as described in Online Help section 9.5.13. With this operation you can get the current DRAM usage during runtime.
2. Using method "Sys.getInfoInt" returns the amount of memory available in KB on the selected memory area given.
a) TOTAL_DRAM_USAGE gives the available memory in DRAM.
b) FREE_KBYTE_MAIN gives the available memory in main drive which is the flash memory.
c) FREE_KBYTE_SECONDARY gives the available memory in secondary drive which is CF card.
d) FREE_KBYTE_OPTIONAL gives the available memory in optional drive which is USB storage device.