-
Уважаемый Владислав!
Ваши разъяснения относительно Flash-памяти и retain-памяти понятны.
Уточните пожалуйста пункт, касающийся ОЗУ.
1.Что значит 2+0.128 Мб? Надо ли это понимать так, что 2Мб отводится для нужд системы исполнения CoDeSys, а 0.128Мб отводится для нужд пользователя?
2. Так как в соответствие с техническими данными контроллер имеет 8 Мб ОЗУ, то для какой цели предназначены ещё почти 6 Мб ОЗУ?
-
Добрый день!
Это надо понимать так, что 1 МБайт для текущего кода исполняющейся программы CoDeSys, 1 МБайт для кода в случае загрузки Online-change и 128 кБайт для данных программы CoDeSys.
А остальное - код ядра (он грузится в озу для исполнения), куча для модулей конфигурации, внутренние буфера CoDeSys, кэш, буфера драйверов (особенно Ethernet), буфера сокетов (тоже не маленькие) и многое многое другое, что обеспечивает скорость и удобство работы.
Можно было бы сократить размеры буферов,
но тогда программисты программ ПЛК ДОЛЖНЫ будут так писать свои программы, чтобы эти буфера не переполнялись, время исполнения цикла ПЛК было минимальным и пр. и т.д.
Это потребует гораздо большей квалификации программиста ПЛК...
Можно сильно уменьшить кэш файловой системы - потребовав взамен от пользователя ограничивать размер блоков при записи/чтении из Flash и смириться с "торможением" работы ПЛК при чтении/записи...
Можно уменьшить число сокетов до 2-3 - и хлопнуть по рукам тех пользователей, которым необходимо общаться с несколькими Ethernet-устройствами...
Можно уменьшить размер кучи и сказать, что больше пары-тройки ModBus-мастеров в конфигурацию ставить нельзя...