Друзья! после некоторого перерыва возвращаюсь к данной теме. поскольку времени у меня катастрофически не хватает, прошу не безвозмездной помощи в разработке данного алгоритма.
несмотря на ненадежность механических счетчиков, они все равно остаются самым дешевым и простым в обслуживании устройством, которое необременительно установить в рамках эксплуатации объекта.
всего нужно 2 отдельных блока (в виде макросов):
1-й макрос: простой накопительный счетчик потребленных кубометров, для которого задается начальное (или текущее, на случай перебоев в электроснабжении) значение механического счетчика, вес импульса.
нужно накапливать 2 значения:
1-е: просто непрерывный инкремент, который дублирует текущее показание механического счетчика. в случае корректировки показания с экрана - присваивать текущее значение для совпадения показаний.
2-е: за календарный месяц с последующим складированием этого в "архив" который будет представлен некоторой глубиной из нескольких (идеально 12) переменных со сдвигом и подтиранием самого "древнего". если в какой-то момент корректируется показание механического счетчика, то разницу между последним известным и новым нужно прибавлять к результату счета текущего месяца.
для месячных накоплений иметь вход полного сброса.
2 макрос: технический учет тепла, который, как обсуждалось в этой теме по простейшей формуле (расход*перепад температур) высчитывает количество тепла и результат представляет в Гкал. входные данные - вес импульса счетчика, минимальный расход счетчика по паспорту.
от макроса дополнительно нужно:
1. между счетными импульсами идет непрерывное накопительное усреднение перепада температур подачи и обратки, при этом выборка значений с входов должна стробироваться , я думаю 1 раз в 100 м/с
2. исходя из веса импульса и минимального расхода должно автоматически рассчитываться максимальное время между импульсами (я думаю достаточно точности кратной 1 секунде.
3. в случае, если между импульсами происходит превышение времени, соответствующего минимальному паспортному расходу, то усреднение температур прекращается и обнуляется до появления следующего счетного импульса (чтобы при временном отсутствии расхода не происходило очень длительного накопления усредненного значения)
4. количество потраченной энергии так же должно ежемесячно складываться в несколько переменных как и в предыдущем макросе.
5. иметь кнопку сброса всего накопленного счета.
обсуждение бюджета, если есть желающие помочь - в личку!