Среднее значение за период

Исправленная версия

Пользовательские блоки дополняющие возможности стандартных блоков из разделов Математика и Алгебра, а так-же различные цифровые фильтры
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Zayac1
Рядовой
Сообщения: 3
Зарегистрирован: 31.01.2020{, 19:47}
Репутация: 4
Имя: Андрей

Среднее значение за период

#1

Сообщение Zayac1 » 02.02.2020{, 08:43}

Блок написан на С (значит работает во всех версиях программы).
Блок производит считывание данных с датчика вход (DataIN) за заданный пользователем период (period). Данные полученные при каждом считывании суммирует заданное пользователем количество раз и выдаёт среднее значение на выход (MeanOUT) При каждом выводе среднего значения на выход Enable выдаётся логическая единица для управления записью выдаваемых данных в переменную. Так же на выход Summa выдаётся значение суммы показаний за назначенный период. На входы Iteracion и period выставляются соответственно константы количества раз замеров и период за который нужно проводить замеры. Период выставляется в миллисекундах. Пример: Вам нужно за 1 секунду провести 200 замеров, значит нужно в константе Iteracion выставить значение 200, а в константе period выставить значение 1000 мсек
Блок выдаёт данные и в Serial port.

Данный блок нужен для наблюдения за процессом, можно конечно использовать и как обычный вычислитель, но в ситуации когда нужно определить направление изменения данных он подойдёт лучше всего. Например вам нужно знать остывает предмет или нагревается, растёт ток или падает, а данные с датчика приходят "прыгающие" вверх и вниз. Я этот блок использую в зарядном устройстве автоаккумулятора для определения окончания заряда. Зарядный ток растянут по времени и имеет скачки которые не позволяют понять растёт ток, падает или стабилен на протяжении какого то времени.
Например при мгновенном измерении значения на каком то участке данного потока (см. рисунок) невозможно понять общее направление, тенденцию.

К сожалению обнаружился небольшой косяк, поэтому все кто скачал первую версию блока прошу скачать заново исправленную версию. Эта работает как и заявлено. Приношу свои извинения.

Добавил ещё один вариант блока который тоже написан на С (значит работает во всех версиях программы) который не выдаёт информацию в Serial port, но при этом занимает заметно меньше места в памяти, в некоторых случаях это критично и приходится выбирать либо работа программы либо какие то "примочки"

Для тех кому нужно выкладываю блок написанный в программе flprog версии 5.3.0. Протестировал в версии 6.3.0 в этой версии вариант собранный из блоков не работает, для этого его придётся пересобрать в той версии в которой вы работаете. Параметры выставляются в "Параметры пользователя"
Вложения
СредАрифмит_с_разрешением_на_запись_V1_no_print_(CODE).ubi
Без отправки в Serial port
(43.91 КБ) 289 скачиваний
СредАрифмит_с_разрешением_на_запись_V1_(CODE).ubi
Исправленная версия
(43.88 КБ) 263 скачивания
Средняя_за_период_V1_(FBD).ubi
Версия из блоков
(807.89 КБ) 304 скачивания
бббббббббб.jpg

vitalik9
Рядовой
Сообщения: 40
Зарегистрирован: 22.08.2021{, 12:08}
Репутация: 0
Имя: Виталий

Среднее значение за период

#2

Сообщение vitalik9 » 25.12.2022{, 00:09}

помогите с данным блоком
после первых 10 замеров среднее значение 22
хотя должно быть 24,1
последующие значения правильные
как это лечится
Вложения
uno.flp
(261.79 КБ) 25 скачиваний

Ответить

Вернуться в «Блоки для рассчетов и цифровые фильтры»