CN100543680C - 一种对电能表芯片程序进行下载更新的方法 - Google Patents

一种对电能表芯片程序进行下载更新的方法 Download PDF

Info

Publication number
CN100543680C
CN100543680C CNB2007100729524A CN200710072952A CN100543680C CN 100543680 C CN100543680 C CN 100543680C CN B2007100729524 A CNB2007100729524 A CN B2007100729524A CN 200710072952 A CN200710072952 A CN 200710072952A CN 100543680 C CN100543680 C CN 100543680C
Authority
CN
China
Prior art keywords
electric energy
energy meter
applications
upper layer
layer software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2007100729524A
Other languages
English (en)
Other versions
CN101221506A (zh
Inventor
刘伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Clou Electronics Co Ltd
Original Assignee
Shenzhen Clou Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Clou Electronics Co Ltd filed Critical Shenzhen Clou Electronics Co Ltd
Priority to CNB2007100729524A priority Critical patent/CN100543680C/zh
Publication of CN101221506A publication Critical patent/CN101221506A/zh
Application granted granted Critical
Publication of CN100543680C publication Critical patent/CN100543680C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明涉及一种对电能表芯片程序进行下载更新的方法,在上层软件执行如下步骤:a.上层软件下行广播指令帧1...N;b.上层软件下行问答指令帧N+1,下行上层软件输出CRC16校验结果;c.上层软件下行问答指令帧N+2,读取电能表返回的标志位数据;在电能表执行如下步骤:d.电能表接收到广播指令帧数据后,切换到更新程序状态并进行相应的更新处理;e.接收到上层软件下行的指令帧N+1后,将上层软件的下行CRC16校验结果与电能表内部的CRC16校验结果进行比较处理;f.接收到上层软件下行的指令帧N+2后,电能表向上层软件返回带标志位数据的应答帧。实施本发明,使得电能表批量化生产过程中电能表芯片程序下载更新,速度更快、可靠性更高。

Description

一种对电能表芯片程序进行下载更新的方法
技术领域
本发明涉及电能表和通讯技术领域,更具体地说,涉及一种对电能表芯片程序进行下载更新的方法。
背景技术
在电能表生产过程中,一般存在储备大量的库存品以备急时,库存品中有各种型号产品,产品中芯片程序也各有不同。当需要出货时,一般是从库存品中调出相适应型号的产品,但库存品中产品功能可能不能全面符合市场需求,这时需要对库存品中的芯片程序进行下载更新,以至满足市场需求。在批量化生产过程中,特别是在交货时间紧,出货量大时更显得尤为方便重要。
如图1所示,在现有技术中,一般采用问答式的软件下载更新方案,下载更新的步骤如下:
S1、上层软件向电能表发送指令帧。上层软件下行广播指令帧1...N,N由芯片程序大小决定,每128字节为一帧。
S2、电能表接收并处理所述指令帧。电能表处理上层软件模块发送来的指令帧1...N,并且对于上层软件发送来的每一指令帧都会返回应答帧。
S3、上层软件对电能表返回的应答帧进行处理。也就是说,上层软件模块对于电能表返回的应答帧1...N都会一一处理。
S4、上层软件在对返回的应答帧的处理过程中,对应答帧进行校验,如果处理没有出错,则表示电能表合格,程序下载更新成功;否则表示电能表不合格,程序下载更新不成功。
S5、继续下一块电能表芯片程序的下载更新,并循环执行步骤S1。
由此可知,现有技术只能对电能表芯片一次一块地进行更新,速度比较慢,浪费时间较多;而且该方案对电能表芯片的下载更新只进行了一次的校验,该校验很难保证100%下载更新数据包的完整性和安全性,这样也会造成数据下载更新不成功。
发明内容
针对现有技术的上述缺陷,本发明要解决现有技术中对电能表芯片程序进行下载更新的方法中所存在的速度慢,安全性低等问题,提供了一种对电能表芯片程序进行下载更新的方法,以对电能表进行高速,高效、准确的下载更新。
本发明解决其技术问题所采用的技术方案是:提供一种对电能表芯片程序进行下载更新的方法,在上层软件与电能表之间进行数据传输,
在上层软件执行如下步骤:
a、上层软件下行广播指令帧1...N,其中N由电能表的芯片程序大小决定;
b、上层软件下行问答指令帧N+1,下行上层软件输出循环冗余校验的校验结果,所述CRC16校验结果由所述广播指令帧1...N中的校验和进行循环冗余校验运算所得到;
c、上层软件下行问答指令帧N+2,读取电能表返回的标志位数据;
在电能表执行如下步骤:
d、电能表接收到所述广播指令帧数据后,切换到更新程序状态并进行相应的更新处理;
e、接收到上层软件下行的指令帧N+1后,将上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果进行比较处理;
f、接收到上层软件下行的指令帧N+2后,电能表向上层软件发送带标志位数据的应答帧。
在本发明所述的方法中,所述步骤c具体包括:
若所述标志位数据为1,则表示该电能表芯片程序更新不成功;
若所述标志位数据为0,则表示该电能表芯片程序更新成功。
在本发明所述的方法中,所述步骤d中,所述相应的更新处理具体包括:
d1、置标志位为0;
d2、当收到完整的广播指令帧1...N后,进行校验和运算,并核对所述指令帧是否安全完整;
d3、进行电能表程序的更新;若校验或更新过程出现任何非法情况,则置标志位为1,但整个广播过程中不上行任何指令帧。
在本发明所述的方法中,所述步骤e中,所述比较处理具体包括:
若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果相同,则表示所收到的指令帧连续的,且每一帧都是完整的;
若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果不同,则表示所收到的数据包为非法,将其标志位置为1。
在本发明所述的方法中,所述上层软件与所述电能表之间的数据传输采用DL/T645-1997通讯规约。
在本发明所述的方法中,广播指令帧每一帧数据为128字节,在广播指令帧下行过程中,电能表禁止上行指令帧,并且在芯片程序更新过程中电能表禁止主动上行指令帧。
在本发明所述的方法中,所述循环冗余校验采用循环冗余校验16位的校验方法对所有广播指令帧的校验和结果进行校验。
在本发明所述的方法中,当电能表接收到广播指令帧数据后,进行更新芯片程序;若该更新过程中若出现错误,则将标志位置为1,表示电能表更新程序为不合格。
在本发明所述的方法中,所述上层软件通过RS232或RS485串口与所述电能表连接。
在本发明所述的方法中,所述上层软件与功率源、标准表、误差板之间的数据传输采用内部标准通信协议。
本发明解决了现有技术中的下载更新系统中的二个主要问题:其一下载更新的效率问题,其二下载更新时数据传输的完整与安全问题。从而使得电能表的生产过程效率大大提高,程序下载可靠性更高、安全性更强,数据更完整,能达到更实用的效果。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是现有技术的电能表芯片程序的下载更新的流程图;
图2是本发明的电能表芯片程序的下载更新的流程图;
图3是本发明的多个电能表芯片程序的下载更新的结构示意图;
图4是图3的多个电能表芯片程序的下载更新的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图2所示,一种对电能表芯片程序进行下载更新的方法,其中,
对于任一个需要更新芯片程序的电能表,上层软件按以下步骤向电能表发送指令帧数据:
a、上层软件下行广播指令帧1...N,N由芯片程序大小决定,每128字节为一帧,每帧按DL/T645-1997《多功能电能表通信规约》帧格式下行。
b、上层软件下行问答指令帧N+1,下行上层软件输出循环冗余校验(CyclicRedundancy Check/Code,简称CRC)的校验结果,本发明优选实施例中循环冗余校验采用的是循环冗余校验16位的校验方法,即CRC16,该CRC16校验结果由广播指令帧1...N中的校验和进行CRC16校验运算所得出。
c、上层软件下行问答指令帧N+2,读取电能表标志位数据,如果标识位为1,表示电能表不合格,程序下载更新不成功;否则表示电能表合格,程序下载更新成功。
对于电能表,则按以下步骤接收并处理由上层软件发来的指令帧:
d、电能表切换到更新程序状态,并置标志位为0;当收到完整的广播指令帧1...N后,进行校验和运算,并核对所述指令帧是否安全完整;然后再进行电能表程序的更新。如果校验或更新过程出现任何非法情况,则置标志位为1,但整个广播过程中不上行任何指令帧。
e、接收到上层软件下行的指令帧N+1后,将上层软件的下行CRC16校验结果与电能表内部的CRC16校验结果进行比较,如果两者相同,则表示所收到的指令帧连续的,且每一帧都是完整的。否则表示所收到的数据包为非法,将其标志位置为1。
f、接收到上层软件下行的指令帧N+2后,电能表作出应答,向上层软件返回带标志位数据的应答帧。
本发明所述电能表芯片程序下载的方法采用广播指令下载数据,利用校验、再校验以及CRC16校验对数据的完整安全提供了保障。
图3示出了多个电能表芯片程序的下载更新的结构示意图,下载更新软件通过PC机串口与机柜中的通讯控制器(如CL2011通讯控制器)相连,通过通讯控制器控制功率源(如CL303功率源)、标准表(如CL311V2标准表)、被校电能通信(即图3中的精密时基源,如CL191精密时基源),通讯控制器与功率源、标准表共同遵循内部标准通信协议(如CLT1.0通信协议),并与被校表通信协议遵循多功能电能表通信规约DL/T645-1997。
本发明优选实施例中的挂表架上设置了两排电能表,共12块,也就是说12块电能表芯片程序可以同时进行下载更新,通信控制器分别通过误差计算器(如CL188E误差计算器)与挂表架中的每个电能表进行通信。
如图4所示,根据上述电能表芯片程序下载更新的步骤,具体如下:
步骤1:PC机通过串口与功率源、标准表、通讯控制器以及挂表架进行连接,即PC机中的下载更新软件通过PC机串口对功率源、标准表、误差计算器(如CL188E误差计算器)发出连机指令。
步骤2:连机指令成功后,根据被校的电压电流等基本信息,对功率源发出升源指令,并输出与被校表相适应的功率。
等功率源稳定后,对所有被校表广播指令进入下载更新状态,此时所有被校表会呜响(可以设置为鸣响三声),液晶显示进入更新初始状态,所有被校表标志位置为0。
步骤3:下载更新程序对需要电能表芯片程序长度进行分块处理,本发明的实施例将需要下载的程序分隔为N帧,即N=Len/128帧,每帧为128字节,最后一帧不足补“0“,通过广播指令每帧间隔500ms下行,广播下行1-N帧。
步骤4:所有电表接收到广播数据后,则开始对数据进行处理。处理结果中若有任何错误,则标志位为1;若没有任何错误,则表示正常,标志位不变。但在程序广播过程中不返回任何上行帧。
步骤5:广播下行N+1帧,该帧为CRC16校验帧结果的数据帧。
步骤6:所有电表接收到广播CRC校验的结果数据后,与自身校验结果进行比对,若不相等,则标志位为1;若相等,则标志位不变。但在程序广播过程中不返回任何上行帧。
步骤7:广播下行N+2帧,并读取每块被校表标的标志位数据。
步骤8:被校表接收到指令后返回带有标志位数据的数据帧。
步骤9:下载更新程序根据每块被校表的标志位数据判断,标志位为0则表示该表合格,否则表示该表为不合格。
由此可知,采用本发明的方法可使电能表批量化生产过程中电能表芯片程序下载更新,速度更快、可靠性更高、安全性更强,数据更完整,本发明下载更新一块表时间与12块表时间一样,比现有技术方案的效率提高12倍,从而达到更实用的效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1、一种对电能表芯片程序进行下载更新的方法,在上层软件与电能表之间进行数据传输,其特征在于,
在上层软件执行如下步骤:
a、上层软件下行广播指令帧1...N,其中N由电能表的芯片程序大小决定;
b、上层软件下行问答指令帧N+1,下行上层软件输出循环冗余校验的校验结果,所述循环冗余校验的校验结果由所述广播指令帧1...N中的校验和进行循环冗余校验运算所得到;
c、上层软件下行问答指令帧N+2,读取电能表返回的标志位数据;
在电能表执行如下步骤:
d、电能表接收到所述广播指令帧数据后,切换到更新程序状态并进行相应的更新处理;
e、接收到上层软件下行的指令帧N+1后,将上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果进行比较处理;
f、接收到上层软件下行的指令帧N+2后,电能表向上层软件发送带标志位数据的应答帧。
2、根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征在于,所述步骤c具体包括:
若所述标志位数据为1,则表示该电能表芯片程序更新不成功;
若所述标志位数据为0,则表示该电能表芯片程序更新成功。
3、根据权利要求1或2所述的对电能表芯片程序进行下载更新的方法,其特征在于,所述步骤d中,所述相应的更新处理具体包括:
d1、置标志位为0;
d2、当收到完整的广播指令帧1...N后,进行校验和运算,并核对所述指令帧是否安全完整;
d3、进行电能表程序的更新;若校验或更新过程出现任何非法情况,则置标志位为1,但整个广播过程中不上行任何指令帧。
4、根据权利要求1或2所述的对电能表芯片程序进行下载更新的方法,其特征在于,所述步骤e中,所述比较处理具体包括:
若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果相同,则表示所收到的指令帧连续的,且每一帧都是完整的;
若上层软件的下行循环冗余校验的校验结果与电能表内部的循环冗余校验的校验结果不同,则表示所收到的数据包为非法,将其标志位置为1。
5、根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征在于,所述上层软件与所述电能表之间的数据传输采用DL/T645-1997通讯规约。
6、根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征在于,广播指令帧每一帧数据为128字节,在广播指令帧下行过程中,电能表禁止上行指令帧,并且在芯片程序更新过程中电能表禁止主动上行指令帧。
7、根据权利要求1所述的方法,其特征在于,所述循环冗余校验采用循环冗余校验16位的校验方法对所有广播指令帧的校验和结果进行校验。
8、根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征在于,当电能表接收到广播指令帧数据后,进行更新芯片程序;若该更新过程中若出现错误,则将标志位置为1,表示电能表更新程序为不合格。
9、根据权利要求1所述的对电能表芯片程序进行下载更新的方法,其特征在于,所述上层软件通过RS232或RS485串口与所述电能表连接。
CNB2007100729524A 2007-01-12 2007-01-12 一种对电能表芯片程序进行下载更新的方法 Expired - Fee Related CN100543680C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100729524A CN100543680C (zh) 2007-01-12 2007-01-12 一种对电能表芯片程序进行下载更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100729524A CN100543680C (zh) 2007-01-12 2007-01-12 一种对电能表芯片程序进行下载更新的方法

Publications (2)

Publication Number Publication Date
CN101221506A CN101221506A (zh) 2008-07-16
CN100543680C true CN100543680C (zh) 2009-09-23

Family

ID=39631366

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100729524A Expired - Fee Related CN100543680C (zh) 2007-01-12 2007-01-12 一种对电能表芯片程序进行下载更新的方法

Country Status (1)

Country Link
CN (1) CN100543680C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890757B (zh) * 2012-09-11 2015-08-05 中国电力科学研究院 一种电能表软件的比对方法及其比对系统
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
CN103473088B (zh) * 2013-08-30 2018-01-02 北京远特科技股份有限公司 一种单片机在线升级方法和系统
CN103677943B (zh) * 2013-12-27 2017-08-15 浙江众邦机电科技有限公司 一种缝纫机控制器软件升级方法
CN104503897B (zh) * 2014-10-21 2017-07-21 惠州市龙鼎盛电力科技有限公司 一种可实现多种交互模式的电能表软件设计方法
CN105511912B (zh) * 2015-11-28 2017-09-12 惠州市蓝微新源技术有限公司 一种基于can总线的程序下载方法
CN108768709A (zh) * 2018-05-18 2018-11-06 深圳国人通信股份有限公司 一种网络设备的串口远程升级方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548527A (en) * 1992-02-21 1996-08-20 Abb Power T&D Company Inc. Programmable electrical energy meter utilizing a non-volatile memory
FR2879777A1 (fr) * 2004-12-17 2006-06-23 Actaris Sas Soc Par Actions Si Telechargement pour un compteur d'ernergie

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548527A (en) * 1992-02-21 1996-08-20 Abb Power T&D Company Inc. Programmable electrical energy meter utilizing a non-volatile memory
FR2879777A1 (fr) * 2004-12-17 2006-06-23 Actaris Sas Soc Par Actions Si Telechargement pour un compteur d'ernergie

Also Published As

Publication number Publication date
CN101221506A (zh) 2008-07-16

Similar Documents

Publication Publication Date Title
CN100543680C (zh) 一种对电能表芯片程序进行下载更新的方法
CN104702474B (zh) 一种基于FPGA的EtherCAT主站装置
CN105117253A (zh) 一种基于BootLoader的UV LED固化系统远程升级方法
CN106933632A (zh) 基于以太网的fpga功能在线升级方法
CN104579719A (zh) 一种固件的升级方法和系统、上位机和光模块
CN104580484B (zh) 一种gprs终端的远程升级方法
CN201383709Y (zh) 一种智能电力设备远程软件自动升级装置
CN105159109B (zh) 一种plc控制器远程升级系统
CN105278437A (zh) 基于S7-300/400 PLC的Modbus RTU/ASCII协议实现方法
CN104859909A (zh) 一种手机的包装方法和控制装置
CN102346501A (zh) 一种具有统一机框管理架构的设备及其管理控制方法
CN102711095B (zh) 一种对无线传感器网络中的节点进行无线升级的方法
CN103955190B (zh) 一种用于分布式智能测试系统的网络控制方法
CN103419199A (zh) 一种基于开放式焊接机器人的示教系统
CN108469961A (zh) 一种基于微型化嵌入式平台远程升级系统及方法
CN204733178U (zh) 一种基于FPGA的EtherCAT主站装置
CN104660372B (zh) 一种基于单片机异步串行端口多通道数据传输方法及系统
CN106598668A (zh) 基于调度系统对agv物流运输系统进行远程升级的方法
CN107301067A (zh) 基于iap技术的北斗用户机远程升级系统及其升级方法
CN205281479U (zh) 一种智能变电站的scd文件检查装置
CN204926225U (zh) 签名设备
CN105721563A (zh) 基于Android与ZigBee的智能窗帘控制系统
CN104679571A (zh) 同时对多个图形发生器进行程序自动升级的设备和方法
CN103838587A (zh) 基于gprs的控制系统远程升级方法及装置
CN112147562B (zh) 一种基于蓝牙通讯帧的校表方法、系统及校表装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090923

Termination date: 20130112

CF01 Termination of patent right due to non-payment of annual fee