发明内容
本发明的目的在于提供一种电涌保护器中数据的存取方法,以解决现有技术中升级后的编码版本能够兼容低级编码版本,而低级编码版本无法兼容升级后的编码版本的技术问题。
为了达到本发明目的,本发明提供了一种电涌保护器中数据的存取方法,包括:(1)将电涌保护器中需要保存的数据分成至少包括特征数据和状态数据在内类型的若干类型,并将每一类型的数据存储到对应的类型存储区;(2)每一次编码版本升级时,确定需要增加的数据所属类型,并添加到对应类型的存储区;(3)读取数据时,读取自身编码能够识别的数据,其中包括终端监控设备读取电涌保护器中表明本装置工作状态的状态数据,获得电涌保护器的工作状态信息。
步骤(1)中数据分为特征数据和状态数据,或者将数据分为特征数据、状态数据和标准参数数据,或者将数据分为固定类型数据和动态类型数据,其中固定类型数据又分为特征数据、状态数据和标准参数数据或者固定类型数据又分为特征数据和状态数据。
步骤(3)还包括:电涌保护器将获得的工作状态数据与本编码能够读取的标准参数数据进行比对来判断本电涌保护器是否进入异常状态。
优选地,步骤(1)还包括:每一种类型存储区的首位保存本区所占用的字节数或实时数据的长度;步骤(2)还包括:需要增加的数据添加到对应类型存储区后,更新该类型存储区的首位信息。
优选地,步骤(1)还包括:每一类型存储区的首字节存储在固定地址;步骤(3)中读取数据先从固定地址找到该数据所属类型存储区的首字节,然后找到对应数据。
优选地,步骤(1)还包括:每一类型存储区的首字节所在的地址预先保存在固定地址中;步骤(2)还包括:每一次编码版本升级,根据升级完的每一类型存储区首字节所在地址更新对应固定地址中的内容;步骤(3)中读取数据时先从固定地址获得该数据所属类型存储区的首字节地址,然后找到该类型存储区的首地址,最后再找到对应数据。
一种电涌保护器监控系统,其特征在于,包括至少一台电涌保护器SPD及对其监控的至少一台终端监控设备,SPD和终端监控设备通过无线或有线方式连接,所述SPD和终端监控设备包括:
存储单元:设置每一种数据类型的类型存储区,所述数据类型至少包括特征数据和状态数据,所述类型存储区至少包括特征数据存储区和状态数据存储区;
数据存储控制单元:将每一类型的数据存储到对应的类型存储区,每一次编码版本升级时,确定需要增加的数据所属类型,并添加到对应类型的存储区;
数据读取控制单元:读取数据时,按照预设规则读取自身编码能够识别的数据。
数据分为特征数据和状态数据,或者将数据分为特征数据、状态数据和标准参数数据,或者将数据分为固定类型数据和动态类型数据,其中固定类型数据又分为特征数据、状态数据和标准参数数据或者固定类型数据又分为特征数据和状态数据。
所述数据存储控制单元和数据读取控制单元集成在控制器中。
本发明的每一次编码版本升级时,将需要增加的数据添加到该数据所属类型的存储区中,保持原有的编码版本中的编码规则不变。这样,不管是哪一种编码版本在数据读取时,只读取自身编码能够识别的数据。也就是说,本方法采用通过编码版本对数据长度的控制,从而使升级的编码版本自然兼容低级编码版本,而低级编码版本也可以读取高级编码版本中的同等级编码数据,提供了向前和向后兼容的可能,简化、节约了数据处理装置的投资。
而且,在要求低成本的嵌入系统保存数据时,不论处理程序所占用的空间还是数据存放所占用的空间都要求尽量的小,但又需要保持高低版本互相兼容的场合,本发明数据存储方法满足上述要求。
具体实施方式
以下结合附图,具体说明本发明。
本发明的核心在于,本发明的每一次编码版本升级时,将需要增加的数据添加到该数据所属类型的存储区中,保持原有的编码版本中的编码规则不变。这样,不管是哪一种编码版本在数据读取时,只读取自身编码能够识别的数据。也就是说,本方法采用通过编码版本对数据长度的控制,从而使升级的编码版本自然兼容低级编码版本,而低级编码版本也可以读取高级编码版本中的同等级编码数据,提供了向前和向后兼容的可能,简化、节约了数据处理装置的投资。同时也可以让未能及时升级的控制系统仍然能够按照较低级的版本控制已经升级了的电涌保护器,仅仅不能使用升级了的电涌保护器的新功能而已。
请参阅图2,其为数据的存取方法的流程图。它包括以下步骤:
S110:将数据分成若干类型,并将每一类型的数据存储到对应的类型存储区。
初始编码版本进行数据存储时,预先将数据分为若干类型,每一类型在存储单元中开辟对应的存储区。数据存储到对应类型的存储区,每一类型存储区的大小可以是固定的,这样,在数据读取时,只需要到对应存储位置去读取即可。但是,这种存储方法需要浪费大量的存储空间。每一类型存储区也可以按照预先设定的规则存储。比如,每一类型存储区所占用的存储单元是动态变化的,每一类型存储区所占用的存储单元和本类型存储的数据的大小直接相关。若每一类型存储区的大小等于该类型存储数据的大小,且每一类型存储区是紧挨着存储,每一类型存储区的第一字节保存本存储区所占用的存储空间。在数据读取时,可以先找到第一个类型存储区的存储位置,然后获得该存储区所占的大小,再找到第二个类型存储区的位置,随后获得该存储区所占的大小,直到找到需要读取数据所对应的存储区的位置,再找到该数据。这种方式可以避免存储空间的浪费,但是读取数据的效率稍稍低点。
还有一种方式为:每一类型存储区的首字节所在的地址预先保存在固定地址中。类型存储区的存储空间是根据存储的数据动态变化的。在每一次编码版本升级,根据升级完的每一类型存储区首字节所在地址更新对应固定地址中的内容。在读取数据时先从固定地址获得该数据所属类型存储区的首字节地址,然后找到该类型存储区的首地址,最后再找到对应数据。这种方式不仅可以避免存储空间的浪费,而且读取数据的效率也不低。
S120:每一次编码版本升级时,确定需要增加的数据所属类型,并添加到对应类型的存储区。
后一编码规则继承前一编码规则,即每一种存储区的每一位置的代码所代表的编码含义,升级后的编码版本并不会对其进行修改,只会在其后数据位添加新的编码规则。
S130:读取数据时,读取自身编码能够识别的数据。
不管是哪一种编码版本读取数据时,按照本编码版本规定的规则读取数据,最简单的是,可以直接抛弃超出自身编码能够理解的数据。这样,低级编码版本也可以读取高级编码版本中的同等级编码数据。
通过上述流程,可以提供向前和向后兼容编码版本的可能。特别是一些紧急情况,可以直接读取该编码版本能识别的数据,而无需先进行版本升级,再进行读取数据。
以下就以SPD为例来说明本发明。
SPD用以限制瞬态过电压和引导电涌电流的一种设备,它至少包括一种非线性元件。由于它不仅具备有防雷的功能,而且还具有抑制投切过电压的作用,因此SPD广泛应用于很多领域,比如气象灾害预警领域。当出现电涌时,SPD通过自身能限制瞬态过电压和分走电涌电流的特性,将被保护设备的过电压降到本设备耐冲击过电压额定值以下。但是,当电涌电压超过SPD设计的最大承受能力和放电电流容量时,SPD可能会失效或被损坏,因此需要在下一电涌到来之前替换掉失效的SPD。在SPD的使用过程中,需要对SPD进行监控,以便了解SPD的工作状态,以及在SPD失效时能及时处理。
请参阅图3,其为本发明对电涌保护器进行监控的系统的原理结构示意图。它包括终端监控设备1和至少一台需监控的电涌保护器(以下简称为SPD)2,每一台SPD2可以通过无线或有线的很多方式(如电力线、以太网、无线网络等)与终端监控设备1进行通信,每一台SPD2将表明本端SPD本体工作状态或电涌状态的工作状态数据传输至终端监控设备1,用来实现对SPD2的远程监测控制。本发明的监控系统可以实现一台终端监控设备1监控数台SPD2,由此达到集中监控的目的。本发明的监控系统也可以实现一台SPD2有若干台终端监控设备监控,实现灵活监控的目的。
请参阅图4,其为终端监控设备1的结构原理图。它包括接口11、第二处理器12、输出装置14和输入装置13。接口11用于建立终端监控设备1和SPD2的连接,第二处理器12用于控制SPD2的工作,输入装置13用于接收用户的指令,输出装置14用于输出报警等告知用户SPD状态信息。另外,终端监控设备1通常需要设置一存储单元,用于存储数据。
请参阅图5,其为一SPD2的结构原理图。本发明的SPD包括SPD本体21、信号采集器22、连接信号采集器22的信号转换器23、第一处理器24、用以与终端监控设备1建立连接的接口25和存储单元27。
SPD本体21即为现有的SPD,它包括至少一个非线性器件,如压敏电阻、瞬态抑制二极管等。SPD本体21在正常工作状态下处于断路状态,当雷击或其他电涌发生时,SPD本体21处于低阻状态同时线路上会出现大电流的情况。由于其为现有技术,在此不再赘述。
信号采集器22用于采集SPD本体21的各项表征SPD状态的各项数据,如温度、电压、电流等。信号采集器22可以为电压信号采集器、电流信号采集器和温度采集器中的一种或几种。但是,为了更全面了解SPD的状态,最佳的实现方式是SPD包括电压信号采集器、电流信号采集器和温度采集器,分别用以获得工作电压、启动电压、泄漏电流等实时参数。
信号转换器23,用于将信号采集器22采集到的模拟信号转换为第一处理器24能够处理的数字信号。最常用的信号转换器23为模/数转换器。SPD本体21在正常工作状态下处于断路状态,电压信号采集器采集电源电压,通过电压信号转换器转换为数字信号后输入到第一处理器24;电流信号采集器采集工作电流(如漏电流),经电流信号转换器转换为数字信号后输入到第一处理器24,温度信号采集器采集工作温度,经温度信号转换器转换为数字信号后输入到第一处理器24,第一处理器24将采集到的各项标准参数存储在存储单元27中。存储单元27可以是外加的存储元件。
当信号采集器22采集到开关信号等第一处理器24能够直接处理的数据时,信号采集器22可以直接将该些数据发送至第一处理器24。当信号采集器22采集到第一处理器24不能够直接处理的模拟数据时,只能通过信号转换器23将其转换为第一处理器24能够直接处理的数字数据。在雷击发生时,信号采集器22也可以不需要信号转换器23将数据进行转换。
第一处理器24,用于处理信号采集器对SPD本体状态的采样,获得工作状态数据,在终端监控设备的控制下工作。比如:处理并按预设格式保存SPD工作状态数据,或者用于处理并按预设格式保存SPD工作状态数据,接收并处理输入装置和/或终端监控设备输入的指令,所述指令至少包括对实时状态数据采集的控制、对存储单元中的状态数据的处理、对存储单元的存储空间的处理、对异常状态的设定以及达到异常状态后的处理中的其中一种指令。
SPD和终端监控设备涉及到的数据分为特征数据、标准参数和状态数据。特征数据用于表征SPD特征的数据,比如:制造商代码、序列号码等等。标准参数是标明SPD工作状态的对比数据,比如,报警温度、极限电流等,用于判定SPD实时工作的状态。状态数据是表明SPD实时工作状态。SPD中至少需要保存特征数据和状态数据。在SPD和终端监控设备上处理的这些数据可以预先进行编码,而且随着技术的不断完善,会出现不同的编码版本。但是,高版本必然包含低版本所定义的字节即高版本所包含的信息量要大于低版本的信息量。也就是说,高版本兼容低版本的编码含义。
通常,在SPD和终端监控设备中都设置:
存储单元:设置每一种数据类型的类型存储区;
数据存储控制单元:将数据分成若干类型,并将每一类型的数据存储到对应的类型存储区,每一次编码版本升级时,确定需要增加的数据所属类型,并添加到对应类型的存储区;
数据读取控制单元:读取数据时,按照预设规则读取自身编码能够理解的数据。
数据存储控制单元和数据读取控制单元可以集成在第一处理器和第二处理器中,存储单元可以是内置或外加的存储单元。即使SPD和终端监控设备上的编码版本不相同,但是终端监控设备照样可以通过本端的数据读取控制单元读取SPD上存储单元中编码版本的数据,做到了向前和向后兼容的可能,简化、节约了数据处理装置的投资。特别是,在一些紧急情况下,即使SPD和终端监控设备上保存的编码版本不一致,但是,终端监控设备还能对SPD发出控制指令,或者说SPD的数据读取控制单元能够识别本端编码版本能识别的数据,执行相应操作,比如切断SPD本体回路等。
请参阅图6,其为本发明对电涌保护器中数据的存取方法的流程图。它包括:
S210:将电涌保护器中需要保存的数据分成至少包括特征数据和状态数据在内类型的若干类型,并将每一类型的数据存储到对应的类型存储区。
数据可以分为特征数据和状态数据,或者将数据分为特征数据、状态数据和标准参数数据,或者将数据分为固定类型数据和动态类型数据,其中固定类型数据又分为特征数据、状态数据和标准参数数据或者固定类型数据又分为特征数据和状态数据。对应地,每一类型数据存在该类型数据的存储区。
S220:每一次编码版本升级时,确定需要增加的数据所属类型,并添加到对应类型的存储区。
S230:读取数据时,读取自身编码能够识别的数据,其中包括终端监控设备读取电涌保护器中表明本装置工作状态的状态数据,获得电涌保护器的工作状态信息。
步骤S230还包括:电涌保护器将获得的工作状态数据与本编码能够读取的标准参数数据进行比对来判断本电涌保护器是否进入异常状态。也就是说,读取数据包括两个方面:即终端监控设备读取电涌保护器发送的或保存在电涌保护器上的本终端监控终端上编码版本能够识别的数据,同样,电涌保护器能够读取终端监控设备发送的或保存在终端监控设备上的本电涌保护器编码版本能够识别的数据。
读取工作状态信息可以用来判断电涌保护器是否处于异常状态,也可以用于传输至终端监控设备。由终端监控设备来处理:如保存、如用来判断电涌保护器是否处于异常状态。
当电涌保护器上未保存有标准参数时,终端监控设备读取电涌保护器中表明本装置工作状态的状态数据,获得电涌保护器的工作状态信息来判断电涌保护器是否处于异常状态,电涌保护器将获得的工作状态数据与本编码能够读取的终端监控设备上保存或发送的标准参数数据进行比对来判断本电涌保护器是否进入异常状态。
当电涌保护器上保存有标准参数时,电涌保护器将获得的工作状态数据与本编码能够读取的本装置上保存的标准参数数据进行比对来判断本电涌保护器是否进入异常状态。
进入异常状态后,电涌保护器可以读取自身编码保存数据指令进行对异常状态的处理,电涌保护器也可以接收终端监控设备发送的数据指令进行对异常状态的处理。
请参阅图7,其为本发明在SPD上的一实例示意图。编码起始版本包括特征数据存储区(简称特征数据区)、标准参数存储区(简称标准参数区)、状态参数存储区(简称状态参数区)。编码版本升级,通常需要增加新的数据及增加对应的编码规则。将所有需要增加的新数据先划分到对应的类型,再存储到对应的类型存储区,保持先前编码版本定义的编码规则不变。
每一编码版本读取数据时,先获得该数据所属类型存储区所在的头字节,然后再按照本编码版本定义的编码规则从该类型存储区读取对应的数据。本发明可以将每一类型存储区的头字节放置在一固定存储位置,在编码版本升级时,修改该固定位置上类型存储区的头字节地址。每一编码版本读取数据时,先从该固定存储位置获得所属类型存储区的头字节。
每一类型数据存储可以由以下几种存储方式。
1、低效储存高效读取的方式
区一:第一类型首字节|第一类型参数|空闲字节
区二:第二类型首字字节|第二类型参数|空闲字节
区三:第三类型首字字节|第三类型参数|空闲字节
…
即给每一类型存储区开辟一固定的存储单元,每一类型对应的参数顺序存储在该类型存储区中。这种存储方式会浪费大量的存储空间,但是读取速度非常快。
2、低效读取、高效储存的方式
第一类型首字节|第一类型参数|第二类型首字节|第二类型参数|第三类型首字节|第三类型参数…
这种存储方式存储的效率很高,但是读取的速度会相对慢一些。
3、折中存储方式
第一类型首字节位置|第二类型首字节位置|第三类型首字节位置|第一类型首字节|第一类型参数|第二类型首字节|第二类型参数|第三类型首字节|第三类型参数…
下面举例说明高低版本兼容的方法:
编码版本一:以下简称编码1
特征数据区:12byte
标准参数区:5byte
状态参数区:固定位置记录8byte+实时数据记录6byte/每条
升级的编码版本一:以下简称编码2
特征数据区:15byte
标准参数区:6byte
状态参数区:固定位置记录11byte+实时数据记录8byte/每条
当高版本读取低版本格式时即编码2读取编码1格式,因编码2出现的时间晚于编码1,可以包含编码1规则,当读取的版本号低于解读者的版本号,简单按照较低编码读取即可。
当低版本读取高版本格式时即编码1读取编码2格式的时候,因编码1无法预知未来编码2的格式,则编码1按照分区规定的字长读取内容,直接抛弃超出自身编码能够识别的长度之数据。上例中编码1无法理解特征数据区,特征数据13、14、15,则直接丢弃。对于标准参数区的纪录6和状态参数区的固定位置记录7、8、9、10、11和所有实时数据中的7、8两个字节相同也做丢弃处理。
下面我们对SPD的编码数据进行举例说明。
一、特征数据区包含标示ID(产品序列号)、编码版本号、制造商代码、产品型号、制造时间、初始化密码、功能编码,共占用13个字节
存放制造商代码,最多存放FFFFH即65536家不同的制造商
存放产品型号,最多存放FFFFH即65536种不同的型号
存放制造时间,按UTC标准时间,可以记录到2079年
存放产品序列号码,最多存放FFFFH即65536个不同的号码,当天该型号最高产量
存放编码版本号,最多存放FFH即256即可描述256个版本
存放初始化密码,最多存放FFFFH即65536个可能
存放功能编码,最多存放FFH,采用bit位控制即最多8种功能描述
二、标准参数区包含报警温度值设置、极限温度值设置、报警工作电压值设置、极限工作电压值设置、报警时间/间隔设置、握手编码、功能使能设置,共占用15个字节,
高四位存放报警温度值,低四位存放极限温度值FFH即各16级温度点设置
高四位存放报警电压值,低四位存放极限电压值FFH即各16级电压设置
存放握手编码,最多存放FFFFH即65536个可能
存放功能使能设置,FFH,采用bit位控制即最多8种功能使能设置
三、状态参数区包含固定位置数据和实时记录数据
其中固定位置记录包含初次加电时间、在线工作时间、电涌发生次数、异常报警次数、电压报警次数,共占用13个字节
实时记录包含电涌发生时间、异常报警时间、异常温度值、异常电压值,共占用5个字节,(因实时记录为顺序记录,所以数量庞大,需尽量压缩记录长度)
存放状态参数区的固定位置记录长度,本例为16进制的0CH
存放状态参数区的实时记录长度,本例为16进制的04H
存放初次加电时间,按制造的UTC标准时间加上本参数偏移,可以记录生产后180年内的首次加电
存放在线工作时间,3BYTE(精确到分钟可统计30年)
存放第一组纪录日期,按UTC标准制造时间偏移,可以记录生产后180年内日期
存放第一组纪录时间,首位0记录异常,首位1记录电涌,记录精度:5秒
如字节
的最高位为0则存放第一组温度/电压值,高四位为16级温度,低四位为16级电压;如字节
的最高位为1为则存放第一组电涌电流值,可记录256级电流值
存放第二组纪录日期,按UTC标准制造时间偏移,可以记录生产后180年内日期
存放第二组纪录时间,首位0记录异常,首位1记录电涌,记录精度:5秒
请参阅图8,为本发明在SPD上的另一实例示意图。编码起始版本包括特征数据存储区(简称特征数据区)、标准参数存储区(简称标准参数区)、固定状态参数存储区(简称固定状态参数区)和动态状态参数存储区(简称动态状态参数区)。动态状态参数区用于存储采集到的实时数据。编码版本升级,通常需要增加新的数据及增加对应的编码规则。将所有需要增加的新数据先划分到对应的类型,再存储到对应的类型存储区,保持先前编码版本定义的编码规则不变。当需要增加实时数据时,只需要在动态状态参数区中存储增加的实时数据。当读取实时数据时,也是从动态状态参数据区读取实时数据。
在SPD和终端监控设备上不管采用哪一种编码版本,SPD与终端监控设备之间能进行有效地通信。
以上公开的仅为本发明的几个具体实施例,但本发明并非局限于此,任何本领域的技术人员能思之的变化,都应落在本发明的保护范围内。