Прибор SKU-01-U3. По данному объекту заведено 2 точки учёта: 1. Подача - Теплоснабжение, 2. Обратка - ХВС, т.к. в первой точке не отображаются реальные V2 и M2. Отчётная форма по объекту подставляет V2 и M2 с точки ХВС и математическими функциями считается дельта. Как видно в отчёте, M2 не пересчитывается относительно температуры Т2 и практически равна V2, поэтому возникает не соответствие при положительной дельта V - отрицательная дельта М и 1.43 т - 19.60 м3.
Есть ли возможность реализовать пересчёт М2 относительно Т2? Или ввести функцию из большого кол-ва ЕСЛИ, чтобы в отчёте автоматически пересчитывало М2.
То есть если я правильно понял, расходомер, который должен стоять на третьей магистрали устройства установлен на второй? И фактически измеряет не расход третьей магистрали, а расход второй, и вы хотите пересчитать этот объём в массу с учётом температуры второго канала? Так?
Не совсем, третий на третем месте это ХВС (Обратка), первые два это Теплоснабжение (Подача). В теплоснабжении не отображается расход по третьему каналу, подставляется V1 в V2 и дельта масс получается просто разность из-за разницы температур, а в ХВС (обратка) М1 не пересчитывается относительно T2. Это таблицы по точкам, а в отчёте выше, две точки сведенны в один отчёт. (Интервалы времени не одинаковые, спешил не подобрал соответствие)
Дело в том, что исходя из этой схемы расход V2 по третьему каналу абсолютно не зависит от температуры Т2, поэтому при расчёте недостающих значений массы ЛЭРС УЧЁТ не принимает её во внимание.
Если вам необходимо это сделать, то вы можете самостоятельно реализовать пересчёт объёма в массу, используя возможности скриптов в отчётных формах.
К сожалению навыками программирования на C# не обладаем. С помощью имеющихся функций реально сделать массив из БОЛЬШОГО кол-ва “ЕСЛИ”? К примеру ЕСЛИ[100>Т1>95, то M1=0.988*V1; и т.д…], выбрать интервалы в 5 градусов.
В редакторе отчетов создайте вычисляемое поле и задайте для него выражение:
[Теплоснабжение 1 (Потребление).M2 - массовый расход в отводящей] /
Iif(IsNull([Теплоснабжение 1 (Потребление).T2 - температура в отводящей]), 1 ,(999.8492 +
Power([Теплоснабжение 1 (Потребление).T2 - температура в отводящей], 1) * 3.5622205e-2 +
Power([Теплоснабжение 1 (Потребление).T2 - температура в отводящей], 2) * (-6.6780682e-3) +
Power([Теплоснабжение 1 (Потребление).T2 - температура в отводящей], 3) * 2.8350666e-5 +
Power([Теплоснабжение 1 (Потребление).T2 - температура в отводящей], 4) * (-6.6682543e-8)) / 1000 )
В этом выражениии в квадратных скобках наименования полей из списка полей.
В приведенном примере:
[Теплоснабжение 1 (Потребление).M2 - массовый расход в отводящей] - массовый расход в отводящей магистрали для первой точки учета в системе теплоснабжения.
[Теплоснабжение 1 (Потребление).T2 - температура в отводящей] - температура в отводящей магистрали для первой точки учета в системе теплоснабжения.
В приведенной формуле предполагается, что массовый расход измеряется в тоннах.
Если температуры нет, то объемный расход будет численно равен массовому расходу.
M2 делится на плотность вычисленную по температуре. В скобках (999.8492 + … + * (-6.6682543e-8)) расчет плотности в кг/м3 по температуре.
Формула получена путем аппроксимации зависимости плотности воды от температуры в диапазоне 0 – 150 оС (от давления плотность практически не зависит). Погрешность не более 0,1 кг/м3.