|
SMConstructor (вентиляция) Вопросы о работе Конструктора (Вентиляция и кондиционирование) |
|
Опции темы | Поиск в этой теме | Опции просмотра |
05.03.2020, 01:45 | #1 |
Новичок
Регистрация: Mar 2020
Сообщения: 4
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Вопрос по макросу Filter_bypass
Я новичок в программировании и поэтому выбрал путь изучения работающего кода. Скачал конструктор HVAC, сделал код и сижу, изучаю потихоньку. Макрос, который выдаёт мне температуру датчика включает в себя макрос Filter_bypass. Функцию макроса я понимаю, это так называемый цифровой фильтр. Но непонятна функция элементов, отмеченных на скриншоте. Зачем "ловить" нулевое значение на входе? Функция D-триггера также не ясна. Поясните кто сможет!
|
05.03.2020, 06:36 | #2 |
Senior Member
Регистрация: Nov 2017
Адрес: Новосибирск
Сообщения: 196
Благодарил(а): 15 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
Предположу, что блок REG ждёт, пока не завершится работу блок spdelay.
Как можно узнать из справки комбинация блоков spdelay, add, div даёт нам усредняющий фильтр. Тем самым выходной сигнал с фильтра приходит на блок REG, который уже выполняет задержку на время фильтрации (признак окончания фильтрации это когда на out9 появляется значение). Поправьте, если наврал |
05.03.2020, 09:49 | #3 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 123
Благодарил(а): 239 раз(а)
Поблагодарили:
161 раз(а) в 153 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
|
05.03.2020, 11:52 | #4 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили:
254 раз(а) в 250 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
06.03.2020, 00:25 | #5 |
Новичок
Регистрация: Mar 2020
Сообщения: 4
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
С описанием блоков я разобрался, мне непонятно, почему именно такая реализация фильтра. Что изменится, если удалить обозначенные элементы ну и, соответственно, мультиплексор на выходе (он не влез просто)? Размещаю ещё один скриншот, чтобы прояснить картину для всех откликнувшихся. |
06.03.2020, 03:13 | #6 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
Если не смущают недостоверные данные в течении некоторого времени после старта программы, можете удалять отмеченные элементы. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. Последний раз редактировалось tvf, 06.03.2020 в 03:28 |
Благодарность от: |
06.03.2020, 11:32 | #7 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили:
254 раз(а) в 250 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
07.03.2020, 16:27 | #8 |
Новичок
Регистрация: Mar 2020
Сообщения: 4
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
Да, я упустил состояние системы начиная с момента запуска и рассматривал её исключительно в некоем установившемся состоянии, следовало бы догадаться. Если говорить не упрощенно: 1) На выходе блока 3 получаем среднее значение последних 10-ти измеренных значений датчика, а в блоке 10 получаем среднее значение последних 5 средних значений. 2) Пока на выходе блока 4 не будет 1, значение датчика получаем с датчика напрямую. Как только есть 1 на выходе этого блока - получаем на выходе среднее значение последних 10 измерений. Как только получаем 5 средних значений 10-ти средних измерений - получаем это значение на выходе блока 11, ну и на выходе макроса соответственно. 3) Блок 8 нужен чтобы получить 0 на выходе как можно быстрее, если на входе пропали показания датчика, или было однократное пропадание показаний. За время не более 10 тиков, если быть точнее. Но зачем ждать 10 тиков, если можно блок 4 подключить к младшему разряду блока 2? 4) Не до конца понимаю функцию блока 6. Но могу предположить, что идея заключалась в следующем: получать на выходе более правдивые показания, если показания датчика пропадали. Хотя берут меня сомнения, в голове смоделировал пошагово такую ситуацию и по моему это не будет работать. 5) Насколько я понимаю, параметр dt блока 7 больше отвечает за скорость изменения показаний датчика на выходе макроса, а параметр dt блока 2 больше отвечает за точность измерений. |
08.03.2020, 08:44 | #9 |
Senior Member
Регистрация: Dec 2011
Сообщения: 741
Благодарил(а): 1 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
Суть работы этого фильтра: пока не заполнился 1 буфер - просто трансляция с выхода на вход, если 1 буфер заполнен а 2 еще нет - среднее значение из 1 буфера, после заполнения 2 буфера - среднее значение из 2 буфера. Соотношения dt определяют характеристики фильтра. При соотношении 1-10 имеем среднее значение из 50 тиков. При соотношении 1-1 имеем дважды примененное усреднение (по 10 и 5 отсчетах) на 15 тиках. У фильтров будет разная передаточная характеристика, разное запаздывание, разная полоса пропускания, разный коэффициент подавления. Более подробно в рамках форума на этом останавливаться не имеет смысла. Для полного понимания нужно изучать теорию фильтров с конечной импульсной характеристикой. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
08.03.2020, 15:37 | #10 |
Новичок
Регистрация: Mar 2020
Сообщения: 4
Благодарил(а): 1 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Вопрос по макросу Filter_bypass
Наступил на те же грабли, не рассматривал состояние системы с начального момента времени, теперь функция блока 6 понятна. Теорию фильтров почитаю конечно же. |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по макросу счетчика моточасов | khrustalik | Вопросы о программировании | 17 | 20.03.2019 16:43 |
Почему техподдержка не может ответить на мой простейший вопрос? | Arsie | ЧаВо - Часто задаваемые Вопросы | 6 | 23.11.2018 11:26 |
По стандартному проекту вопрос | starmos | SMConstructor (вентиляция) | 17 | 21.04.2016 17:06 |
Технический вопрос автоматика на Pixel-2511 вентиляция | oleg_dz | Форум Segnetics | 7 | 27.11.2013 15:45 |
Вопрос о питании SMH2010 | AlekSir | Вопросы о SMH2010 | 19 | 09.04.2012 12:15 |