Просмотр полной версии : Программный reset ПЛК-100
Уважаемые, подскажите пожалуйста, как программно можно ресетнуть контроллер по какому-либо условию ? Спасибо заранее !
lara197a
02.03.2012, 08:03
Ввод в бесконечный цикл.
Спасибо за ответ. Но при этом инициализируются retain persistent переменные. Я так понимаю, происходит "холодный сброс". А как бы сэмулировать простой сброс, а-ля вкл-выкл питания ?
Запитать ПЛК через собственный н.з. Do и сделать сепуку
:)
Это единственный способ ? :-)
Филоненко Владислав
11.03.2012, 12:44
Ввод в бесконечный цикл.
Спасибо за ответ. Но при этом инициализируются retain persistent переменные. Я так понимаю, происходит "холодный сброс". А как бы сэмулировать простой сброс, а-ля вкл-выкл питания ?
Спасибо за ответ. Но при этом инициализируются retain persistent переменные. Я так понимаю, происходит "холодный сброс". А как бы сэмулировать простой сброс, а-ля вкл-выкл питания ?
Спасибо за ответ. Но при этом инициализируются retain persistent переменные. Я так понимаю, происходит "холодный сброс". А как бы сэмулировать простой сброс, а-ля вкл-выкл питания ?
А какая разница, вдумывайтесь лучше, как раз все переменные которые не ретайн, сбросят свои значения (возможно нужны будут определенные их состояния), а ретайны как были до отключения питания так и останутся после включения
ПЛК-100 + ИП320 + ПК. ПЛК работает в качестве узла учёта. Накапливает расходы пара и воды. ПК читает данные через OPC и складывает в базу. Примерно один-два раза в сутки отваливается ethernet (пришивка 2.10.9). После вкл/выкл пинг восстанавливается. Ежели делать reset через бесконечный цикл - обнуляются переменные расходов.
пробовали использовать системные события и по ним сохранять и восстанавливать требуемые переменные?
Не пробовал. Не понимаю, если честно, откуда я могу восстановить переменные по after_reset, например.
создайте модбас слейв, в свойство before(до) пишите все переменные туда которые нужно сохранить, в after(после) обратный процесс.
Ок, попробую. Спасибо за совет !
Попробовал. Не получается. Во-первых, полное ощущение, что задача after_reset не обрабатывается после ресета через бесконечный цикл.
Делаю холодный ресет через CodeSys - вижу, что обрабатывается. А вот ресет через бесконечный цикл - фигвам :-) Этраз. Ну енто бог с ним,
в конце концов, отслеживаю первый цикл через переменную, которую тут же сбрасываю. По первому циклу пытаюсь перекинуть значения накопленных
расходов из элементов modbus slave (у меня там панель висит) обратно в переменные ПЛК. Но ничего не получается, такое впечатление, что
в modbus_slave после ресета всё по нулям. А ведь в modbus_slave я постоянно значения пишу для их отображения на панели.
незнаю, я когда тестирую другие задачи, модбас вообще удаляю из конфигурации, выключаю ПЛК, после включаю загружаю проект с модбасом и значения которые до этого там хранились остаются, как бы считаю проблем не должно возникать. Попробуйте паралельно панели ложить в другой модбас, который никто не пользует и при перезапуске с него брать, может получится
Добрый день.
Вопрос наверно глупый, но как сделать бесконечный цикл для перезагрузки плк100 ?
Николаев Андрей
22.12.2015, 18:10
Сделать недостижимое условие в цикле.
Flomaster
23.12.2015, 05:35
Добрый день.
Вопрос наверно глупый, но как сделать бесконечный цикл для перезагрузки плк100 ?
Примерно так:
WHILE TRUE DO
;
END_WHILE
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot