Просмотр полной версии : Фильтрация сингналов
Здравствуйте!
Я начал учиться программировать в среде CoDeSys v2.3 несколько дней назад.Мне дали задачу "фильтрация сигналов".Но я не знаю с чего начать.
Помогите пожалуйста!
постановка задачи из разряда иди туда незнаю куда, найди то незнаю что и чем бы ты не занимался лишь бы к отбою "устал"? Выглядит с ваших слов так)))
Николаев Андрей
07.08.2012, 10:52
постановка задачи из разряда иди туда незнаю куда, найди то незнаю что и чем бы ты не занимался лишь бы к отбою "устал"? Выглядит с ваших слов так)))
Ну ладно уж. Все мы через это проходили.
Описывайте какой сигнал и зачем фильтровать? Что с этими данными делать?
Здравствуйте!
Я начал учиться программировать в среде CoDeSys v2.3 несколько дней назад.Мне дали задачу "фильтрация сигналов".Но я не знаю с чего начать.
Помогите пожалуйста!
Для начала прочтите книгу И.В.Петрова "Программируемые контроллеры". Она есть в Internet.
Ну ладно уж. Все мы через это проходили.
Описывайте какой сигнал и зачем фильтровать? Что с этими данными делать?
сигнал аналоговый.например x = [2 80 6 3]
и после протекания через фильтр( например медианный фильтр),получится такой сигнал y = [2 6 6 3]
Для начала прочтите книгу И.В.Петрова "Программируемые контроллеры". Она есть в Internet.
спасибо.я буду читать
видимо, помогло. почитаю и я, а то аналоговые входы мерцают, например, скорость (4-20 мА, от 0 до 1470 об/мин) при нулевой реальной скорости AI выдает ток на примерно 2 об/мин. Как с этим бороться?
ferret_maybe
31.05.2014, 10:51
видимо, помогло. почитаю и я, а то аналоговые входы мерцают, например, скорость (4-20 мА, от 0 до 1470 об/мин) при нулевой реальной скорости AI выдает ток на примерно 2 об/мин. Как с этим бороться?
Думаю, что 2 об/мин - это в пределах погрешности входа и датчика. Можете сами обработку написать вычесть 2 об/мин от получаемого значения, коэффициент наклона и т.д.))) Только на другом датчике уже погрешность может быть другой и там будет допустим 1 об/мин и т.д.
Или еще вариант обнулять значение при отключенной установке по условию.
видимо, помогло. почитаю и я, а то аналоговые входы мерцают, например, скорость (4-20 мА, от 0 до 1470 об/мин) при нулевой реальной скорости AI выдает ток на примерно 2 об/мин. Как с этим бороться?
А ты про погрешность измерений что-нибудь знаешь ? Вот здесь почитай: http://www.gumer.info/bibliotek_Buks/Science/biruk/04.php
Чёкнутый Рысь
02.06.2014, 11:27
Есть там блок LIMIT называется. Используй его.
Мёртвую зону задать что-то мешает?
Порог оборотов остановки привода?
ferret_maybe
02.06.2014, 14:13
Есть там блок LIMIT называется. Используй его.
Интересно, как Limit использовать? Он вроде бы в диапазон рабочий попадает)?
Чёкнутый Рысь
02.06.2014, 15:23
Ограничитель
OUT := LIMIT(Min, IN, Max) означает:
OUT := MIN (MAX (IN, Min), Max)
Max задает верхнюю и Min нижнюю границы ограничителя. Если IN больше верхнего или меньше нижнего пределов, результат 'обрезается' соответственно до Max или Min.
IN и OUT могут быть любого типа.
Пример IL:
LD 90
LIMIT 30,80
ST Var1 (* Результат 80 *)
Пример ST:
Var1:=LIMIT(30,90,80); (* Результат 80 *);
Ограничитель
OUT := LIMIT(Min, IN, Max) означает:
OUT := MIN (MAX (IN, Min), Max)
Max задает верхнюю и Min нижнюю границы ограничителя. Если IN больше верхнего или меньше нижнего пределов, результат 'обрезается' соответственно до Max или Min.
IN и OUT могут быть любого типа.
Пример IL:
LD 90
LIMIT 30,80
ST Var1 (* Результат 80 *)
Пример ST:
Var1:=LIMIT(30,90,80); (* Результат 80 *);
Вам намекают, чтоб внимательнее условие задачи прочитали, чему будет равна переменная, которая предполагается должна быть равна нулю, если LIMIT(0, X, 1470); , где Х равно двум
ferret_maybe
02.06.2014, 15:48
Вам намекают, чтоб внимательнее условие задачи прочитали, чему будет равна переменная, которая предполагается должна быть равна нулю, если LIMIT(0, X, 1470); , где Х равно двум
Совершенно, верно именно намекаю), хотя было предположение, что я может быть чего-то не знаю и услышать свежую мысль...
Совершенно, верно именно намекаю), хотя было предположение, что я может быть чего-то не знаю и услышать свежую мысль...
как один из вариантов, фильтрацию можно и таким способом организовать http://www.owen.ru/forum/showthread.php?t=10588&p=61379&viewfull=1#post61379
.... может быть чего-то не знаю и услышать свежую мысль...
--- читайте пост #11 ещё раз ;)
есть такая задача у меня на столе лежит: тензодатчик , модуль icp-con 7016,плк 110-32 . я хочу получить что то вроде электронных весов на первом этапе а в дальнейшим дозатор .с плк только знакомлюсь опыта нет не какого . и вот только начал писать программу сразу же появились сложности . тензодатчик подключил к i7016 , а i7016 к плк через 485 порт настроил и вижу значения меняющиеся от нагрузки на датчик и вроде все хорошо но эта переменная постоянно находится в колебательном режиме так сказать.Вопрос, как грамотно произвести фильтрацию ??? блок DIG_FLTR не работает .
А нагрузка сама-то не колеблется?
Экранирование и защита от наводок выполнены?
да все рекомендации учтены ... вопрос только как это программно обработать ....
может есть какие то готовые блоки для таких случаев ?
Если имеются в виду программные модули, то не знаю.
Эксплуатируем несколько комплектов весов на трёх бетонных заводах - озвученной проблемы не наблюдается.
Если сигнал начинает колебаться, то это либо воздействие внешних вибраций от неисправного оборудования, либо кончина самого тензодатчика.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot