通断时间面积法

背景:  

  

来 源:

     通断时间面积法是入选《供热计量技术规程》JGJ173-2009的一种热量分摊计量方法实现分户计量的一种计量方法。由清华大学建筑节能研究中心江亿院士提出。

简 称 ( 俗称 ):(1)“时温法”(2)“SWF” 系统 (3) 温度时间面积法

组 成: 主要由楼宇总表、室温控制器、流量控制器、集中器、水力平衡阀、远程抄表管理系统等组成

关键字: 温度,时间,流量

优 点:

(1)解决水质差的问题;

(2)解决室内温控阀质量不过关问题;

(3)解决室内无法安装温控阀问题;

(4)解决热量表电池问题;

(5)解决户用热量表计量精度不高的问题。

如下图:

通断时间面积法_第1张图片 通断时间面积法_第2张图片

通断时间面积法_第3张图片 通断时间面积法_第4张图片

相关的行业知识:

通断时间面积法的应用分析:http://blog.sina.com.cn/s/blog_6bb5e0200100qw68.html

张家口室温修正法: http://zjkgy.hebjs.gov.cn/sylm/ggtz/201207/t20120723_140684.htm

 

热量分摊计算方法

分摊计算周期内某热用户的分摊热量计算公式应为:

通断时间面积法公式

开阀时间差 = 结束开阀时间  -  开始开阀时间

单户开启比 = 开阀时间差  *  面积

单户耗热量 = 单户开启比 *  单 户面积 * 总热量  /  总开启比

公式单位:

热用户的采暖面积,单位为:平方米(m2)

分摊周期内总热量表读取的总热耗量,单位为Kwh

用户入口通断阀的累计开启时间(h)

热量分摊合理检查

1:各用户分摊的热量总值与楼栋热表的计量值达到统一 。

2:要做到了面积相同,开阀时间相同时,所缴纳的热费相同 。

3:面积相同,开阀时间不同,所缴纳的热费不相同 。

4:面积相同,开阀时间大的,所缴纳的热费要大反之要小 。

5:开阀时间相同,面积不相同的,所缴纳的热费不相同 。

6:总热量大分摊的热量就大反之要小 。

7:每户开阀时间大分摊的热量就大反之要小 。

 

热计量计费公式

热计量计费方法:

基本热费 = 基本热价 * 建筑面积

计量热费 = 计量热价 * 用热量

应交费用 = 基本热费 + 计量热费

面积热计费方法:

    面积*单价=应交费用

节省费用比例=(面积收费-计量收费)*0.1

 

延伸的公式

面积热费 - 基础热费 - 退费 = 计量热费

计量热费 /  计量单价 = 分摊热量

计量热费 +  基础热费 = 应交热费

应交热费 / 户数 = 平均每户应交热费

 

 系统设计:


注意:  

每个楼必须要一个 楼栋热量表 ,每户必须要有控制器,温控器 。其他根据通断时间面积法要求来进行楼宇设计即可。

设计原则:http://www.cnblogs.com/zhoujg/archive/2010/09/07/1817140.html

通断时间面积法_第5张图片

根据基于接口编程,而不实现编程的原则,接口设计如下:

public interface IBreakTimeArea
    {
        /// <summary>
        /// 根据组求住户费用
        /// </summary>
        /// <param name="clteName">计算名称</param>
        /// <param name="groupID">组ID</param>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <returns>成功为空,失败为失败信息</returns>
        string calculate(string clteName, int groupId, DateTime beginDate, DateTime endDate);
        /// <summary>
        /// 获取每组住户的分摊能量值
        /// </summary>
        /// <param name="groupID">组ID</param>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <returns>每户分摊热量</returns>
        List<BTA_RealTime_GRKZQ> GetShareHeatByGroup(int groupID, DateTime startTime, DateTime endTime);
        /// <summary>
        /// 根据组求热量表热量
        /// </summary>
        /// <param name="groupID">组ID</param>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="_calorieTotal">组总热量(术语:楼栋热量)</param>
        /// <returns>楼栋热表集合</returns>
        List<Has_BTA> GetHeat_RLB_ByGroup(int groupID, DateTime startTime, DateTime endTime, out double _calorieTotal);

        /// <summary>
        /// 根据组求计量控制器开阀时间
        /// </summary>
        /// <param name="groupID">组ID</param>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="areaOvTimeTotal">组总开启比</param>
        /// <returns>每户开启比</returns>
        List<Has_BTA> GetHeat_GRKZQ_ByGroup(int groupID, DateTime startTime, DateTime endTime, out double areaOvTimeTotal);
    }

