Всем доброго времени суток !Имеется аналоговое значение (пятизначное) от тензодатчика. Последня цифра, а и иногда предпоследняя цифра, этого анологового значения постоянно меняется и из-за этого постоянно "прыгает" вес в программе и из за этого не могу выставить ноль системе
Подскажите как решить данную проблему.Возможно есть примеры программ на SCL ?
Фильтр сглаживания для аналогового сигнала
-
- Posts: 20
- Joined: Thu Sep 09, 2010 9:21 am
-
- Posts: 3
- Joined: Sun Jun 02, 2013 8:23 am
Re: Фильтр сглаживания для аналогового сигнала
Сделайте зону нечувствительности
Или усредняйте значение (скользящее среднее)
Или их комбинацию
В любом случае будет потеря в скорости и точности обработки сигнала.
Да и вообще зачем такая точность (до 5го знака), если сам датчик выдает ложный сигнал в этом разряде, просто можно округлить до 4 разряда...
Или усредняйте значение (скользящее среднее)
Или их комбинацию
В любом случае будет потеря в скорости и точности обработки сигнала.
Да и вообще зачем такая точность (до 5го знака), если сам датчик выдает ложный сигнал в этом разряде, просто можно округлить до 4 разряда...
-
- Posts: 51
- Joined: Thu Dec 08, 2011 11:23 am
Re: Фильтр сглаживания для аналогового сигнала
Еще как вариант:
1. Настроить фильтрацию в hardware канала.
2. Реализовать фильтр (3 строчки кода в SCL):
1. Настроить фильтрацию в hardware канала.
2. Реализовать фильтр (3 строчки кода в SCL):
-
- Posts: 20
- Joined: Thu Sep 09, 2010 9:21 am
Re: Фильтр сглаживания для аналогового сигнала
Дело в том что собираю весовой терминал.Когда преобразую величину в значение получается к примеру 23.56 кг ,второй разряд после зааятой в данном случае 6-ка прыгает.Это мешает измерению ,т.к планируется дозировать наполнение пакетов. Округление особо не помогает ,пробовал различные фильтры и по времени в итоге измерение становится инертным довольнотаки.
В формуле с экспонентой t и T какое из них что значит на примере цикла ПЛК .t это как часто опрашивается сигнал или время выполнения блока программы ?? Пояснительная пожалуйста )
В формуле с экспонентой t и T какое из них что значит на примере цикла ПЛК .t это как часто опрашивается сигнал или время выполнения блока программы ?? Пояснительная пожалуйста )
-
- Posts: 374
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: Фильтр сглаживания для аналогового сигнала
ОК, добавь обработку зоны нечувствительности (deadband): в каждом цикле новое значение веса сравниваешь с сохранённым предыдущим. Если дельта по модулю между ними меньше 0.02 - оставляешь старое значение. И нет больше никакого дребезга в младшем разряде.
-
- Posts: 99
- Joined: Thu Jun 03, 2010 7:43 pm
- Location: Russia
Re: Фильтр сглаживания для аналогового сигнала
Привет.
А почему не использовать для этой цели стандартный PID-регулятор? Gain на единицу, D на 0, а интегратором добиться требуемого. И не заморачиваться. Была аналогичная тема лет 10 назад, только не с весом, а с уровнем в смесительном танке. При включеной мешалке, была полная дребедень.
А почему не использовать для этой цели стандартный PID-регулятор? Gain на единицу, D на 0, а интегратором добиться требуемого. И не заморачиваться. Была аналогичная тема лет 10 назад, только не с весом, а с уровнем в смесительном танке. При включеной мешалке, была полная дребедень.
-
- Posts: 20
- Joined: Thu Sep 09, 2010 9:21 am
Re: Фильтр сглаживания для аналогового сигнала
Т.е мне надо записать значения в N мерный массив и каждое N-1 значение сравнить с N , если результат не выходит за дельту отправлять его на обработку?
Если можно то пример пару строчек...
Если можно то пример пару строчек...
-
- Posts: 374
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: Фильтр сглаживания для аналогового сигнала
Да какой массив... Достаточно хранить предыдущее значение.
ЕСЛИ Хтек-Xпред<Дельта ТО Y=Xпред ИНАЧЕ Y=Xтек: Xпред=Xтек
ЕСЛИ Хтек-Xпред<Дельта ТО Y=Xпред ИНАЧЕ Y=Xтек: Xпред=Xтек
-
- Posts: 20
- Joined: Thu Sep 09, 2010 9:21 am
Re: Фильтр сглаживания для аналогового сигнала
Не в те материи подался я)))спасибо)
А вообще для весоизмерительной техники нормально что так плавает разряд? Просто реальные весы когда взвешиваешь разряды стоят как вкопаны, а тут получается при таком алгоритме я несколько раз укладываю один и тот же вес а показания начинают немного разнится...
А вообще для весоизмерительной техники нормально что так плавает разряд? Просто реальные весы когда взвешиваешь разряды стоят как вкопаны, а тут получается при таком алгоритме я несколько раз укладываю один и тот же вес а показания начинают немного разнится...
-
- Posts: 374
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: Фильтр сглаживания для аналогового сигнала
Всё зависит от того, куда эти показания потом идут. Если это вес ёмкости и ПИДу надо "поймать" уставку при заполнении - небольшая погрешность не роляет. А если это мгновенный вес в потоке, который идёт в суммы за час/смену/неделю/месяц - это совсем другое.
-
- Posts: 20
- Joined: Thu Sep 09, 2010 9:21 am
Re: Фильтр сглаживания для аналогового сигнала
У меня субстанцией наполняется пакет который стоит на весах,т.е. задаю объём происходит наполнение как необходимый вес набрался все стоп.
У Siemens есть весоизмерительные модули siwarex, уважаемый Rex2701 вы не знаете там алгоритмы на аппаратном уровне зашиты, или основные преобразования в запароленых блоках?
У Siemens есть весоизмерительные модули siwarex, уважаемый Rex2701 вы не знаете там алгоритмы на аппаратном уровне зашиты, или основные преобразования в запароленых блоках?
-
- Posts: 374
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
Re: Фильтр сглаживания для аналогового сигнала
Весовая служба у нас отдельная. Почитайте документацию на SIWAREX'ы.
-
- Posts: 878
- Joined: Tue Dec 26, 2006 5:21 am
- Location: Russia
Re: Фильтр сглаживания для аналогового сигнала
Если не вдаваться в дискусии оп весовому хозяйству, то фильтрацию на аналоговых входах я делаю просто: делю на 10 потом умножаю на 10 (10 или 100 или 1000 смотря сколько знаков надо отфильтровать).