基于主站时间实现智能电表数据采集模块获取实时时间的方法技术

技术编号:7682023 阅读:468 留言:0更新日期:2012-08-16 05:23
本发明专利技术涉及一种基于主站时间实现智能电表数据采集模块获取实时时间的方法,在该方法中,智能电表在前一次对时过程中,数据采集模块将主站时间和电表时间的时间差存入所述的存储芯片,而在后一次对时中,数据采集模块将主站时间和存储芯片中的时间差相加作为实时时间,从而可以在无需时钟芯片和时钟芯片电源的智能电表中实现数据采集模块的实时时间,解决了现有技术中电池断电无法获得实时时间的问题,也避免了电池供电造成的能源浪费,降低了智能电表的整体功耗。且本发明专利技术的基于主站时间实现智能电表数据采集模块获取实时时间的方法的应用方式简便,实现成本低廉,应用范围也较为广泛。

【技术实现步骤摘要】

本专利技术涉及智能电表 实现智能电表数据采集模块获取实时时间的方法。
技术介绍
智能电表均包括数据采集模块,用以采集用电数据并发送给主站。由于需要准确地确定时间,以保证数据采集的时间段正确,因此在数据采集模块上要实现实时时钟功能。现有技术的智能电表都包括有一个独立的时钟芯片以及向该时钟芯片供电的电池。保证时钟芯片不断电的情况下,能够向数据采集模块提供正确的实时时间。但是该种智能电表,在电池断电的情况下,数据采集模块就无法获得实时时间,而且用电池向时钟芯片供电也会造成能源的浪费。
技术实现思路
本专利技术的目的是克服了上述现有技术中的缺点,提供一种能够在没有时钟芯片和供电电池的情况下,实现实时时钟功能,从而解决现有技术中电池断电无法获得实时时间,且电池供电造成能源浪费的问题,且应用方式简便,实现成本低廉,应用范围广泛的。主站通过网络连接所述智能电表的数据采集模块,所述的智能电表还包括存储芯片,所述的存储芯片连接所述的数据采集模块。为了实现上述的目的,本专利技术的包括以下步骤(I)所述的数据采集模块启动,并获取智能电表的电表时间;(2)所述的数据采集模块从所述的存储芯片读取前一次对时操作时主站时间和电表时间的时间差;(3)所述的数据采集模块将所述的电表时间与所述的时间差的和设定为数据采集模块的实时时间,并将所述的实时时间存储到存储芯片;(4)所述的主站通过所述的网络对智能电表的数据采集模块进行对时操作;(5)所述的数据采集模块将所述的实时时间作为主站对时时间;(6)所述的数据采集模块将主站时间和电表时间的时间差存入所述的存储芯片。该中,在所述的存储芯片未储存前一次对时操作时主站时间和电表时间的时间差的情况下,所述的数据采集模块从所述的存储芯片读取前一次对时操作时主站时间和电表时间的时间差为O。该中,所述的数据采集模块将所述的电表时间与所述的时间差的和设定为数据采集模块的实时时间,具体为所述的数据采集模块将所述的电表时间设定为数据采集模块的实时时间。该中,在所述的存储芯片储存有前一次对时操作时主站时间和电表时间的时间差的情况下,所述的电表时间与所述的时间差的和为主站时间。该中,所述的存储芯片为闪存,所述的闪存包括实时时间寄存器单元和时间差寄存器单元。采用了该专利技术的,智能电表在前一次对时过程中,数据采集模块将主站时间和电表时间的时间差存入所述的存储芯片,而在后一次对时中,数据采集模块将主站时间和存储芯片中的时间差相加作为实时时间,从而可以在无需时钟芯片和时钟芯片电源的智能电表中实现数据采集模块的实时时间,解决了现有技术中电池断电无法获得实时时间的问题,也避免了电池供电造成的能源浪费,降低了智能电表的整体功耗。且本专利技术 的的应用方式简便,实现成本低廉,应用范围也较为广泛。附图说明图I为本专利技术的方法中主站、智能电表和数据采集模块的连接关系图。图2为本专利技术的步骤流程图。图3为本专利技术的方法在实际应用中重启数据采集模块时设置实时时间的流程示意图。图4为本专利技术的方法在实际应用中主站对时时求时间差并设置实时时间的流程示意图。图5为本专利技术的方法在实际应用中所采用的主机对时操作界面示意图。具体实施例方式为了能够更清楚地理解本专利技术的
技术实现思路
,特举以下实施例详细说明。如图I所示,为主站、智能电表和数据采集模块的连接关系图。其中,主站通过网络连接所述智能电表的数据采集模块,所述的智能电表还包括存储芯片(图中未示出),所述的存储芯片为连接所述的数据采集模块的闪存,该闪存包括实时时间寄存器单元和时间差寄存器单元。请参阅图2所示,为本专利技术的步骤流程图,该方法包括以下步骤(I)所述的数据采集模块启动,并获取智能电表的电表时间;(2)所述的数据采集模块从所述的存储芯片读取前一次对时操作时主站时间和电表时间的时间差;(3)所述的数据采集模块将所述的电表时间与所述的时间差的和设定为数据采集模块的实时时间,并将所述的实时时间存储到存储芯片;(4)所述的主站通过所述的网络对智能电表的数据采集模块进行对时操作;(5)所述的数据采集模块将所述的实时时间作为主站对时时间;(6)所述的数据采集模块将主站时间和电表时间的时间差存入所述的存储芯片。在一种优选的实施方式中,当所述的存储芯片未储存前一次对时操作时主站时间和电表时间的时间差的情况下,所述的步骤(2)中数据采集模块从所述的存储芯片读取前一次对时操作时主站时间和电表时间的时间差为O。相应的,步骤(3)中所述的数据采集模块将所述的电表时间与所述的时间差的和设定为数据采集模块的实时时间,具体为所述的数据采集模块将所述的电表时间设定为数据采集模块的实时时间。在另一种优选的实施方式中,当所述的存储芯片储存有前一次对时操作时主站时间和电表时间的时间差的情况下,所述的电表时间与所述的时间差的和则为主站时间。在实际应用中,本专利技术的的主要实现方式是将主站时间当作标准时间,电表的时间作为参考时间,来实现数据采集模块的实时时间。如图3和4所示,具体采取以下步骤I、数据采集模块上电时,获取智能电表的时间。2、获取主站时间和智能电表时间的时间差,如果是主站从未对数据采集模块进行过对时操作,则将该时间差记为O。3、智能电表的时间加上主站和智能电表的时间差,如果主站对数据采集模块有过对时的操作,则两者之和应为主站时间;如果主站未对数据采集模块做过对时操作,则它们两者之和为电表时间,将该时间设为数据采集模块的实时时间。4、当主站对数据采集模块作对时操作时,获取主站时间和智能电表的时间,求出两者的时间差,把该时间差到flash芯片中。5、数据采集模块下次上电时,再从步骤I开始运行。在实际应用中,本专利技术的所采用的主机对时操作界面如图5所示。具体而言,主站对时时,数据采集模块 (onu)计算主站和电表的时间差,及设置数据采集模块的实时时间(rtc)的程序如下H〇ST_C〇MM—STATUS DLT698ControlF3l_r(FKACKINFO ^packinfo, SWORD pn, SBYTE^punitbuffer, BINT ^punitlength, SBYTE state) { if (punitbuffer == NULL I I punitlength == NULL) {dare_printf("func:%s, line :%d, param error\n",_func_,__LINE_); return H〇ST_C〇MM—ERR—FAILED; } struct rtc time rtm; rtm.tm sec = punitbuffer / 16 * 10 + punitbuffer % 16; rtm.tm min = punitbuffer / 16 * 10 + punitbuffer % I 6; rtm.tm hour = punitbuffer / 16 ^ 10 + punitbuffer % 16; rtm.tm mday = punitbuffer / 16 ^ 10 + punitbuffer % 16; rtm. tm mon = ( (punitbuf fer >> 4) & OxO I) *10+ (punitbuf fer & O本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:徐正伟刘军华
申请(专利权)人:上海大亚科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利