为了扩展其他算法 (  如:时间通断法 )  就需要一个帮助类了,如下

public class FactoryHelper
    {
        public enum fctoyType
        {
            /// <summary>
            /// 通断时间面积法 - 系数是  每天修正值
            /// </summary>
            Default,
            /// <summary>
            /// 时间通断法
            /// </summary>
            OffTime,
            /// <summary>
            /// 通断时间面积法 - 系数是 供回水温度修正法  http://www.cnblogs.com/luomingui/archive/2013/01/05/2845140.html
            /// </summary>
            Norm,
            /// <summary>
            /// 面积分摊法
            /// </summary>
            AreaShare,
            /// <summary>
            /// 通断时间面积法 - 系数是 张家口室温修正法 http://zjkgy.hebjs.gov.cn/sylm/ggtz/201207/t20120723_140684.htm
            /// </summary>
            ZhangJiaKou,
       }

        public static IBreakTimeArea Factory(fctoyType flg)
        {
            IBreakTimeArea calculation = null;
            switch (flg)
            {
                case fctoyType.ZhangJiaKou:
                    calculation = new ChargeOffTimeAreaZhangJiaKou();
                    break;
                case fctoyType.OffTime:
                    calculation = new ChargeOffTime();
                    break;
                case fctoyType.Norm:
                    calculation = new ChargeOffTimeAreaNorm();
                    break;
                default:
                    calculation = new ChargeOffTimeArea();
                    break;
            }
            return calculation;
        }

        #region 单利模式
        private static FactoryHelper instance = null;
        private FactoryHelper()
        {
            //do something  
        }
        public static FactoryHelper Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new FactoryHelper();
                }
                return instance;
            }
        }
        #endregion
    }

通过配置文件调用: ConfigHelper 获取配置节点帮助类

string _chargeType = ConfigHelper.GetConfigString("ChargeType", "Default");
            FactoryHelper.fctoyType chargeType = (FactoryHelper.fctoyType)
                    Enum.Parse(typeof(FactoryHelper.fctoyType), _chargeType, true);

            IBreakTimeArea ibta = FactoryHelper.Factory(chargeType);

UML

通断时间面积法_第6张图片

通断时间面积法_第7张图片

通断时间面积法 例子:

 

通断时间面积法_第8张图片通断时间面积法_第9张图片 

开阀时间超过140000算出来的费用都要大于面积热费?

1 : 总开启比=(172800* 148)+(152723 * 148)+(146948 * 204)=78154796

通过通断时间面积法进行计费

501住户应交费用 = ( 172800 * 148 * 51326.46/   78154796 * 0.1455)+(148 * 6.9)=3464.94

502住应交费用 = ( 152723  * 148 *   51326.46   /   78154796 * 0.1455)+(148 * 6.9)= 3181.01

503住应交费用= (146948  * 204 *   51326.46 /   78154796 * 0.1455)+(204* 6.9)=4272.06

通断时间面积法_第10张图片

通断时间面积法 公司:

 

工大科雅--引领通断时间面积法热计量技术行业的发展
艾科通断时间面积法
通断时间面积法—首选北京京源水仪器仪表有限公司
大连世达特供通断时间面积法热计量系统 400-000-1414
宁夏赛文节能股份有限公司
北京德美信息科技有限公司

爱迪生通断时间面积法

北京硕人时代节能技术有限公司

西安北斗星数码信息股份有限公司

杭州富阳仪表总厂

北京海林节能设备股份有限公司

辽宁环佳高科节能技术工程有限公司

北京华仪乐业节能服务有限公司

北京康易格瑞能源技术有限公司

北京乐福能节能技术有限公司

大连世达科技有限公司

北京盛世安和节能技术(北京)有限公司

北京盛世博扬能源咨询服务有限公司

北京远东仪表有限公司

北京中润环能技术有限公司

北京中通诚益科技发展有限责任公司

天津卓和信仪器仪表有限公司

你可能感兴趣的:(通断时间面积法)