Why do you say this? I can think of several ways of doing partial downloads with no partitioning...
Yeah, but not without some limitations. If you want to download an data file extended for instance, by another hundred words or so, and the chunk of memory required had other data or code already occuping it...then something has give if you want to do it online. All I am saying is that people routinely ask for on-line editing of this or that in an open unlimited fashion, without realising just how much re-arranging and shuffling of live code is involved.
And it all has to be bullet-proof.
Terry,
In the TI model, V-Mem is open to any and all uses - you DO, of course, have to KNOW what you are doing!. There is also Timer/Counter Memory, Special Function Memory, Drum-Memory, Sub-Routine Memory, One-Shot Memory, a few other types, and of course, Code-Memory. And all of that memory is SCALABLE! That is, you can select how much you want to dedicate to whatever. Code-Memory is what is left after all other memories are dedicated.
I'm going to have to take two bites at this, one for the PLC/SLC and the other for CLX.
In the older PLC scheme there a number of default tables, IO images, Flags, Integers, FP's, Timers, Counters and Controls. By default they were of minimum size, eg file N7 was just one word long until you added more members. In other words the fixed datatables occupied a tiny insignificant portion of memory by default. From this point on memory was openly allocated entirely according to what the programmer created, what files, types, routines, etc...you could more or less allocate memory as required. Only proviso, some CPU's did have some limits on data and code memory, but in practise rarely a limitation.
In the CLX memory is for all practical purposes, entirely open. Whether program, or tag, the CPU does not care. That is what I meant by a Open Memory model. By contrast many other PLC's behaved pretty much as you outline for the TI....large blocks of memory fixed to specific purposes.