CN116828346A - 电表数据代理读取方法、装置、电子设备及存储介质 - Google Patents
电表数据代理读取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116828346A CN116828346A CN202310906658.8A CN202310906658A CN116828346A CN 116828346 A CN116828346 A CN 116828346A CN 202310906658 A CN202310906658 A CN 202310906658A CN 116828346 A CN116828346 A CN 116828346A
- Authority
- CN
- China
- Prior art keywords
- protocol
- message
- reading
- data
- response data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims description 166
- 238000004891 communication Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明实施方式提出一种电表数据代理读取方法、装置、电子设备及存储介质,属于抄表技术领域,采集终端解析抄表代理请求,得到对象属性描述符和目的地址,对于每个目的地址,在目的地址的对应协议为698协议时,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文,在目的地址的对应协议为645协议时,按645协议的报文格式,将由对象属性描述符转换得到的数据标识和目的地址组包为读取请求报文,并将读取请求报文发送至对应电能表的报文接收端口,使得采集终端无需添加抄表任务,也无需所有抄表代理请求都进行将对象属性描述符转换成数据标识的操作,极大地简化了抄表代理读取流程和减少系统资源耗费。
Description
技术领域
本发明涉及抄表技术领域,具体而言,涉及一种电表数据代理读取方法、装置、电子设备及存储介质。
背景技术
在进行电能表抄抄表时,一般由主站下采集终端下发抄表代理请求,由采集终端对各电能表进行抄表。目前,采集终端已经开始广泛使用698通信协议,市面上大多数的电能表都是支持双协议,即支持645通信协议和698通信协议,但是仍然部分电表只支持645通信协议,并且有些地市为了采集方案和任务参数的统一,还是把双协议表当作645表使用。
采集终端在接收到主站下发的抄表代理请求时,通常将抄表代理请求的数据项(也称为对象属性描述符,又称OAD)提取出来,并根据这些OAD自动添加实时抄表任务,进而根据抄表任务将OAD转换为符合645协议的数据标识后,将数据标识组包为报文下发至电能表进行抄表。然而,这种代理抄表的方式抄表流程复杂,需要耗费大量的系统资源。
发明内容
有鉴于此,本发明的目的在于提供一种电表数据代理读取方法、装置、电子设备及存储介质,其能够改善目前的代理抄表的方式所存在的抄表流程复杂、系统资源耗费大的问题。
为了实现上述目的,本发明实施方式采用的技术方案如下:
第一方面,本发明实施方式提供一种电表数据代理读取方法,应用于采集终端,所述采集终端分别与主站和多个电能表通信连接,所述方法包括:
接收所述主站下发的抄表代理请求,解析所述抄表代理请求,得到至少一个目的地址和对象属性描述符;其中,每个所述目的地址为一个电能表的地址;
针对每个所述目的地址,当所述目的地址的对应协议为698协议时,按698协议的报文格式,将所述目的地址和所述对象属性描述符组包为读取请求报文;
针对每个所述目的地址,当所述目的地址的对应协议为645协议时,将所述对象属性描述符转换为数据标识,并按645协议的报文格式,将所述数据标识和所述目的地址组包为读取请求报文;
将每个所述读取请求报文发送至对应电能表的报文接收端口,以指示所述对应电能表进行抄表。
进一步的,所述方法还包括:
接收任一所述电能表返回的响应数据,并确定所述响应数据的协议类型;
若所述协议类型为698协议,则提取所述响应数据的读取结果,将所述读取结果组包为代理请求响应报文;
若所述协议类型为645协议,则提取所述响应数据的读取结果,将所述读取结果转为OOP格式的数据,并将所述OOP格式的数据组包为代理请求响应报文;
将所述代理请求响应报文发送至所述主站。
进一步的,在所述将每个所述读取请求报文发送至对应电能表的报文接收端口的步骤之后,所述方法还包括:
针对每个所述读取请求报文,从发送时刻起开始统计已发出时长,若所述发出时长大于预设的超时阈值时未接收到响应数据,则针对所述读取请求报文对应的电能表,生成响应超时报文,将所述响应超时报文返回至所述主站。
进一步的,在所述解析所述抄表代理请求,得到至少一个目的地址和对象属性描述符的步骤之后,所述方法还包括:
查找预存的电表档案,得到每个所述目的地址对应的电能表的配置协议,作为所述目标地址的对应协议。
进一步的,所述确定所述响应数据的协议类型的步骤,包括:
判断所述响应数据是否符合预设的698协议的报文规则,若是,则判定所述响应数据的协议类型为698协议,若否,则判断所述响应数据是否符合预设的645协议的报文规则;
若所述响应数据符合预设的645协议的报文规则,则判定所述响应数据的协议类型为645协议;
若所述响应数据不符合预设的645协议的报文规则,则判定所述响应数据为错误响应。
进一步的,所述判断所述响应数据是否符合预设的698协议的报文规则的步骤,包括:
分别对所述响应数据的帧头和帧尾进行校验,得到帧头和帧尾的校验和;
判断所述帧头和帧尾的校验和是否均处于预设的698协议校验和范围内,若否,则判定所述响应数据不符合698协议的报文规则;
若是,则解析所述响应数据,判断所述响应数据的结构是否符合预设的698协议的报文结构;
若所述响应数据的结构符合预设的698协议的报文结构,则判定所述响应数据符合698协议的报文规则;
若所述响应数据的结构不符合预设的698协议的报文结构,则判定所述响应数据不符合698协议的报文规则。
进一步的,所述判断所述响应数据是否符合预设的645协议的报文规则的步骤,包括:
对去除帧尾后的所述响应数据进行校验,得到校验和;
判断所述校验和是否均处于预设的645协议校验和范围内,若否,则判定所述响应数据不符合645协议的报文规则;
若是,则解析所述响应数据,判断所述响应数据的结构是否符合预设的645协议的报文结构;
若所述响应数据的结构符合预设的698协议的报文结构,则判定所述响应数据符合698协议的报文规则;
若所述响应数据的结构不符合预设的645协议的报文结构,则判定所述响应数据不符合645协议的报文规则。
第二方面,本发明实施方式提供一种电表数据代理读取装置,应用于采集终端,所述采集终端分别与主站和多个电能表通信连接,所述装置包括解析模块、第一组包模块、第二组包模块和发送模块;
所述解析模块,用于接收所述主站下发的抄表代理请求,解析所述抄表代理请求,得到至少一个目的地址和对象属性描述符;其中,每个所述目的地址为一个待读取的电能表的地址;
所述第一组包模块,用于针对每个所述目的地址,当所述目的地址的对应协议为698协议时,按698协议的报文格式,将所述目的地址和所述对象属性描述符组包为读取请求报文;
所述第二组包模块,用于针对每个所述目的地址,当所述目的地址的对应协议为645协议时,将所述对象属性描述符转换为数据标识,并按645协议的报文格式,将所述数据标识和所述目的地址组包为读取请求报文;
所述发送模块,用于将每个所述读取请求报文发送至对应电能表的报文接收端口,以指示所述对应电能表进行抄表。
第三方面,本发明实施方式提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如第一方面所述的电表数据代理读取方法。
第四方面,本发明实施方式提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的电表数据代理读取方法。
本发明实施方式提供的电表数据代理读取方法、装置、电子设备及存储介质,采集终端解析主站下发的抄表代理请求,得到对象属性描述符和至少一个电能表的目的地址,对于每个目的地址,在目的地址的对应协议为698协议时,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文,在目的地址的对应协议为645协议时,按645协议的报文格式,将由对象属性描述符转换得到的数据标识和目的地址组包为读取请求报文,并将每个读取请求报文发送至对应电能表的报文接收端口,以指示对应电能表进行抄表,使得采集终端无需添加抄表任务,也无需所有抄表代理请求都进行将对象属性描述符转换成数据标识的操作,极大地简化了抄表代理读取流程,同时能够减少采集终端的系统资源耗费。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施方式,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施方式提供的电表数据代理读取系统的方框示意图。
图2示出了本发明实施方式提供的电表数据代理读取方法的流程示意图之一。
图3示出了本发明实施方式提供的电表数据代理读取方法的流程示意图之二。
图4示出了本发明实施方式提供的电表数据代理读取方法的流程示意图之三。
图5示出了图4中步骤S21的部分子步骤的流程示意图。
图6示出了图5中步骤S211的部分子步骤的流程示意图。
图7示出了图5中步骤S212的部分子步骤的流程示意图。
图8示出了本发明实施方式提供的电表数据代理读取装置的方框示意图。
图9示出了本发明实施方式提供的电子设备的方框示意图。
附图标记说明:1000-电表数据代理读取系统;10-主站;20-采集终端;30-电能表;40-电表数据代理读取装置;401-解析模块;402-第一组包模块;403-第二组包模块;404-发送模块;50-电子设备。
具体实施方式
下面将结合本发明实施方式中附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。通常在此处附图中描述和示出的本发明实施方式的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明的实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
主站下发至采集终端的抄表代理请求的数据项称为对象属性描述符,又称为OAD,是描述需要抄表的数据项,例如,可以是电压、电流、电量、功率和温度等数据。
采目,集终端在接收到主站下发的抄表代理请求时,通常将抄表代理请求的数据项(即OAD)提取出来,并根据这些OAD自动添加实时抄表任务。由于645通信协议中没有OAD这个定义,因此采集终端执行抄表任务时需要将OAD转化为645协议中的数据标识(又称DI)后再去抄表。抄表成功后,采集终端将电表响应数据解析并转换为国网统一的OOP格式,并将OOP格式的数据再组包为代理请求响应数据反馈给主站。
这种代理抄表的方式抄表流程复杂,需要耗费大量的系统资源。
基于上述考虑,本发明实施方式提供一种电表数据代理读取方法,其能够改善抄表流程复杂、系统资源耗费大的问题。
本发明实施方式提供的电表数据代理读取方法,可以应用于图1所示的电表数据代理读取系统1000中,电表数据代理读取系统1000可以包括主站10、采集终端20和多个电能表30。主站10可以通过网络与采集终端20通信连接,采集终端20可以通过RS485总线与多个电能表30通信连接。
采集终端20中存储有预配置的电表档案,电表档案记录有采集终端20通信连接的电能表30的目的地址及目的地址的对应协议。其中,对应协议包括645协议和698协议。
主站10,用于下发抄表代理请求至采集终端20。主站10在确定部分电表数据缺失或需要读取部分电表数据时,生成抄表代理请求至采集终端20。
抄表代理请求可以是对一个电能表30的至少一个数据项的读取请求,此时,抄表代理请求包括一个目的地址和至少一个对象属性描述符。
抄表代理请求可以是对多个电能表30的至少一个数据项的读取请求,此时,抄表代理请求包括多个目的地址和至少一个对象属性描述符。
采集终端20,用于在接收到抄表代理请求时,解析抄表代理请求,得到至少一个目的地址和对象属性描述符,根据每个目的地址的对应协议,按照对应协议的报文生成规则,生成读取请求报文,并读取请求报文发送至对应电能表30的报文接收端口。
电能表30,用于在通过报文接收端口接收到读取请求报文时,获取读取请求报文对应的数据,生成响应数据,并返回至采集终端20。
采集终端20,还用于根据响应数据反馈响应报文至主站10。
需要说明的是,电能表30仅能在读取请求报文无误且自身无故障的情况下,才能读取数据生成正确的响应数据,否则为错误响应或无响应。
主站10可以是但不限于是:独立服务器、服务器集群和个人计算机等。
在一种可能的实施方式中,提供一种电表数据代理读取方法,参照图2,可以包括以下步骤。在本实施方式中,以该电表数据代理读取方法应用于图1中的采集终端20。
S10,接收主站下发的抄表代理请求,解析抄表代理请求,得到至少一个目的地址和对象属性描述符。
应当理解的是,每个目的地址为一个电能表的地址。
S12,确定每个目的地址的对应协议。当对应协议为698协议时,执行步骤S14,当对应协议为645协议时,执行步骤S16。
S14,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文。
S16,将对象属性描述符转换为数据标识,并按645协议的报文格式,将数据标识和目的地址组包为读取请求报文。
在本实施方式中,数据标识指的是645协议中的DI。
S18,将每个读取请求报文发送至对应电能表的报文接收端口,以指示对应电能表进行抄表。
当读取请求为多个时,多个读取请求报文并行发送。
主站10在确定出一个或多个电能表30的至少一个数据缺失或需要读取,或一个或多个电能表30的至少一个数据时,生成抄表代理请求,并发送至采集终端20。
采集终端20在接收到抄表代理请求时,解析抄表代理请求,得到至少一个目的地址和对象属性描述符,根据每个目的地址的对应协议,按照对应协议的报文格式,生成读取请求报文,并读取请求报文发送至对应电能表30的报文接收端口。
由于698协议的读取请求报文(即代理读取报文)中就是直接使用的对象属性描述符(即OAD),因此在抄表代理请求所需要读取的电能表30使用的协议为698协议时,直接使用提取出的对象属性描述符进行报文组包生成读取请求报文即可。而645协议的读取请求报文(即代理读取报文)中就是使用的对象属性描述符对应的数据标识,因此在抄表代理请求所需要读取的电能表30使用的协议为645协议时,先将提取出的对象属性描述符转换为数据标识,再用数据标识进行报文组包生成读取请求报文。
电能表30在通过报文接收端口接收到读取请求报文时,获取读取请求报文对应的数据,生成并返回响应数据。
与传统的抄读流程相比,上述电表数据代理读取方法中,采集终端20无需添加抄表任务,也无需所有抄表代理请求都进行将对象属性描述符转换成数据标识的操作,极大地简化了抄表代理读取流程,同时能够减少采集终端20的系统资源耗费。
为了避免采集终端20反馈错误的响应报文至主站10,在一种可能的实施方式中,参照图3,在上述步骤S18后还可以包括以下步骤。
S19,针对每个读取请求报文,从发送时刻起开始统计已发出时长,若发出时长大于预设的超时阈值时未接收到响应数据,则针对读取请求报文对应的电能表,生成响应超时报文,将响应超时报文返回至主站。
若在发出时长小于或等于超时阈值时已接收到响应数据,则按响应数据进行反馈。
通过上述步骤S19,每个抄表代理请求都有一个合适的请求超时时间(即超时阈值),在超时阈值内能够得到响应数据,主站10就可以及时得到反馈的响应数据,进一步排查问题。
对于步骤S12,确定每个目的地址的对应协议的方式可以灵活设置,例如,可以从预先存储的记录表中查找出,也可以根据预设规则处理得到,在本实施方式中不作具体限定。
在一种可能的实施方式中,采集终端20中可以预先存储有电表档案,电表档案中记录有每个电能表30的目的地址及对应协议。在此基础上,上述步骤S可以进一步实施为:查找预存的电表档案,得到每个目的地址对应的电能表30的配置协议,作为目标地址的对应协议。
对于步骤S14,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文中,在组包时,除了对象属性描述符还需要补充起始字符、长度域、控制域、地址域、帧头校验、帧尾校验、结束符和链路用户数据。
起始字符为1字节0x68。长度域为2字节,根据读取请求报文的实际报文长度确定。控制域为1字节0x43,表示客户机发起的请求。地址域根据电能表30的目的地址确定。帧头检验为2字节,是采用校验算法对帧头部分除起始字符和HCS本身之外字节进行校验得到的校验值,校验算法可以是CRC16。帧尾检验FCS为2字节,是采用校验算法对整帧除起始字符、结束字符和FCS本身之外的所有字节进行校验得到的校验值。结束符为1字节0x16。
完善链路用户数据(即组包成报文)是固定的,链路用户数据需要补充读取方式,若代理读取若干个电能表30的若干个对象的属性,补充0x050x02,若代理读取一个电能表30的一个记录型对象属性(即已经读取并存储在电能表30中的数据),则补充0x05 0x03。此外,还需补充PIID,PIID表示生成的读取请求报文的服务优先级和序号,其为1字节。
对于步骤S16,按645协议的报文格式,将数据标识和目的地址组包为读取请求报文为很成熟的方法,在本实施方式中不作详细赘述。
为了进一步简化抄表流程,在反馈响应数据的过程中引入698协议和645协议的判定,并根据不同的协议类型提供不同的反馈流程。参照图,本发明实施方式提供的电表数据代理读取方法还可以包括以下步骤。
S21,接收任一电能表返回的响应数据,并确定响应数据的协议类型。
S22,若协议类型为698协议,则提取响应数据的读取结果,将读取结果组包为代理请求响应报文。
S23,若协议类型为645协议,则提取响应数据的读取结果,将读取结果转为OOP格式的数据,并将OOP格式的数据组包为代理请求响应报文。
S24,将代理请求响应报文发送至主站。
同样的原理,使用698协议的电能表30的响应数据和采集终端20送给主站10的响应表文中均使用的对象属性描述符,因此返回响应数据的电能表30使用的协议是698协议时,直接将从响应数据中提取出的读取结果组包为代理请求响应报文即可。而在返回响应数据的电能表30使用的协议是645协议时,先将提取出的读取结果转换为OOP格式的数据后,再将OOP格式的数据组包为代理请求响应报文。
通过上述步骤S21-S24,采集终端20在接收到响应数据后,可以根据响应数据的协议类型,使用698协议或645协议生成代理请求响应报文,无需所有响应数据都使用645协议,即无需所有响应数据的读取结果都进行转换成OOP格式的数据的操作,从而能够极大地减少抄表流程,减小复杂性。
对于步骤S21,确定响应数据的协议类型的方式可以灵活设置,例如,可以采用神经网络模型进行识别,也可以按照预设规则进行判定,在本实施方式中不作具体限定。
在一种可能的实施方式中,参照图5,步骤S21可以进一步实施为以下步骤。
S211,判断响应数据是否符合预设的698协议的报文规则。若否,则执行步骤S212,若是,则执行步骤S215。
S212,判断响应数据是否符合预设的645协议的报文规则。若是,则执行步骤S213,若否,则执行步骤S214。
S213,判定响应数据的协议类型为645协议。
S214,判定响应数据为错误响应。
S215,判定响应数据的协议类型为698协议。
对于步骤S211,判断响应数据是否符合预设的698协议的报文规则时,可以判断响应数据的是否是合法的698报文,进而判断响应数据的结构是否符合698协议的报文结构,即报文规则包括698报文的合法性和报文结构。在一种可能的实施方式中,698报文的合法性可以对帧头和帧尾进行校验。
参照图6,步骤S211可以进一步实施为以下步骤。
S211A,分别对响应数据的帧头和帧尾进行校验,得到帧头和帧尾的校验和。
可以采用CRC16校验算法对响应数据的帧头和帧尾进行校验,得到帧头校验和和帧尾校验和。应当理解的是,CRC16校验算法仅仅是一种举例,而非唯一限定。
S211B,判断帧头和帧尾的校验和是否均处于预设的698协议校验和范围内。若是,则执行步骤S211C,若否,则执行步骤S211E。
本实施方式中,在698报文的合法性判定时,698协议校验和范围可以为0~65535。
S211C,解析响应数据,判断响应数据的结构是否符合预设的698协议的报文结构。若是,则执行步骤S211D,若否,则执行步骤S211E。
S211D,判定响应数据符合698协议的报文规则。
S211E,判定响应数据不符合698协议的报文规则。
在判断响应数据的结构是否符合预设的698协议的报文结构时,可以按报文结构里的顺序,从报文头到报文尾依次判定,若出现不符合的情况,则结束判定,从而能够减少判断耗时。
通过上述步骤S211A至S211E,能够快速且准确地判定是否符合698协议的报文规则。
同理,对于步骤S212,判断响应数据是否符合预设的645协议的报文规则时,可以判断响应数据的是否是合法的645报文,进而判断响应数据的结构是否符合645协议的报文结构,即报文规则包括645报文的合法性和报文结构。
参照图7,步骤S212可以进一步实施为以下步骤。
S212A,对去除帧尾后的响应数据进行校验,得到校验和。
可以采用CRC16校验算法对去除帧尾后的相应数据进行校验,得到校验和。应当理解的是,CRC16校验算法仅仅是一种举例,而非唯一限定。
S212B,判断校验和是否均处于预设的645协议校验和范围内。若否,则执行步骤S212E,若是,则执行步骤S212C。
S212C,解析响应数据,判断响应数据的结构是否符合预设的645协议的报文结构。若是,则执行步骤S212D,若否,则执行步骤S212E。
S212D,判定响应数据符合645协议的报文规则。
S212E,判定响应数据不符合645协议的报文规则。
在判断响应数据的结构是否符合预设的645协议的报文结构时,可以按报文结构里的顺序,从报文头到报文尾依次判定,若出现不符合的情况,则结束判定,从而能够减少判断耗时。
通过上述步骤S211A至S211E,能够快速且准确地判定是否符合698协议的报文规则。
698报文的响应数据的数据内容可以包括四大类。
第一类为读取一个对象数据的响应,又称为GetResponseNormal。其结构定义如表1所示。
表1
第二类为读取多个数据的响应,又称为GetResponseNormalList,其结构定义如表2所示。
表2
第三类为读取一个记录型数据的响应,又称为GetResponseRecord,其结构如表3所示。
表3
第四类为读取多个记录型数据的响应,又称GetResponseRecordList,其结构定义如表4所示。
表4
698报文代理读取的响应数据有两大类,即代理请求响应报文有两大类。
第一类为代理读取若干个服务器的若干个对象属性的响应,又称为ProxyGetResponseList,其结构定义如表5所示。
表5
从表5可以看出有一个成员是“若干个对象属性及其结果”,在GetResponseNormalList中也有同样的成员,所以该数据内容可以直接复制出来用于ProxyGetResponseList的组包。
第二类为代理读取一个服务器的一个记录型对象属性的响应,又称为ProxyGetResponseRecord,其结构定义如表6所示。
表6
从表6可以看出有一个成员是“一个记录型对象属性及其结果”,在GetResponseRecord中也有同样的成员,所以该数据内容可以直接复制出来用于ProxyGetResponseRecord的组包。
由上述内可知,代理读取698电表数据时,去掉了解析抄读OAD和反馈数据的步骤,极大地节约了系统资源。
此外,在上述电表数据代理读取方法中,实现代理业务和抄表业务分离,让两个业务没有耦合,能够提升程序的稳定性。
基于与上述电表数据代理读取方法按相同的构思,在一种可能的实施方式中,还提供了一种电表数据代理读取装置40,可以应用于图1中的采集终端20。参照图8,电表数据代理读取装置40可以包括解析模块401、第一组包模块402、第二组包模块403和发送模块404。
解析模块401,用于接收主站10下发的抄表代理请求,解析抄表代理请求,得到至少一个目的地址和对象属性描述符。其中,每个目的地址为一个待读取的电能表30的地址。
第一组包模块402,用于针对每个目的地址,当目的地址的对应协议为698协议时,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文。
第二组包模块403,用于针对每个目的地址,当目的地址的对应协议为645协议时,将对象属性描述符转换为数据标识,并按645协议的报文格式,将数据标识和目的地址组包为读取请求报文。
发送模块404,用于将每个读取请求报文发送至对应电能表30的报文接收端口,以指示对应电能表30进行抄表。
进一步的,还可以包括查找模块、响应接收模块、响应处理模块和响应反馈模块。
响应处理模块,用于针对每个读取请求报文,从发送时刻起开始统计已发出时长,若发出时长大于预设的超时阈值时未接收到响应数据,则针对读取请求报文对应的电能表30,生成响应超时报文,将响应超时报文返回至所述主站10。
查找模块,用于查找预存的电表档案,得到每个目的地址对应的电能表30的配置协议,作为目标地址的对应协议。
响应接收模块,用于接收任一电能表30返回的响应数据,并确定响应数据的协议类型。
响应处理模块,还用于若协议类型为698协议,则提取响应数据的读取结果,将读取结果组包为代理请求响应报文;若协议类型为645协议,则提取响应数据的读取结果,将读取结果转为OOP格式的数据,并将OOP格式的数据组包为代理请求响应报文。
响应反馈模块,用于将代理请求响应报文发送至主站10。
上述电表数据代理读取装置40中,通过解析模块401、第一组包模块402、第二组包模块403和发送模块404的协同作用,在代理抄表流程中,无需所有抄表代理请求都进行将对象属性描述符转换成数据标识的操作,极大地简化了抄表代理读取流程,同时能够减少采集终端20的系统资源耗费。
关于电表数据代理读取装置40的具体限定可以参见上文中对于电表数据代理读取方法的限定,在此不再赘述。上述电表数据代理读取装置40中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一种实施方式中,提供了一种电子设备50,该电子设备50可以是服务器或终端,其内部结构图可以如图9所示。该电子设备50包括通过系统总线连接的处理器、存储器、通信接口和输入装置。其中,该电子设备50的处理器用于提供计算和控制能力。该电子设备50的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备50的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该计算机程序被处理器执行时实现如上述实施方式提供的电表数据代理读取方法。
图9中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的电子设备50的限定,具体的电子设备50可以包括比图9中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一种实施方式中,本发明提供的应用于被部署设备的电表数据代理读取装置40可以实现为一种计算机程序的形式,计算机程序可在如图9所示的电子设备50上运行。电子设备50的存储器中可存储组成该电表数据代理读取装置40的各个程序模块,比如,图8所示的解析模块401、第一组包模块402、第二组包模块403和发送模块404。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的电表数据代理读取方法中的步骤。
例如,图9所示的电子设备50可以通过如图8所示的电表数据代理读取装置40中的解析模块401执行步骤S10和S12。电子设备50可以通过第一组包模块402执行步骤S14。电子设备50可以通过第二组包模块403执行步骤S16。电子设备50可以通过发送模块404执行步骤S18。
在一种实施方式中,提供了一种电子设备50,包括存储器和处理器,该存储器存储有机器可执行指令,该处理器执行机器可执行指令时实现以下步骤:接收主站下发的抄表代理请求,解析抄表代理请求,得到至少一个目的地址和对象属性描述符;针对每个所述目的地址,当目的地址的对应协议为698协议时,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文;针对每个所述目的地址,当目的地址的对应协议为645协议时,将对象属性描述符转换为数据标识,并按645协议的报文格式,将数据标识和目的地址组包为读取请求报文;将每个读取请求报文发送至对应电能表的报文接收端口,以指示对应电能表进行抄表。
在一种实施方式中,提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如下步骤:接收主站下发的抄表代理请求,解析抄表代理请求,得到至少一个目的地址和对象属性描述符;针对每个所述目的地址,当目的地址的对应协议为698协议时,按698协议的报文格式,将目的地址和对象属性描述符组包为读取请求报文;针对每个所述目的地址,当目的地址的对应协议为645协议时,将对象属性描述符转换为数据标识,并按645协议的报文格式,将数据标识和目的地址组包为读取请求报文;将每个读取请求报文发送至对应电能表的报文接收端口,以指示对应电能表进行抄表。
在本申请所提供的几个实施方式中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施方式中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电表数据代理读取方法,其特征在于,应用于采集终端,所述采集终端分别与主站和多个电能表通信连接,所述方法包括:
接收所述主站下发的抄表代理请求,解析所述抄表代理请求,得到至少一个目的地址和对象属性描述符;其中,每个所述目的地址为一个电能表的地址;
针对每个所述目的地址,当所述目的地址的对应协议为698协议时,按698协议的报文格式,将所述目的地址和所述对象属性描述符组包为读取请求报文;
针对每个所述目的地址,当所述目的地址的对应协议为645协议时,将所述对象属性描述符转换为数据标识,并按645协议的报文格式,将所述数据标识和所述目的地址组包为读取请求报文;
将每个所述读取请求报文发送至对应电能表的报文接收端口,以指示所述对应电能表进行抄表。
2.根据权利要求1所述的电表数据代理读取方法,其特征在于,所述方法还包括:
接收任一所述电能表返回的响应数据,并确定所述响应数据的协议类型;
若所述协议类型为698协议,则提取所述响应数据的读取结果,将所述读取结果组包为代理请求响应报文;
若所述协议类型为645协议,则提取所述响应数据的读取结果,将所述读取结果转为OOP格式的数据,并将所述OOP格式的数据组包为代理请求响应报文;
将所述代理请求响应报文发送至所述主站。
3.根据权利要求1或2所述的电表数据代理读取方法,其特征在于,在所述将每个所述读取请求报文发送至对应电能表的报文接收端口的步骤之后,所述方法还包括:
针对每个所述读取请求报文,从发送时刻起开始统计已发出时长,若所述发出时长大于预设的超时阈值时未接收到响应数据,则针对所述读取请求报文对应的电能表,生成响应超时报文,将所述响应超时报文返回至所述主站。
4.根据权利要求1或2所述的电表数据代理读取方法,其特征在于,在所述解析所述抄表代理请求,得到至少一个目的地址和对象属性描述符的步骤之后,所述方法还包括:
查找预存的电表档案,得到每个所述目的地址对应的电能表的配置协议,作为所述目标地址的对应协议。
5.根据权利要求2所述的电表数据代理读取方法,其特征在于,所述确定所述响应数据的协议类型的步骤,包括:
判断所述响应数据是否符合预设的698协议的报文规则,若是,则判定所述响应数据的协议类型为698协议,若否,则判断所述响应数据是否符合预设的645协议的报文规则;
若所述响应数据符合预设的645协议的报文规则,则判定所述响应数据的协议类型为645协议;
若所述响应数据不符合预设的645协议的报文规则,则判定所述响应数据为错误响应。
6.根据权利要求5所述的电表数据代理读取方法,其特征在于,所述判断所述响应数据是否符合预设的698协议的报文规则的步骤,包括:
分别对所述响应数据的帧头和帧尾进行校验,得到帧头和帧尾的校验和;
判断所述帧头和帧尾的校验和是否均处于预设的698协议校验和范围内,若否,则判定所述响应数据不符合698协议的报文规则;
若是,则解析所述响应数据,判断所述响应数据的结构是否符合预设的698协议的报文结构;
若所述响应数据的结构符合预设的698协议的报文结构,则判定所述响应数据符合698协议的报文规则;
若所述响应数据的结构不符合预设的698协议的报文结构,则判定所述响应数据不符合698协议的报文规则。
7.根据权利要求5所述的电表数据代理读取方法,其特征在于,所述判断所述响应数据是否符合预设的645协议的报文规则的步骤,包括:
对去除帧尾后的所述响应数据进行校验,得到校验和;
判断所述校验和是否均处于预设的645协议校验和范围内,若否,则判定所述响应数据不符合645协议的报文规则;
若是,则解析所述响应数据,判断所述响应数据的结构是否符合预设的645协议的报文结构;
若所述响应数据的结构符合预设的698协议的报文结构,则判定所述响应数据符合698协议的报文规则;
若所述响应数据的结构不符合预设的645协议的报文结构,则判定所述响应数据不符合645协议的报文规则。
8.一种电表数据代理读取装置,其特征在于,应用于采集终端,所述采集终端分别与主站和多个电能表通信连接,所述装置包括解析模块、第一组包模块、第二组包模块和发送模块;
所述解析模块,用于接收所述主站下发的抄表代理请求,解析所述抄表代理请求,得到至少一个目的地址和对象属性描述符;其中,每个所述目的地址为一个待读取的电能表的地址;
所述第一组包模块,用于针对每个所述目的地址,当所述目的地址的对应协议为698协议时,按698协议的报文格式,将所述目的地址和所述对象属性描述符组包为读取请求报文;
所述第二组包模块,用于针对每个所述目的地址,当所述目的地址的对应协议为645协议时,将所述对象属性描述符转换为数据标识,并按645协议的报文格式,将所述数据标识和所述目的地址组包为读取请求报文;
所述发送模块,用于将每个所述读取请求报文发送至对应电能表的报文接收端口,以指示所述对应电能表进行抄表。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如权利要求1至7中任一项所述的电表数据代理读取方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的电表数据代理读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310906658.8A CN116828346A (zh) | 2023-07-21 | 2023-07-21 | 电表数据代理读取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310906658.8A CN116828346A (zh) | 2023-07-21 | 2023-07-21 | 电表数据代理读取方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116828346A true CN116828346A (zh) | 2023-09-29 |
Family
ID=88118530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310906658.8A Pending CN116828346A (zh) | 2023-07-21 | 2023-07-21 | 电表数据代理读取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116828346A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118400443A (zh) * | 2024-06-26 | 2024-07-26 | 浙江正泰仪器仪表有限责任公司 | 电能表数据转换方法、装置、计算机设备及存储介质 |
-
2023
- 2023-07-21 CN CN202310906658.8A patent/CN116828346A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118400443A (zh) * | 2024-06-26 | 2024-07-26 | 浙江正泰仪器仪表有限责任公司 | 电能表数据转换方法、装置、计算机设备及存储介质 |
CN118400443B (zh) * | 2024-06-26 | 2024-09-10 | 浙江正泰仪器仪表有限责任公司 | 电能表数据转换方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106815112B (zh) | 一种基于深度包检测的海量数据监控系统及方法 | |
CN112822276B (zh) | 一种变电站站控层通信方法、系统、电子设备及存储介质 | |
CN112751733B (zh) | 一种链路检测方法、装置、设备、系统及交换机 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN104090891A (zh) | 数据处理方法、装置、数据处理服务器及系统 | |
CN116828346A (zh) | 电表数据代理读取方法、装置、电子设备及存储介质 | |
CN113360301B (zh) | 一种消息传输系统及方法 | |
CN112788128A (zh) | 业务信息的推送方法、装置、存储介质及电子装置 | |
CN111246406A (zh) | 一种短信发送方法、系统、存储介质及终端设备 | |
CN110830466B (zh) | 一种基于xml的dl/t645规约报文的组帧方法及装置 | |
CN107800552B (zh) | 一种数据交互方法及装置 | |
CN112335203B (zh) | 处理局域网诊断数据 | |
CN114338347A (zh) | 基于Ampere平台的故障信息带外获取方法及装置 | |
CN113220481A (zh) | 请求处理及反馈方法、装置、计算机设备及可读存储介质 | |
WO2021147319A1 (zh) | 一种数据处理方法、装置、设备及介质 | |
CN108460044B (zh) | 数据的处理方法和装置 | |
CN110995869B (zh) | 机器数据收集方法、装置、设备及介质 | |
CN113051202A (zh) | 接口适配方法、装置、电子设备和计算机可读存储介质 | |
CN115543755A (zh) | 一种性能监管方法、装置、系统、设备和介质 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
CN114928582B (zh) | 资源组合方法、装置、设备及存储介质 | |
CN114257643B (zh) | 一种日志传输方法及系统 | |
CN115499338B (zh) | 数据处理方法、设备、介质及云网络观测系统 | |
CN114301960B (zh) | 集群非对称流量的处理方法及装置、电子设备及存储介质 | |
CN116055577B (zh) | 协议转换方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |