Author |
Message |
Written on: 15. 03. 2011 [15:30]
|
TY_Obninsk
Илья Клемышев
Topic creator
registered since: 14.01.2011
Posts: 63
|
И снова здравствуйте, товарищи!...я сейчас занимаюсь внедрением OpenScada на нашем предприятии, и вот сейчас столкнулся с такой ситуацией: в сети присутствуют наводки, которые влияют на получаемые с внешних источников данные, а конкретнее - вместо относительно постоянного значения датчика получаю 50 Гц синусоиду вокруг этого значения. И вот вопрос, возможно уже кем-то из вас решенный, - каким образом реализовать частотный фильтр, дабы получать и сохранять "чистые" данные?
|
Written on: 15. 03. 2011 [15:50]
|
almaz
Almaz Karimov
Contributor
registered since: 25.09.2008
Posts: 516
|
В первую очередь нужно попытаться физически устранить наводки. Поманипулировать с землёй :D. Или, например, провести сигнал цифрой, а не аналоговым сигналом. Было такое, что даже RS-485 не удавалось избавить от помех - помог Ethernet.
Если же хотите программно, то нужна математическая модель фильтра электрического в виде блока (ява-проги). Литература по электротехнике Вам в помощь. Или курсовая студентов :D:
http://revolution.allbest.ru/radio/00329998_0.html
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 15. 03. 2011 [16:21]
|
TY_Obninsk
Илья Клемышев
Topic creator
registered since: 14.01.2011
Posts: 63
|
"В первую очередь нужно попытаться физически устранить наводки" - так и сделали! Именно по причине того, что устранить не удалось и пишу сей пост :) плюс можно считать, что вопрос замены линии сбора данных закрыт - что имеем, то и имеем, а именно - модули I-7000 по интерфейсу RS-485 и конвертер на RS-232. Алгоритмы фильтров я достану. Меня больше интересует именно вопрос реализации этого механизма в OpenScada. То есть, для фильтра ведь нужно не текущее значение, а некоторая история значений, и только после обработки этого участка мы можем посылать данные на сохранение/обработку/визуализацию. Как это реализовать? не кидайтесь камнями, если я что-то пропустил в документации :)
|
Written on: 15. 03. 2011 [16:49]
|
TY_Obninsk
Илья Клемышев
Topic creator
registered since: 14.01.2011
Posts: 63
|
Обнаружил путаницу в собственном изложении: данные с модулей собираются с частотой 1 Гц, поэтому говорить о 50 Гц синусоиде, наверно, совсем не корректно. Но, тем не менее, помехи есть, и сути вопроса это не меняет :)
|
Written on: 15. 03. 2011 [16:57]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
Демпфер секунд на пять поставьте и всё.
Learn, learn and learn better than work, work and work.
|
Written on: 15. 03. 2011 [17:48]
|
TY_Obninsk
Илья Клемышев
Topic creator
registered since: 14.01.2011
Posts: 63
|
А если реализовать такое решение: создать программную очередь, куда собирать приходящие значения, образующие выборку. По приходу очередного значения, выкидывать из очереди самое старое, записывать новое и, путем вычислений (работа фильтра), получать актуальное и с ним уже работать. Остается только вопрос, какие значения использовать, пока не заполнилась очередь. Верно ли?
Роман, скажите, где почитать про демпфер? поиск по форуму не срабатывает (по-моему из-за кодировки).
|
Written on: 16. 03. 2011 [05:09]
|
almaz
Almaz Karimov
Contributor
registered since: 25.09.2008
Posts: 516
|
Модули I-7000 максимум позволяют 10 измерений в секунду. Откуда же синусоида в данных? Скорее всего просто прыгает показание, а синусоида в аналоговом сигнале. Какой аналоговый сигнал используется? 4-20 ма, который наиболее устойчив к помехам, или вольты?
Вроде в некоторых блоках есть внутренняя настройка фильтра.
Программно можно, например, суммировать 10 значений и делить сумму на десять, то есть просто находить среднее.
PS Указали бы сразу точную модель устройства I-7000, тип аналогового сигнала, датчика, примерную длину аналоговой линии, наличие экрана в кабеле, а то гадаем тут... По RS-485 помех нет? Может быть блок разместить в непосредственной близости от датчика? Аналоговый кабель в большинстве случаев позволяет передачу и цифрового сигнала... Устранение помех физически - наиболее действенная мера. Программное устранение может в некоторых условиях плохо работать в дальнейшем. Например, при изменившихся условиях в силовых линиях и др.
[This article was edited 3 times, at last 16.03.2011 at 06:59.]
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 16. 03. 2011 [07:19]
|
TY_Obninsk
Илья Клемышев
Topic creator
registered since: 14.01.2011
Posts: 63
|
Модули I-7015 (как я понял из мануала, менять настройки фильтра возможности нет), сигнал снимается с термометров сопротивления Pt100, трехпроводная схема включения. Кабель трехжильный, экранированный. Для линии RS-485 использую витую пару без экрана. Однако, синусоида присутствует даже если все собрать на столе с минимальной длиной всех проводов. Согласен, что разобраться с помехами на физическом уровне было бы гораздо лучше и эффективнее.
|
Written on: 16. 03. 2011 [07:56]
|
Nika
Николай Емакаев
registered since: 10.03.2011
Posts: 18
|
Алмаз прав. Совреиенные каналы преобразования сигналов имеют на входе АЦП дифференциальные усилители, которые великолепно давят синфазную помеху от 60 до 120 децибел. Но правила технической эксплуатации электротроустановок требуют заземления одного конца датчика, превращая синфазную помеху в парафазную, которая усиливается операционником. Проверте тестером чтобы сигнальные концы датчика не имели связи с землёй. Линии связи между датчиком и преобразователем желательно проводить кабелем предназначенным для европейского рынка (на частоту 50 а не 60 Гц).
Ацп бывают интегральные и поразрядного уравновешенья. Интегральные АЦП Накапривают сигнал на канденсаторе на периоде равном длинне волны питающей сети. Фирмой NiDam (Изготовителей серии 7000 ) применяют интегральные АЦП толька в модулях 7011 но изготовленные по американской лицензии и предназначены для подавления частоты помех частотой 60 Гц. Фильтрация в данном случае сомнительна.Все остальные АЦП, данной фирмы, порозрядного уравновешенья, с частотой не ниже 100 кГц и временем выборки не более 5 мсек. Естествеено реализуется эффект стробоскопа. и огибающая видна. Но на каком рериоде периоде час, сутки месяц - неизвестно. Естествеенно эргодичность процесса ( неизменность параметра ) будет нарушена. Цифровые фильтры работают только на эргодичныэ процессах. Но варианты есть. В вашем случае вначале надо указать тип измеряемого параметра (температура, давление, ...) Затем определит период обработки, исходя из условия максимального изменения параметра (а не оценки выдаваемой компом) не более половины погрешности канала (а не погрешности датчика или модуля I-7000) Как только сообщите эти данные - напишу как оброботать сигнал в OpenSCADA.
|
Written on: 16. 03. 2011 [08:11]
|
TY_Obninsk
Илья Клемышев
Topic creator
registered since: 14.01.2011
Posts: 63
|
Да, забыл добавить - кабель от модуля к датчику заземлен со стороны модуля.
Измеряется температура.
"Затем определит период обработки, исходя из условия максимального изменения параметра (а не оценки выдаваемой компом) не более половины погрешности канала (а не погрешности датчика или модуля I-7000)" - совсем не понял, что за величина?
|