Существует ли возможность сразу отключить работу ПЛК при пропадании питания и не тратить ресурс аккумулятора? Пробовал функции библиотеки SysLibPlcCtrl.lib, но она не поддерживается.
Существует ли возможность сразу отключить работу ПЛК при пропадании питания и не тратить ресурс аккумулятора? Пробовал функции библиотеки SysLibPlcCtrl.lib, но она не поддерживается.
Используйте модуль статистика - там есть признак питания. Перезагрузить можно вызвав вечный цикл. Сработает охранный таймер
тоже интересует этот вопрос. при тестировании часто не требуется, чтобы после отключения питания тратился ресурс аккумулятора.
1) Добавьте охранный таймер - нужное Вам значение в PLC_Configuration - корень - Module Parameters - Max Cycle Legth или , если используете задачи, в конфигураторе задач - Watchdog )
2) Добавляете модуль статистика выбираете четвертую переменную - Power Status и привязывете к IEC адресу переменную pwr
3) в основном цикле плк вызываете следующий код WHILE NOT pwr DO ; END_WHILE
При пропадании питания значение переменной pwr будет равна false. ПЛК впадет в "вечный" цикл и охранный таймер сработает. При перезагрузке от батарейного питания ядро ПЛК не загрузится и соотетственно аккумулятор не будет разряжаться для поддержки питания ARM, RAM и Ethernet
спасибо, теперь все понятно![]()
В случае использования такого способа сохрание переменных Retain гарантируется?
Да.
Переменные записываются 2 раза.
Первый при пропадании внешнего питания.
Второй при выключении встроенного аккумулятора.
Т.о. состояние Retain на момент выкл. питания будет сохранено. Однако все данные, к-е Вы положите в retain переменные ПОСЛЕ выключения внешнего питания, если сделать бесконечный цикл, будут потеряны.
А на что вообще, кроме продолжительности работы после отключения питания, влияет заряд аккумулятора?
Предположим, что аккумулятора вообще нет. В этом случае свои функции по сохранению переменных контроллер выполнять будет? Успеет ли на заряде емкостей источника питания.
Я к чему. Пользователи когда-то столкнутся с тем, что аккумулятор потеряет свою емкость, и есть вопрос по сохранению работоспособности контроллера.
1. При отсутствии аккумулятора записи данных не будет. К сожалению, за мощный процессор и много памяти надо чем-то платить.
2. Деградация аккумулятора. Процесс неизбежный, но не надо драматизировать. На запись данных уйдёт 1 секунда, т.е. ~150 мА*ч/120 мА*сек=0,8% емкости аккумулятора. До такой степени аккумулятор деградирует не скоро.
Как не скоро?
Пусть каждый год аккумулятор теряет 20 % емкости (очень пессимистично), тогда до 5 % емкости (с 6-ти кратным запасом на неблагоприятные условия эксплуатации) от деградирует за (log по основанию 0.8) от (0.05) лет, т.е. за 13 лет.
К этому времени или эмир сдохнет, или ишак или аккумулятор поменяют. Он совсем не эксклюзивный.
Небольшое уточнение. Значение Power Status обновляется только после первого скана выполнение программы. Поэтому код1) Добавьте охранный таймер - нужное Вам значение в PLC_Configuration - корень - Module Parameters - Max Cycle Legth или , если используете задачи, в конфигураторе задач - Watchdog )
2) Добавляете модуль статистика выбираете четвертую переменную - Power Status и привязывете к IEC адресу переменную pwr
3) в основном цикле плк вызываете следующий код WHILE NOT pwr DO ; END_WHILE
При пропадании питания значение переменной pwr будет равна false. ПЛК впадет в "вечный" цикл и охранный таймер сработает. При перезагрузке от батарейного питания ядро ПЛК не загрузится и соотетственно аккумулятор не будет разряжаться для поддержки питания ARM, RAM и Ethernet
WHILE NOT pwr DO ; END_WHILE
не будет работоспособен, если его выполнение будет в первом же скане.
Спасибо за ответы.
Последний раз редактировалось SergeyNG; 19.02.2008 в 04:52.