I have an issue with a program running on the CR6 s.n. 7575 with OS 8.00: when I try to change the value of one constant in ConstTable, using C command in Terminal Emulator, the logger replies the message “Failed to modify NULL, most likely out of space. Exiting” as response to “save changes and restart program” command.
I tested the same program on another CR6 (s.n. 5451 OS 8.00) with exactly the same configuration and the procedure works fine!
This issue does not occur on CR6 s.n. 7575 data logger with OS 7.02.
I notice another difference between the two loggers, with the same configuration (OS 8.00, factory configuration, no program), the free memory showed in the file control window (PC200 or Device configuration utility) is different: 1.01 MB for the unit with s.n. 5451 and 31.42 MB for the unit with s.n. 7575. In Status Summary both devices show the same amount of memory (MemorySize: 4 194 304, MemoryFree: 3 793 240).
Thank you for attention
I have sent you a direct email to get some information. I will update the forum post for others to see when I know more.
For the problem with changing Constants:
When using your program, I saw that after trying to change the constant, the compile message in File Control showed “Out of Memory” errors. This is a bug they are aware of and has been fixed. You have a large program and some Dim variables and ran into this. It has been fixed in OS 9 which will be available in a couple of weeks.
(Major) The MaxNumBytes (bytes allocated to buffering) now calculates memory for Dim variables correctly. Prior to this change, Dim variables allocated six times more memory than needed (same as Public variables). Large programs with many Dim variables may have generated OUT OF MEMORY errors in the compile results.
For some reason, the CR6 with less memory is not being affected by your specific program so you don't see the problem there.
As far the as the memory question:
The CR6’s are now built with more memory. The large amount you see available for Files on the CPU is normal for a newer CR6, but it does not affect the amount of memory free and memory available in other parts/types of memory. That is why the Status Summary shows the same information for the older and newer CR6. (The extra memory that shows available for the CPU can also be set up in DevConfig’s Advanced tab as space for a USR (urser) drive.) What extra memory isn’t being used for CPU and USR drives, is used to allow for more final storage. Your table fill times (for auto-allocated sized tables) will show much longer fill times on the CR6 with the extra memory.