PDA

Просмотр полной версии : Счётчик энергонезависимых данных



Boris_K
30.09.2014, 14:38
Смущает, что после компиляции проекта в окне сообщений написано "Энергонезависимых данных: 0 из 4096 байт" (ПЛК100), хотя в проекте есть модуль Модбас слейв, а он целиком помещается в энергонезависимый сегмент (в этом я сам убедился, т. к. все переменные этого модуля сохраняются при отключении питания)...

Yegor
30.09.2014, 14:57
А RETAIN считает?

Boris_K
30.09.2014, 15:05
Да, переменные, объявленные как RETAIN, считает. Просто в том проекте их не было. Получается что весь энергонезависимый сегмент Модбас слейв находится не в Retain-памяти, а в тех 4 МБайт энергонезависимой памяти для хранения ядра Кодесис, программ и архивов. В принципе, логично, так как предельный размер Retain-памяти (у ПЛК100) 16 кБ, этого может оказаться маловато для сетевого обмена.

Yegor
30.09.2014, 16:44
Ну, в английской версии эта строка говорит именно про retain:

14558

Полагаю, подразумеваются только явно объявленные как retain переменные.

petera
30.09.2014, 17:42
Да, переменные, объявленные как RETAIN, считает. Просто в том проекте их не было. Получается что весь энергонезависимый сегмент Модбас слейв находится не в Retain-памяти, а в тех 4 МБайт энергонезависимой памяти для хранения ядра Кодесис, программ и архивов. В принципе, логично, так как предельный размер Retain-памяти (у ПЛК100) 16 кБ, этого может оказаться маловато для сетевого обмена.
После компиляции и запуска проекта без модуля Modbus Slave в ПЛК есть только файл "retain.bin" размером 16 кБ, а вот если в проекте есть модуль Modbus Slave, то появляется еще и файл "INNER_RETAIN.1", размер которого зависит от числа элементов в модуле.
Может в этом файле и сохраняются энергонезависимые значения?
Хотя файл "INNER_RETAIN.1" появляется даже если в конфигурацию добавить только модуль Button.