-
сохранение значений переменных
здравствуйте, у меня есть программа с множеством параметров, значение которых пользователь меняет в ходе работы. есть ли какая-нибудь возможность сохранять эти значения в режиме онлайн и присваивать их параметрам в следующем сеансе? либо подскажите как сделать перезагрузку изменённого проекта без обнуления переменных.
-
объявите эти переменные как Retain
-
почитайте стр.5-4, 5-5 руководства "Руководство пользователя
по программированию ПЛК в CoDeSys 2.3".
-
Я использую переменные MODBUS (Slave), а они на сколько я знаю являются переменными RETAIN. И когда я отключаю питание и произвожу сброс их значения остаются, а вот если я хочу загрузить новую программу отличающуюся от старой даже двумя строчками, они сбрасываются. К слову у меня 2 модуля, для каждого модуля по 8 рецептов, в каждом рецепте по 26 параметров итого 26х8х2=416.
-
а что мешает перед загрузкой нового проекта сохранить файл с ретейн переменными на компе, а после загрузки проекта - залить обратно?
-
Это возможно, только если конфигурация переменных в slave не меняется.
Наиболее полное управление сохранением retain можно достичь только если вы сами будете это делать.
В Вашем случае рекомендую использовать доп. файл, в который вы по известному событию будете сохранять память из slave, а при старте восстанавливать.
-
я так и делаю, для каждого параметра (26шт) у меня создан массив Retain переменных состоящий из 2 строк (на каждый модуль по строке) и 8 столбцов ( на каждый рецепт по столбцу), при каждом изменении значения параметра, он сохраняется в массиве, а когда перезаливаю программу массив пуст!!!
-
Retain действует именно так. И это описано в документации и является стандартом.
Если Вам необходимо иное поведение - надо его сделать самому.
Берете указатель на первый параметр slave, считываете массив данных, записываете его в файл.
Если надо - восстанавливаете из файла. В этом случае - все в Ваших руках.
-
видимо тогда мой вопрос должен звучать так: " а как сохранить массив данных в файл ?"
-
даете в функцию FileWrite адрес массива и его размер.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума