Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: НЕПОНЯТНО!

  1. #1

    По умолчанию НЕПОНЯТНО!

    Есть 4 прибора, которые должны циклически включаться и выключаться через определенное время (мс и сек). Казалось бы блок BLINK - самое оно. Написал програмку в CFC. Так что происходит: при первом запуске все ок - работает. Но при следующих запусках цикл сбивается (как будто BLINK продолжает работу с места разъединения, а мне надо чтоб заново)! Как с этим бороться???
    ПЛК100 PL таргет последний! Программка прилагается!
    Вложения Вложения

  2. #2
    Пользователь
    Регистрация
    18.08.2008
    Адрес
    Екатеринбург
    Сообщений
    983

    По умолчанию

    Что понимается под словом запуск? Не кнопка ли пуск/стоп на ПЛК?
    Она скорее дожна называться -работа/пауза.
    Есть же таймеры... . Можно и RTC наверное приспособить. Выходную переменную из DT преобразовать в DWORD, например, и проверять по условию равенства с заданными значениями. Проверив только работу при перебоях питания, на всякий случай. Для пуска использовать дискретный вход и внешнюю кнопку, надежнее.

  3. #3

    По умолчанию

    Обратите внимание на следующие вещи:
    1. При нажатии кнопкт старт\стоп программа просто ставит паузу, и после этого начинает с того же места.
    2. При пропадании питания (кратковременном) программа может еще выполняться, и тогда Вы снова можете попасть в то же место программы на SFC, что как я понимаю Вас не очень устроит. От этого нужно защищаться проверкой питания в модуле статистика, и принимать соответствующее решение.
    3. В SFC надо очень осторожно общаться с таймерами, так как если Вы таймер запустили в одном шаге, при выходе его не сбросили, а в других шагах не используете - то таймер живет своей автономной жизнью.

  4. #4

    По умолчанию

    За ценную информацию спасибо! Но основная проблема состоит в том, что при выходе с шага, я останавливаю BLINK, потом его сбрасываю и при следующем запуске оказивается, что переменные на входе и выходе сброшены, а вот внутренние (BLINK.OUT) остались в том состоянии в котором были при выходе из шага. Короче почему не сбрасывается выход BLINK.OUT, хотя вход я сбрасываю ...????

  5. #5

    По умолчанию

    Ну так у блока есть своя логика работы... её надо учитывать.

  6. #6

    По умолчанию

    дайте вашу эл. почту. я сброшу Вам написанный мною блинк.
    При отключении упр сигнала все переменные внутри и выход сбрасываются, а при запуске опять начинаю сначала.
    Жду...
    Если ты согласен с судьбой, то она ведет тебя. Если нет - тащит.

  7. #7

    По умолчанию Oooo!

    Спасибо большое!!! dronmak@ya.ru

  8. #8

    По умолчанию

    Цитата Сообщение от Александр М Посмотреть сообщение
    дайте вашу эл. почту. я сброшу Вам написанный мною блинк.
    При отключении упр сигнала все переменные внутри и выход сбрасываются, а при запуске опять начинаю сначала.
    Жду...
    Если не коммерческая тайна - выложите на форуме. Может и остальным пригодится.

  9. #9

    По умолчанию

    Запросто! Как только получу...

  10. #10

    По умолчанию

    Не получил я усовершенствованный блок...
    Полагая, в нем будет добавлена строка:
    ELSIF NOT ENABLE THEN
    UOT:=FALSE;

    Верно???

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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