Показано с 1 по 10 из 16

Тема: прерывное использование контроллера

Комбинированный просмотр

Филоненко Владислав Ключевые слова для поиска:... 13.12.2010, 18:19
Andy а еще зимой мва8 с... 13.12.2010, 20:27
Малышев Олег При пропадании питания retain... 14.12.2010, 10:17
Дмитрий Артюховский сделайте кнопки "включить" +... 14.12.2010, 10:34
Edik_Ponomarenko Посчитай зарядный ток... 23.04.2014, 22:21
Дмитрий Артюховский Да, именно так. Имею опыт... 14.12.2010, 14:40
Малышев Олег Еще раз - контроллер... 14.12.2010, 12:24
Филоненко Владислав Волков бояться - в лес не... 14.12.2010, 15:50
Николаев Андрей Как раз за эти 10 минут он и... 22.12.2010, 14:28
Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    При пропадании питания retain сохраняются. Но для записи на флеш нужно переждать некоторое время <1 секунды. Поэтому сразу при выключении питания лучше использовать следующий код. Это же даст время для подхвата АВР(что бы плк не перезагружался).
    tof_power(in:=power,pt:=t#1s);
    while (not tof_power.q) do ; end_while
    У Вас я так понял при первом пропадании ПЛК идет в цикл для wathcdog?
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  2. #2

    По умолчанию

    сделайте кнопки "включить" + "выключить", идея как на компах. при нажатии на кнопку "включить" подаем напругу на обмотку пускателя, который сработав, блокирует кнопку "включить". все заработало....
    при нажатии на кнопку "выключить" ( подключенную к входу) контроллер аккуратно сохранит свои переменные в файлик, после чего включит релюшку (с нормально замкнутыми контактами) и разблокирует пускатель и соответственно весь стенд выключиться....
    есть еще одна идея, менять аккумулятор на ионистор. в этом случае заряд, необходимый для корректного выключения мы получаем за секунду работы контроллера, да и деградация практически не происходит.... ну время работы после пропадания питания будет меньше, а нужно оно большое??

  3. #3

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    сделайте кнопки "включить" + "выключить", идея как на компах. при нажатии на кнопку "включить" подаем напругу на обмотку пускателя, который сработав, блокирует кнопку "включить". все заработало....
    при нажатии на кнопку "выключить" ( подключенную к входу) контроллер аккуратно сохранит свои переменные в файлик, после чего включит релюшку (с нормально замкнутыми контактами) и разблокирует пускатель и соответственно весь стенд выключиться....
    есть еще одна идея, менять аккумулятор на ионистор. в этом случае заряд, необходимый для корректного выключения мы получаем за секунду работы контроллера, да и деградация практически не происходит.... ну время работы после пропадания питания будет меньше, а нужно оно большое??
    Посчитай зарядный ток ионистора и посмотри на схемное решение в ПЛК по аккуму. Ионистор оно не потянет без переделки, а переделывать там много прийдется.....

  4. #4

    Unhappy

    Цитата Сообщение от Малышев Олег Посмотреть сообщение
    При пропадании питания retain сохраняются
    согласно документации через 10 минут (зависит от степени зарядки аккума) работы ПЛК от аккума. и как я понял сохраняются только тогда, когда сам контроллер решает что пора выключаться. не раньше.
    Цитата Сообщение от Малышев Олег Посмотреть сообщение
    У Вас я так понял при первом пропадании ПЛК идет в цикл для wathcdog?
    по сигналу пропадания питания у меня вызывается действие
    Код:
    WHILE TRUE DO
    aaa:=aaa+1;
    END_WHILE
    которое вызывает перезагрузку контроллера. при восстановлении питания контроллер не продолжает работу с "того места", а заново грузит ядро кодесиса, что впринципе то и нужно. но тут оказывается, что переменные не сохранились
    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    при нажатии на кнопку "выключить" ( подключенную к входу) контроллер аккуратно сохранит свои переменные в файлик, после чего включит релюшку (с нормально замкнутыми контактами) и разблокирует пускатель и соответственно весь стенд выключиться....
    я правильно понял, что вы предлагаете переменные использовать не типа "retain" а сохранять их вручную в файловой системе?

  5. #5

    По умолчанию

    я правильно понял, что вы предлагаете переменные использовать не типа "retain" а сохранять их вручную в файловой системе?
    Да, именно так. Имею опыт эксплуатации контроллеров в таком режиме, поэтому осторожно отношусь к ретаин переменным. Типичная ситуация... устройство работает, выключается.... аккумулятор поддерживает работу, сохраняет ретайн, все хорошо но аккумулятор разряжается... потом устройство включают и выключают и опаньки сохраниться не успели.... следующее включение уже некорректно, и устройство не работает, в лучшем случае, устройство работает, но мы никогда не узнаем о попытке включения...

    Кроме того, возникают проблемы связанные с инициализацией ретаин переменных, например, отлаживается проект... по каким-либо причинам откладывается в сторону, затем возвращаешь стенд на стол, загружаешь проект и начинаются "чудеса"... На самом деле, гораздо проще обойтись без ретайна, чем проверять корректность оного.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •