Просмотр полной версии : перезапуск программы после снятия питания с плк?
друзья, подскажите как сделать так, чтобы при выключении питания и включении питания снова, программа не оставалась на том шаге на котором пропало напряжение , а обнулялась как при первом включении.
заранее благодарен. спасибо.!! программа написана ня языке Ld
контроллер плк-100.220-рм
Филоненко Владислав
15.11.2010, 13:42
10 минут ПЛК работает и без питания. Он не выключается :)
Анализируйте переменную Power из модуля статистики
10 минут ПЛК работает и без питания. Он не выключается :)
Анализируйте переменную Power из модуля статистики
если можно поконкретнее, а то я только учусь :) буду благодарен . Заранее спасибо.
кроме контроллеров плк63, если я правильно понимаю. и модуля статистики для них тоже нет. или я ошибаюсь?
Филоненко Владислав
16.11.2010, 13:08
да, вы все точно описали
друзья , а как это реализовать в плк 100 ?
Flomaster
17.11.2010, 02:26
На закладке "PLC configuration" щелкнуть правой кнопкой мыши на корневом элементе (PLC100) и добавить модуль Statistic.
Добавленный модуль содержит 6 элементов, один из которых и есть индикатор питания.
На закладке "PLC configuration" щелкнуть правой кнопкой мыши на корневом элементе (PLC100) и добавить модуль Statistic.
Добавленный модуль содержит 6 элементов, один из которых и есть индикатор питания.
Это выглядит так? А как управлять с помощью этого элемента?:confused: :confused: :confused:
Николаев Андрей
17.11.2010, 09:14
В модуле статистика отслеживаете значение переменной Power. 1- есть питание, 0 - нет.
А дальше программно запускаете\останавливаете\переводите в нужное состояние свою программу по значению данной переменной.
В модуле статистика отслеживаете значение переменной Power. 1- есть питание, 0 - нет.
А дальше программно запускаете\останавливаете\переводите в нужное состояние свою программу по значению данной переменной.
Принцип понятен, но вот проблема в чем: у меня панель и ПЛК запитаны с одного источника питания. При отключении питания, панель и ПЛК отключаются и выключаются все исполнительные механизмы, а при включении питания нужно, чтоб все исполнительные мехинизмы остались выключенными . Счас происходит , что при включении питания все включается. И насос (например) остается включенным так как програмно мы его включили до отключения питания. Я так понимаю, что программно можно управлять питанием ПЛК ,но когда я подам питание на ПЛК и панель, нужно чтоб управление происходило сразу без вкл исполнительных механизмов.
Зранее огромно Благодарен. Спасибо.
настройте безопасное состояние выходов контроллера
настройте безопасное состояние выходов контроллера
Будьте добры,если можно поподробнее описать, а то я новичок :) :) :) :)
Спасибо:) :)
и так на каждом модуле вывода
и так на каждом модуле вывода
исходя из картинки там настройки по умолчанию, и я так понимаю что они ничего не меняют. Может я не так понял? Извиняюсь заранее за вопрос. :) управлять статистиком тоже не удолось:(((
Terrano1992
18.11.2010, 12:20
управлять статистиком тоже не удолось
Им не надо управлять.
Читаете из Statistics бит Power и, если он принял значение False (питание пропало, работаем на аккумуляторе) - производите в своей программе любые действия, какие сочтете необходимыми. В том числе можете сами переключить выходы ПЛК в состояние, обеспечивающее безопасный "аварийный стоп" оборудования.
Power принял значение True - программа выполняет действия по обратному запуску установки в работу (полностью автоматическому, либо под контролем оператора). Вот и все...
безопасное состояние выходов контроллера
Если не ошибаюсь, оно тут не поможет. С ПЛК100 еще по этой части не разбирался, а у других производителей "Safe State" - это состояние, которое выходы принимают с момента включения питания (по умолчанию - "False", но каждый выход независимо от других можно настроить на "True") и сохраняют до тех пор, пока центральный процессор не начнет выполнять рабочую программу. Ну и в случае зависания ЦП они опять переходят в это же состояние, по аппаратному watchdog'у.
Так что в нашем случае переход в "Safe State" вполне может и не произойти - внешнее питание исчезло, но микропроцессор ПЛК еще несколько минут продолжает нормально работать от аккумулятора. Как на самом деле - пусть лучше ОВЕН ответит.
Так что в нашем случае переход в "Safe State" вполне может и не произойти - внешнее питание исчезло, но микропроцессор ПЛК еще несколько минут продолжает нормально работать от аккумулятора. Как на самом деле - пусть лучше ОВЕН ответит.
когда внешнее питание исчезло, все выходы выключаются, когда питание восстановилось, они принимают состояние которое было в момент отключения, но если аккум разрядится, то и контроллер потом начнет стартовать с 0. вот тут этот сэйф мод и поможет.
когда внешнее питание исчезло, все выходы выключаются, когда питание восстановилось, они принимают состояние которое было в момент отключения, но если аккум разрядится, то и контроллер потом начнет стартовать с 0. вот тут этот сэйф мод и поможет.
А можкт самый простой вариант будет просто вытащить батарейку и все , контроллер будет всегда запускаться с 0 ?
можно и батарейку вытащить, только переменные сохраняться не будут
еще вариант по сигналу пропадения питания вводить плк в бесконечный цикл, от вроде как должен по вачдогу перезагрузиться, только не знаю как в этом случае с сохранением переменных
Алексей Дмитриев
20.11.2010, 12:45
Вообще-то для этой цели и существует кнопочка подачи напряжения управления на исполнительные механизмы. Реализуется только при помощи реле с самоподхватом. После пропадания питания, реле отваливается и включается только кнопкой подачи напряжения управления.:p
Могу больше сказать - по немецким диновским стандартам безопасности надо для этих целей использовать специализированные реле или контроллеры безопасности оранжевого цвета.
можно и батарейку вытащить, только переменные сохраняться не будут
еще вариант по сигналу пропадения питания вводить плк в бесконечный цикл, от вроде как должен по вачдогу перезагрузиться, только не знаю как в этом случае с сохранением переменных
переменные сохраняться не будут, но после подачи питания прога начнет работу с первого цикла, правильно я понимаю?? то есть все выключится и не включится когда питание подадим.
Модуль Statistic не работает! контроллер ПЛК 150 ИМ. Все переменные модуля ничего не показывают! переменная Power = false всегда, хотя питание подключено. Подскажите в чём дело?
Николаев Андрей
13.02.2011, 18:02
Для начала перейдите в конфигурацию ПЛК и из меню дополнительно дайте команду - Стандартная конфигурация
скачал новый таргет , модуль Статистик заработал.
таргет 2.10, прошивка 2.10.8
теперь проблема - не могу поймать задний фронт Power.
пишу :
var retain
pit_off : int;
end_var
IF %IX9.3 = FALSE THEN pit_off:=1; END_IF
(по идее при выкл питания pit_off должна в 1 прыгнуть, но этого не происходит, %IX9.3 всегда true)
Николаев Андрей
14.02.2011, 19:46
Еще раз.
1. Удалите все таргеты для Вашего ПЛК.
2. Поставьте нужную версию.
3. Откройте Ваш проект.
4. Перейдите в ресурс настройки целевой платформы (Target settings).
5. В меню выбора контроллера выберете Ваш ПЛК. Нажмите Ок.
6. Перейдите в Конфигурацию ПЛК (PLC Configuration). Из меню дополнительно сделайте команду стандартная конфигурация.
Теперь работаем...
Пропадание питания лучше отслеживать с помощью тригера
Еще раз.
1. Удалите...
...стандартная конфигурация.
Теперь работаем...Не помогает - горит фиксировано, что питание есть, даже если его нет.
Нет флага работы от аккумулятора.
Что делать?
С уважением,
Herzog
Николаев Андрей
29.06.2011, 17:13
А еще какие-нибудь светодиоды горят?
А еще какие-нибудь светодиоды горят?Все гаснут примерно через секунду после выключения питания
Есть еще вопросы связанные с сохранением данных при выключении питания:
- сейчас я держу все данные в ОЗУ. При выключении питания те переменные, которые мне важны (это около 4к) переписываются в такой же набор переменных расположенных в Retain. При включении Retain восстанавливаются в ОЗУ, где я с ними и работаю. Правильно ли это? - ведь если запись в retain процессором происходит только в момент подозрительного нарушения работы (пропадания питания), то я могу объявить важные переменные исключительно как Retain, а многочисленная перезапись при нормальном питании не будет расходовать ресурс Flash-ки.
- что означает число перезаписей Flash? если я одну переменную пишу 100 тысяч раз, то убиваю всю Flash или только единственную ячейку памяти, в которую происходит запись? Объем 4к переменных записанный "скопом" есть однократная запись или 4к записей в ресурсе Flash?
С уважением,
Herzog
Николаев Андрей
30.06.2011, 09:13
Так все гаснут или питание горит?
Flash записывается равномерно - не в одно место.
запись в Retain только после отключения питания.
Пришлите более подробное описание проблемы на plc@owen.ru
Название контроллера полное, и, если можно, лог гипертермнала
Так все гаснут или питание горит?Все
Flash записывается равномерно - не в одно место.
запись в Retain только после отключения питания.А конкретно мой пример - запись 4к переменных означает трату ресурса в 4к перезаписей?
Т.е. пять-шесть пропаданий питания и Flash в моем случае перестанет работать?!
С уважением,
Harzog
Николаев Андрей
30.06.2011, 09:54
Не перестанет. даже после 50-60 не пропадет
Дмитрий Артюховский
30.06.2011, 09:59
за 5-6 пропаданий питания вы уменьшите ресурс 1 ячейки, попавшей под раздачу на 1 раз... т.е вы перепишите 20 - 24к ячеек из 3 мб по 1 разу.. совсем не страшно
... фишка в другом, при записи флеша расходуется энергия аккумулятора, несколько выключений подряд, без времени на зарядку (а она не быстрая) - и на запись не хватит энергии -> данные потеряны, блок в который программа пыталась писать, с некоторой вероятностью, помечен как сбойный и исключен из дальнейшей работы....
за 5-6 пропаданий питания вы уменьшите ресурс 1 ячейки, попавшей под раздачу на 1 раз... т.е вы перепишите 20 - 24к ячеек из 3 мб по 1 разу.. совсем не страшноЗначит нужно ставить внешний аккумулятор.
Очередной вопрос к его емкости - каково потребление PLC в спящем режиме?
P.S. Риторический вопрос в пустоту - а разве сложно было поставить нормальную флэшку с числом перезаписей, уходящим за горизонт?
С уважением,
Herzog
нормальную флэшку с числом перезаписей, уходящим за горизонт?
Например какую?
Например какую?Что-нибудь из FRAM - типа FM25256 с неограниченным количеством циклов записи-чтения.
С уважением,
Herzog
Что-нибудь из FRAM - типа FM25256 с неограниченным количеством циклов записи-чтения.
С уважением,
Herzog
Да, читал про этот тип памяти, выглядит почти панацеей. А вы лично использовали такую память, есть статистика по надёжности?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot