Да логика "убойная", через ИЛИ, для целочисленных значений: если было "2", надо записать "1", запишется "3"! Для флоата даже трудно представить что запишется! Наверно надо "ИЛИ" убрать!
Вид для печати
Такая логика как раз и сделана была после разных сбоев, чтобы было удобнее отслеживать, ранее были просто энергонезависимые переменные которые без всяких извращений хранили два значения для термостата, что не мешало также сбрасываться. Что делается: переменная Тmin и Tmax имеют значения 76,8 и 77. При первом включении программы (после загрузки) в течении 1,5 минут эти значения работают, чтобы в облаке сохранился первый запуск, ну или время смены программы, через три минуты эти значения меняются на значения из констант 78,5 и 79 и далее больше ни чего не меняется, эти значения для термостата нижняя и верхняя граница вкл\откл.
Вот в Вашем варианте описана действительно ерунда))) В моём это всё работает по крайней мере в симуляторе и в железе, а сбой он и с этим и без этого "художества" присутствует. Кстати, а Вы бы как такое реализовали, я понимаю, что вариантов много, может предложите компактней и проще?
Вариант не пробовал в симуляторе, но скорее да, так и будет. Данный момент наверное уберёт, то что выше я описывал о непонятном значении с потолка. НО сброс на ноль энергонезависимых переменных и без этой канители был, и вылезает эта зараза не каждый день, она может и месяц и два не появляться... Завтра уберу вообще всю "стрёмную логику" оставлю просто переменные и сто процентов через энное время будет сбой, и снова по кругу. Не знаю, как ещё попробовать это дело победить.
Какая версия ПО ? у меня просто тоже был сброс ВСЕХ энергонезависимых переменных в 0. Потом 12-ю версию накатил, и пока не наблюдается.
А у меня уж точно не было каких либо стремных алгоритмов, которые бы могли повлиять.
Несколько переменных были энергонезависимыми и совмещенными с Modbus соответствующими макросами, но были и просто переменные Modbus. Слетело полностью все.
Да я понимаю... Вопрос: имеет смысл или нет программку переписать в ручную с ноля, создать снова файл, выбрать реле и далее всё без копирования и вставок, без создания копии программки и её редактирования? Может какой косяк в файле и он "кочует" от варианта к варианту? Может быть такое?