SIEMENS, DF&PD

Предыдущее посещение: Сб июл 09, 2016 10:08 Текущее время: Сб июл 09, 2016 10:08

Часовой пояс: UTC + 3 часа




 [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Фильтр сглаживания для аналогового сигнала?
СообщениеДобавлено: Чт мар 04, 2010 16:23 
Не в сети
Известный Писатель

Зарегистрирован: Вс янв 03, 2010 15:28
Сообщения: 280
Имеется аналоговое значение (пятизначное) от тензодатчика. Последня цифра, а и иногда предпоследняя цифра, этого анологового значения постоянно меняется и из-за этого постоянно "прыгает" вес на панели оператора от 700грамм.

Как в программе контроллера S7-200 написать так называемый фильтр сглаживания, который бы сглаживал это меняющиеся значение?

И я так понял это должно примерно выглядеть так:
Изображение

Кто сталкивался с такой проблемой и кто ее как решил?
Буду очень благодарен, за совет!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 16:32 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7515
Откуда: Украина
http://www.automation-drives.ru/forum/viewtopic.php?t=13064


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 04, 2010 20:17 
Не в сети
Известный Писатель

Зарегистрирован: Ср мар 19, 2008 6:36
Сообщения: 222
Может это поможет.
http://www.automation-drives.ru/as/down ... 72_34R.pdf
Я использовал другой способ, тоже из какого-то примера.
Если найду завтра пример и если это еще будет нужным, то могу прислать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 05, 2010 13:00 
Не в сети
Ведущий специалист

Зарегистрирован: Ср авг 02, 2006 9:56
Сообщения: 976
Откуда: SIEMENS I IA AS Москва
А может быть достаточно использовать уже встроенный функционал s7-200? Поинтересуйтесь настройками фильтров аналоговых входов в System Block -> Input Filters -> Analog


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 05, 2010 17:11 
Не в сети
Известный Писатель

Зарегистрирован: Вс янв 03, 2010 15:28
Сообщения: 280
Eugene1974
я читал эту тему, там предлогают стандартные блоки для s7-300, а у меня S7-200 и еще формулы, которые мне сложновато реализовать))

Hemo
спасибо за ссылку, попробую способ усреднения аналогова сигнала
Если найдешь способ, которым ты делал, то напиши обязательно сюда

Гуляев Евгений
Я пробовал изменять фильтрацию этих значений, не помогло


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 09, 2010 7:11 
Не в сети
Известный Писатель

Зарегистрирован: Вт янв 20, 2009 13:44
Сообщения: 343
Fed_85 писал(а):
....сложновато реализовать.....

Простой апериодический фильтр реализовать очень просто, использовать "толстенные" блоки только для фильтрации весьма расточительно.
X - входная величина (требуется отфильтровать)
Y - выходная величина (отфильтрованная)
Y(n-1)- выходная величина, с прошлого цикла.
Вариант 1-й (уже видели его по ссылке):
Y=Y(n-1)+(X-Y(n-1))*K
K - коэффициент от 0 до 1, требует пояснения (часто встречается, но мало о чём говорящий) поскольку обработка программы происходит циклически, то данный коэффициент имеет вид:
K=Tц/Тф,
где Tц - период исполнения функции фильтрования,
Тф - постоянная времени фильтра.
Вариант 2-й (самый простой в написании):
Y=Y(n-1)*a+X*b,
где подбирая коэффициенты a и b, можно добиться требуемого уровня фильтрации. И ещё одно: a+b=1, a,b<0. Пример: Y=Y(n-1)*0.8+X*0.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 09, 2010 11:09 
Не в сети
Известный Писатель

Зарегистрирован: Ср мар 19, 2008 6:36
Сообщения: 222
Fed_85 писал(а):
Если найдешь способ, которым ты делал, то напиши обязательно сюда
Я брал из примера 54 (SBR50). Смысл его такой же, как и в примере 34.
Изображение
AIW0 - вход
VW210 - результат
Вход N блока SHR_DW - количество выборок (в примере, 2 в степени 6 = 64)

Вот оригинал (стр.9):
http://www.automation-drives.ru/as/down ... 72_54R.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 10, 2010 11:23 
Не в сети
Известный Писатель

Зарегистрирован: Вс янв 03, 2010 15:28
Сообщения: 280
ProFan
а как из этой формулы описать величину: Y(n-1) (выходная величина, с прошлого цикла)?


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

за ранее благодарен за ответы, а то эта проблема очень сильно калупает мозги))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 8:17 
Не в сети
Известный Писатель

Зарегистрирован: Вт янв 20, 2009 13:44
Сообщения: 343
Fed_85 писал(а):
..... описать величину: Y(n-1) ....


Y=Y(n-1)+(X-Y(n-1))*K
Y(n-1)=Y

"постоянно "прыгает" вес на панели оператора от 700грамм"
На что это влияет, чем не устраивает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 15:40 
Не в сети
Писатель со стажем

Зарегистрирован: Чт авг 17, 2006 8:18
Сообщения: 745
Откуда: Ярославль
А среднее арифметическое не пробовали вычислять, скажем пишем массив из какого-то количества элементов с дискретностью, скажем 100 мс (OB35), далее вычисляем среднее арифметическое и т. д. Можно организовать методом скользящего среднего. Постоянная времени фильтра - количество точек * 100 мс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 16:08 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7515
Откуда: Украина
Алексей Дмитриев писал(а):
А среднее арифметическое не пробовали вычислять, скажем пишем массив из какого-то количества элементов с дискретностью, скажем 100 мс (OB35), далее вычисляем среднее арифметическое и т. д. Можно организовать методом скользящего среднего. Постоянная времени фильтра - количество точек * 100 мс.

http://www.automation-drives.ru/forum/viewtopic.php?p=62571#62571
Вопрошающий же написал - у него - 200-й и программировать лень:-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 16:34 
Не в сети
Писатель со стажем

Зарегистрирован: Чт авг 17, 2006 8:18
Сообщения: 745
Откуда: Ярославль
Eugene1974 писал(а):
Вопрошающий же написал - у него - 200-й и программировать лень:-)

Про лень ничего не писал ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 11, 2010 16:39 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7515
Откуда: Украина
Алексей Дмитриев писал(а):
Про лень ничего не писал ;-)

А это:

Fed_85 писал(а):
...и еще формулы, которые мне сложновато реализовать))
?

сложновато <> сложно :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 22, 2010 10:18 
Не в сети
Известный Писатель

Зарегистрирован: Вс янв 03, 2010 15:28
Сообщения: 280
Всем большое спасибо!

Добился сглаживание скачков путем усреднения сигнала 512-выборками и округлением дробной части. Правда вес считает около 6секунд. Максимальная погрешность 299гр. Весы 2-тонные.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group