Цитата Сообщение от Scream Посмотреть сообщение
Да, опробую и отпишусь сегодня. Скажите, а сброс в Codesys->онлайн->сброс и сброс со скрытой кнопки на панели плк эквивалентны? При нажатии того или этого сброса RETAIN сохраняются? или только через 10 мин после отключения питания происходит запись RETAIN?
запись RETAIN происходит не через 10 мин после отключения питания, а после того, как на ПЛК перестанет моргать лампочка "работа"
'Онлайн' 'Сброс'
Заново инициализирует все переменные, за исключением VAR RETAIN. Если вы определили начальные значения переменных, они будут присвоены (включая VAR PERSISTENT). Прочие переменные приобретут стандартные значения по умолчанию (например, 0 для целых типов). Перед тем как переменные будут инициализированы, вы должны будете подтвердить это. Данный сброс аналогичен выключению и включению питания ПЛК при работающей программе.
Т.е Codesys->онлайн->сброс не трогает RETAIN переменные какое у них было значение, такое и останется, значение моточасов в Вашем случае останутся, если конечно Вы с ними ни чего не делаете в программе, а она начнет выполняться с нуля, как после включения питания.
'Онлйн' 'Сброс (холодный)'
Выполняет те же действия, что и команда "Онлайн" 'Сброс', , и дополнительно выполняет инициализацию энергонезависимой области памяти RETAIN.
Т.е Codesys->онлайн->сброс(холодный) эквивалентен аппартной кнопке сброс контроллера, при этом значения RETAIN (значение моточасов в Вашем случае) пропадут
Вы должны понять, что любой способ сброса не вызывает принудительной записи RETAIN куда-нибудь или загрузки их откуда-нибудь.
В контроллере есть файл retain.bin.
1.При включении питания контроллера данные из файла retain.bin присваиваются retain-переменным.
2.Программа выполняется и в ней изменяются текущие значения retain-переменных. Содержимое файла retain.bin остается пока не изменным. И так продолжается до момента выключения питания.
3. В момент выключения питания, текущие значения retain-переменных сохраняются в файле retain.bin, автоматически без Вашего участия
Пункт 3 должен так работать! Так задумано в кодесис.
Но компания ОВЕН придумала дебильную возможность работать контроллеру после отключения питания на аккумуляторе.
Управлять обесточенными механизмами какого-либо оборудования полный бред, а иногда и до беды не далеко, если например произошло кратковременное пропадание питания.
Например, ПЛК управлял клапаном подачи газа в котел и на несколько секунд пропало питание в котельной.
Клапан без напряжения закроется автоматически.
Контроллер бодро продолжает работать на батарейке и удерживает свой выход управления клапаном во включенном состоянии.
Клапан закрылся без участия контроллера, пламя в котле потухло.
Через несколько секунд в котельной появилось питание клапан открылся и запустил несколько кубометров газа в раскаленную топку котла.
Все. Взрыв. Нет больше котла, а может и котельной тоже больше нет
Но это лирическое отступление.
Контроллер ОВЕН, вместо выполнения действий п.3 сразу после отключения напряжения питания, упорно продолжает работать на аккумуляторе средне потолочное время в зависимости от здоровья аккумулятора, а затем когда заряд в аккумуляторе практически исчерпан начинает записывать в файл retain.bin текущие значения retain-переменных.
Если аккумулятор умер, то и retain-переменные ни где и ни когда не сохранятся.
В этом случае. При включении питания контроллера retain-переменным присваиваются данные из файла retain.bin. А это файл мог быть создан при удачном отключении питания, день или неделю или месяц назад.