Память CPU
shurik; 17.8.01

Для чего нужна обьемная загрузочная память процессора(например внешний RAM модуль),если все упирается в ограниченную рабочую память процессора

Например S7-414 CPU имеет рабочую память 384 Кб - загрузочная память RAM 2Мб,программа занимает чуть больше 40% RAM, программа загружается,но не работает (код ошибки - нет свободной рабочей памяти).Подскажите в чем дело? Можно ли увеличить рабочую память не меняя процессор
Re: Память CPU
Оганесян Юрий; 20.8.01

Сам я упирался в ограничение по памяти только на CPU 214 и, если честно, подозреваю, что возможно соптимизировать Вашу программу, чтобы она стала гораздо меньше. А по поводу загрузочной памяти, то, как я понимаю, есть функции, которые позволяют временно выгрузить блок из рабочей памяти и на его место записать блок из загрузочной. Насколько я помню, есть даже функция - аналог дефрагментации жесткого диска ПК, которая сжимает рабочую память.

Re: Память CPU
Никаноров, Сименс; 20.8.01

Вы можете посмотреть в свойствах контейнера блоков в Simatic Manager, сколько рабочей и загрузочной памяти занимает Ваша программа.

Если рабочей памяти требуется больше, чем позволяет данный процессор, то необходимо менять процессор. Если же рабочей памяти хватает, а программа не лезет, сделайте дефрагментацию (сжатие) памяти.
А загрузочная память нужна для того, чтобы в нее, помимо программы, загрузить системные данные (Hardware Configuration), а также комментарии к программе и символические обозначения операндов (начиная со Step7 V5).
Для экономии рабочей памяти возможна динамическая подгрузка блоков данных (нелинкуемых) из загрузочной в рабочую память.