|
Вопросы о Pixel Раздел специально по темам работы и применения контроллеров Pixel - 12xx и Pixel - 25xx |
|
Опции темы | Поиск в этой теме |
22.12.2016, 02:09 | #1 |
Новичок
Регистрация: Dec 2014
Адрес: Tyumen
Сообщения: 4
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Учет расхода воды (импульсный вход)
Добрый день!
Нужна помощь в написании макроса учета расхода воды через котел. Что имеем: Собственно сам котел с рабочим расходом воды 390 м3/час, рециркуляционный насос с ЧП "Веспер" и преобразователь расхода"МЕТРАН -300РП" с импульсным выходом (1 импульс - 0,1м3/час), контроллер Pixel 2511 и МР120. Планируется аналоговым PID-регулятором регулировать частоту насоса, что бы задавать постоянный расход через котел по уставке (к примеру те же 390 кубов в час).. Написали два макроса. Первый работает по принципу подсчета количества импульсов со счетного входа МР120 за определенный период и далее пересчитывает в кубы в час. С высокой точностью считает при большом расходе воды и большом периоде счета импульсов (при 30 сек и более.) Но минус у него в быстродействии. При снижении периода счета импульсов возрастает и погрешность. Появляется она из-за того что старт счета не привязан к фронту импульса и в один и тот же период может попадать разное количество импульсов. Например, при расходе 400 м3/час расходомер выдает примерно 1 импульс в сек. При периоде счета в 10 сек в период счета попадает 10+/-1 импульс . Соответственно, погрешность +/-10 процентов, и она увеличивается со снижением расхода. Второй макрос основан на подсчете времени м/у импульсами (в тиках) и дальнейшим переводом в кубы в час. У этого макроса проблема обратная. При низкой частоте импульсов расходомера он считает с допустимой погрешностью и при увеличении, соответственно, уменьшается количество тиков в периоде м/у импульсами и растет погрешность. Вот такой вопрос. Спасибо! Желаемое быстродействие 10-15 сек, что бы насос успел адекватно отреагировать на изменившийся расход и дотянуть его до уставки, но при этом, при постоянном расходе исключить эту ошибку подсчета импульсов/ времени. Спасибо! |
22.12.2016, 10:27 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.12.2016, 10:57 | #3 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Странный способ расчета погрешности применительно к среднему за час расходу.
А в Вашем случае уж точно лучше измерять период, может и МР не понадобится. Если не изменяет память у этого расходомера есть и токовый выход. На частотниках эту задачу можно и без контроллера решить. Последний раз редактировалось ATS, 22.12.2016 в 11:09 |
22.12.2016, 11:11 | #4 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Учет расхода воды (импульсный вход)
Не просто токовый. Вот что у него вообще имеется:
импульсный; токовый 4-20 мА с HART–протоколом; цифровой протокол ModBus RTU/RS485; ЖК-индикатор Так что хоть сразу по интерфейсу к пикселю. Либо действительно, токовый сразу на веспер. Там есть свой пид-регулятор. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
22.12.2016, 11:39 | #5 |
Новичок
Регистрация: Dec 2014
Адрес: Tyumen
Сообщения: 4
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Хорошо, еще вопрос. Есть ли какой-нибудь сглаживающий фильтр (с функцией аппроксимации, например) который сглаживал бы данные на выходе и тем самым устранил, хотя бы частично, погрешность измерения при подсчете импульсов на выходе расходомера - что бы за зря не дергать ПИД - регулятор? Ведь фактически расход то одинаковый. И еще. А что если считать среднеквадратическое значение обоих макросов? будут ли они друг друга компенсировать на крайних диапазонах?
|
22.12.2016, 11:50 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
Среднеквадратическое? Это смотря насколько врать начинают. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.12.2016, 11:55 | #7 | |
Новичок
Регистрация: Dec 2014
Адрес: Tyumen
Сообщения: 4
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Цитата:
Метран-300ПР-200-В-0,1-01-ШР-К1. Поправьте, если ошибаюсь. Погрешность в моем случае важна так как необходимо быстродействие системы дальнейшего регулирования. В случае измерения периода, действительно счетный вход МР не нужен. Постараюсь объяснить. При расходе в 400 м3/час счетчик периода успевает сосчитать 7-8 тиков. так вот, при пересчете в расход разница на выходе макроса выходит в 20-30 процентов, что не приемлемо для регулятора. расход то по факту не поменялся. При низком расходе 100 кубов в час, даааа,красота. Счетчик кушает примерно 30 тиков между импульсами и +/- 2 тика на итоговый результат не повлияют. Последний раз редактировалось Arsie, 22.12.2016 в 15:56 |
|
22.12.2016, 12:28 | #8 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Учет расхода воды (импульсный вход)
Ну да, у этого датчика нет ни аналогового выхода, ни харта, ни модбаса, ни дисплея =(.
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
22.12.2016, 14:15 | #9 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
Импульс не попавший в один интервал попадает в следующий при неизменном расходе. При этом получаете только пульсации выходной величины расхода. Усредните результаты за приемлемые для вас 10 секунд любым удобным способом. P.S. И не забудьте эту вихревку подальше от насоса поставить. Последний раз редактировалось ATS, 22.12.2016 в 14:39 |
|
22.12.2016, 14:36 | #10 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
|
|
22.12.2016, 14:45 | #11 | |
Новичок
Регистрация: Dec 2014
Адрес: Tyumen
Сообщения: 4
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Цитата:
А какие еще бывают способы усреднения? у меня кроме среднеквадратического (сложить и поделить) значения больше в голову ничего не приходит. Расходомер стоит на выходе из котла, насос давит в котел так то расстояние трассы приличное... Последний раз редактировалось Arsie, 22.12.2016 в 15:56 |
|
22.12.2016, 15:03 | #12 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Цитата:
Ссылку на фильтры Арсений давал выше. Цитата:
Посмотрите фильтры выше. Последний раз редактировалось Arsie, 22.12.2016 в 15:56 |
||
22.12.2016, 15:16 | #13 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
|
|
23.12.2016, 10:00 | #14 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Этот, filter_(i)(il)_автобайпас по ссылке выше даже не пробуйте - целочисленный совсем не подойдет. Лучше уж из справки Лоджика простейший но на Real.
Кстати у Вас Пиксель будет совcем не загружен. Кто мешает время тика уменьшить? |
23.12.2016, 11:50 | #15 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Там есть и тот, что в справке лоджика.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
23.12.2016, 13:19 | #16 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
|
23.12.2016, 17:14 | #17 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
А не проще считать время между импульсами, оно пропорционально расходу. Нужен расход 390м3/час. 390/0.1(цена импульса)=3900 имп/час. =1,0833 сек. Сравниваешь это значение с измеренным между соседними импульсами, получаешь ошибку регулирования!
|
23.12.2016, 20:47 | #18 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
|
24.12.2016, 07:52 | #19 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 768
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
Как вариант можно попробовать решить проблему для текущего набора оборудования следующим образом: 1. Экспериментально определить рабочую точку насоса для выбранного расхода. 2. ПИД будет определять смещение от выбранной рабочей точки в каких то пределах (+/- 10/20/30%). На скорость выхода на уставку это не особо повлияет, но расход будет в допустимом диапазоне. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. Последний раз редактировалось tvf, 24.12.2016 в 08:11 |
|
24.12.2016, 09:57 | #20 |
Senior Member
Регистрация: Dec 2011
Сообщения: 768
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Как вариант решения проблемы на существующем наборе оборудования можно предложить и другой вариант (подходит, когда весь проток насоса идет через котел) без использования ПИ/ПИД:
Используем известное соотношение для насосов: Q1/Q2=N1/N2, где Q-расход через насос, N-обороты (частота) насоса => Q=a*N, где а-некий коэффициент, зависящий от гидравлики обвязки 1. Экспериментально определить рабочую точку насоса для выбранного расхода. 2. Запускаем насос на частоте, соответствующей заданной рабочей точке. 3. Определяем расход жидкости. 4. По расходу и частоте насоса определяем коэффициент а. 5. По вычисленному а и уставке расхода определяем частоту насоса. 6. Далее п.2-5 по кругу. Получается что то типа метода последовательных приближений. Выход на уставку быстрей, чем в предыдущем варианте, но резкие скачки производительности насоса и ограничения на топологию гидравлики. Но и тут о 10-15 с речи не идет. Как минимум 100 с для точности 1%. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
25.12.2016, 19:49 | #21 | |||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
Да и кто вообще говорил о мгновенном расходе? И про Д составляющую может лучше вообще забыть. Цитата:
Длительность импульса сопоставима с тиком и есть вероятность потерь, а она не нужна. Приведенный выше алгоритм этим точно грешит. [QUOTE]Имеющийся у вас преобразователь прекрасно справляется с подсчетом объема перекаченной жидкости и не годится для определения мгновенного расхода жидкости.[QUOTE]Хоть и не люблю вихревки, но измеряет он как раз мгновенный расход (точнее скорость потока). А вот заказывать его точно нужно было с токовым выходом... Цитата:
|
|||
25.12.2016, 21:40 | #22 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Вывод про разные результаты измерений разными методами неверен
Точность будет зависеть от частоты дискретизации и периода измерений. Количество подсчитанных импульсов за 10 сек при максимальном расходе 700 м3/ч будет равно 51 +- 1 имп. Т.е 2% Интервал между импульсами при максимальном расходе будет 5-6 100 мс тиков. (если за конец импульса брать изменение счетчика МР120. а сам счетчик не сбрасывать). Что при усреднении на 10 сек интервале даст те же самые 2% Вспоминаем теорему Котельникова, что частота дискретизации должна быть более чем 2 F верхняя. У нас частота дискретизации примерно 5 F верхняя. Следовательно можно брать метод измерения интервала между изменениями счетчика в МР120 (только не сбрасывать счетчик МР120). А далее усреднять до нужной точности и быстродействия. И правильное предложение использовать ПИД регулятор как добавку к заранее рассчитанной характеристике. Тогда можно по крайней мере уменьшить коэффициент передачи и следовательно влияние регулятора. Нужно так же учесть что максимальное время периода может быть 60 с у этого счетчика. Потом нужно сбрасывать в 0 и при следующем импульсе начинать считать период снова. __________________ В жизни 2 правила успеха: 1 Не говори всего что знаешь 2 ... |
25.12.2016, 23:52 | #23 | |||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Цитата:
Цитата:
Цитата:
Использовать МР как детектор фронтов мне в голову не пришло. P.S. Опять выше коряво наквотил... |
|||
26.12.2016, 08:45 | #24 |
Senior Member
Регистрация: Dec 2011
Сообщения: 768
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Все верно, но эта теорема не говорит, сколько отсчетов надо взять для восстановления синала. В идеале - бесконечное количество.
__________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
26.12.2016, 09:11 | #25 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
[QUOTE=ATS;32622] Не напутал?
0,92307692307692307692307692307692 - давай измеряй... А чего тут считать. 3900/60мин/60сек=3900/3600=1,083333... |
26.12.2016, 09:46 | #26 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 795
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
|
26.12.2016, 15:10 | #27 |
Senior Member
Регистрация: Feb 2010
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
А не проще ли добавить в схему два датчика давления, и регулировать по перепаду?
|
26.12.2016, 15:39 | #28 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Учет расхода воды (импульсный вход)
Для расчёта расхода по перепаду - нужно чтобы было калиброванное сужающее устройство и датчики давления должны быть тоже тщательно настроены на одинаковые показания. Здесь лучше подойдёт диф.манометр. Он показывает моментальный расход (само собой, при правильном дросселе).
__________________ В сегнетиксе не работаю с самого начала 2019 года. |
27.12.2016, 09:56 | #29 |
Senior Member
Регистрация: Feb 2010
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Весь вопрос в том, зачем поддержание расхода через через котел с нормируемой точностью. На мой взгляд, достаточно измерить перепад на насосах, и, эмпирическим путем, привязать его к расходу. Для котла полученной точности должно быть достаточно.
|
27.12.2016, 10:01 | #30 |
Новичок
Регистрация: Dec 2016
Сообщения: 5
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Учет расхода воды (импульсный вход)
Ну во первых не частота, а время между импульсами (не период, процесс не гармонический), и не в герцах а в сек.
Если я правильно понял то автору темы не учет нужен (он у него есть в виде импульсов), а регулятор расхода. Если так, то отталкиваться нужно от задания 390м3/ч. Соответственно время между соседними импульсами должно быть 1,083333 сек. Алгоритм: По первому импульсу запускаем таймер по второму останавливаем, заносим в память, и перезапускаем таймер до следующего импульса. Сравниваем полученный результат с заданием (Тош=Тзадан.-Тизм). Результат подаем на регулятор (частотник) естественно с учетом знака, инертности и К усиления системы (время реакции контроллера, частотника и разгона насоса) . Ну это уже ТАУ. |