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

Тема: Антидребезг программно

  1. #1

    По умолчанию Антидребезг программно

    Помогите, пожалуйста, с такой проблемой. Необходимо считывать состояние входов с переменным напряжением 220В, для этого был куплен модуль ввода дискретных сигналов МВ110-8ДФ. Управление осуществляется при помощи контроллера ПЛК110-60, который опрашивает МВ110-8ДФ по Modbus. Проблема обнаружилась при отладке программы на объекте: оказалось, что в модуле МВ110-8ДФ нет фильтра дребезга контактов, а у датчика, который подключен к нему они дребезжат и сделать с этим ничего нельзя. Поэтому вопрос, возможно ли при помощи ПЛК как нибудь программно отфильтровать ложные срабатывания (достаточно фильтра в 500мс).

  2. #2

    По умолчанию

    Применительно к CoDeSys у меня это выглядит так:

    TON1(IN:=iblnInput, PT:=t#500ms, Q=>qblnOutPut);
    где
    TON1 - таймер (задержка на включение)
    iblnInput - булевая переменная которую фильтруем
    qblnOutPut - булевая переменная для дальнейшего использования
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  3. #3

    По умолчанию

    Вообще неплохо, но срабатывает не с первого касания а через 500 мс,
    я бы сделал так
    tp1:TP;

    tp1(in:=inp1,pt:=t#500ms)

    work1:=tp1.q and inp1;
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  4. #4

    По умолчанию

    для антидребезга есть как минимум два метода:
    1. защелка - работает по первому фронту
    2. интегратор - работает по сумме накопленной за некое кол-во тиков.

    как выбрать - решайте.

  5. #5

    По умолчанию

    п1. приоритет д.б. у райза при 0-1, и у фалла при 1-0 меж ними дид таймаут.
    п2. if(in)integral+=1;
    else integral-=1;
    if(integral>max){integral=max; out = 1;}
    else if (integral<=0){integral=0; out = 0;}

    max - время реакции в тиках программы.
    Последний раз редактировалось LordN; 14.09.2011 в 06:46.

  6. #6

    По умолчанию

    Как ни извращайся, от задержек реакции все равно не избавишься. Либо задержки, либо неотфильтрованный сигнал. Не вижу в задержке, как в физическом явлении, ничего страшного до тех пор, пока она адекватна решаемой задаче...
    В общем случае фильтр для дискретного сигнала - это последовательно включенные таймеры TON и TOF. Временные константы выбираем "по вкусу", задавая желаемую реакцию фильтра на фронт и спад сигнала.
    Возможен альтернативный вариант, с решением на аппаратном уровне - при условии, что датчик (или концевой выключатель) имеет переключающую контактную группу. Контакт "NO" на один дискретный вход ПЛК, контакт "NC" на другой. Сигналы с этих входов подаем на RS-триггер.

  7. #7

    По умолчанию

    так входов плк не напасешься. может проще кондер впаять?

  8. #8

    По умолчанию

    Предлагаю сделать следующий вариант,
    1) ставите на вход тригера сигнал с кнопки
    2) Если тригер срабатывает, взводите 2 таймера
    3) ждете пока на первом таймере пройдет 50мс
    4) Если 50мс прошло и сигнал с кнопки активен, то, воспринимаете его за истину
    5) ждете завершение второго таймера (например 1с)
    6) ели в течении работы второго таймера (при условии, что первый отработал) появляются с дискретного входа сигналы, их отсеиваете, как дребезг или ложные.

  9. #9

    По умолчанию

    Цитата Сообщение от swerder Посмотреть сообщение
    так входов плк не напасешься. может проще кондер впаять?
    Можно, и можно гарантии лишиться.
    Если качество дискретных сигналов не очень хорошее, лучше стоит подумать о их замене на более качественные.
    Последний раз редактировалось Александр Приходько; 14.09.2011 в 09:48.

  10. #10

    По умолчанию

    Цитата Сообщение от Александр Приходько Посмотреть сообщение
    Можно, и можно гарантии лишиться.
    неправильное слово подобрал, не имел ввиду "впаять в сам прибор". или гарантия теряется просто от наличия на дискретном входе конденсатора?

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

Ваши права

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