CN117749852A - 仪表参数的发送方法及装置、存储介质及电子装置 - Google Patents

仪表参数的发送方法及装置、存储介质及电子装置 Download PDF

Info

Publication number
CN117749852A
CN117749852A CN202311873671.4A CN202311873671A CN117749852A CN 117749852 A CN117749852 A CN 117749852A CN 202311873671 A CN202311873671 A CN 202311873671A CN 117749852 A CN117749852 A CN 117749852A
Authority
CN
China
Prior art keywords
instrument
parameter
meter
client
sending
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
Application number
CN202311873671.4A
Other languages
English (en)
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.)
Hangzhou Hollysys Automation Co Ltd
Original Assignee
Hangzhou Hollysys Automation 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 Hangzhou Hollysys Automation Co Ltd filed Critical Hangzhou Hollysys Automation Co Ltd
Priority to CN202311873671.4A priority Critical patent/CN117749852A/zh
Publication of CN117749852A publication Critical patent/CN117749852A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

本申请公开了一种仪表参数的发送方法及装置、存储介质及电子装置,其中,上述方法包括:接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析第一仪表操作请求,以获取第一仪表操作请求中携带的仪表标识和参数标识;根据仪表标识确定第一仪表,以及根据参数标识确定第一仪表对应的第一仪表参数;通过远程过程调用方式将第一仪表参数对应的第一参数值发送至第一客户端,以使第一客户端显示第一仪表参数对应的第一参数值。采用上述技术方案,解决了现有技术中,客户端的仪表界面与仪表通信逻辑高耦合,导致的仪表界面出现异常进而使仪表通信逻辑无法继续执行的问题。

Description

仪表参数的发送方法及装置、存储介质及电子装置
技术领域
本申请涉及通信领域,具体而言,涉及一种仪表参数的发送及装置、存储介质及电子装置。
背景技术
目前,大多数智能设备管理系统都是通过解析仪表厂商提供的电子设备描述文件(EDD文件)中解析出仪表支持的参数和操作方法,以及这些参数和方法在用户界面的显示方式。通过这些界面和逻辑元素构造出仪表参数的操作界面和逻辑处理对象(即仪表逻辑对象)。用户在操作界面上可以执行参数的读写,通过仪表逻辑对象提供的方法配置和调试仪表等操作。
但是,目前仪表界面与仪表逻辑高耦合,界面出现异常就有可能影响逻辑无法继续执行。系统中集成监控了许多表,在这种情况下单个表的操作会影响到整个系统的宕机,终止对其他仪表的数据采集。
针对现有技术中客户端的仪表界面与仪表通信逻辑高耦合,导致的仪表界面出现异常进而使仪表通信逻辑无法继续执行的问题,目前尚未提出有效的解决方案。
因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
发明内容
本申请实施例提供了一种仪表参数的发送及装置、存储介质及电子装置,以至少解决现有技术中,客户端的仪表界面与仪表通信逻辑高耦合,导致的仪表界面出现异常进而使仪表通信逻辑无法继续执行的问题。
根据本申请实施例的一方面,提供了一种仪表参数的发送,包括:接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
在一个示例性实施例中,根据所述仪表标识确定第一仪表,包括:在仪表哈希表中确定所述仪表标识对应的仪表对象,其中,所述仪表哈希表中存储有所述仪表标识与所述第一仪表对应的仪表对象的对应关系;根据所述仪表对象和所述第一仪表的对应关系确定所述第一仪表。
在一个示例性实施例中,在接收第一客户端通过远程过程调用方式发送的第一仪表操作请求之前,所述方法还包括:根据预设的界面元素关系图确定界面元素描述文件,其中,所述界面元素描述文件为通用格式文件;将所述界面元素描述文件发送至所述第一客户端,以使所述第一客户端解析所述界面元素描述文件,并根据解析后的界面元素描述文件构建仪表操作界面,其中,所述仪表操作界面用于发送所述第一仪表操作请求和显示所述第一参数值。
在一个示例性实施例中,解析所述第一仪表操作请求,并根据所述参数标识确定所述第一仪表对应的第一仪表参数,包括:将所述第一仪表操作请求转换为仪表报文请求;将所述仪表报文请求发送至所述第一仪表,以使所述第一仪表响应所述仪表报文请求,生成响应报文;解析所述响应报文,并根据解析后的响应报文确定所述第一仪表参数。
在一个示例性实施例中,将所述仪表报文请求发送至所述第一仪表,包括:将所述仪表报文请求发送至通信接口,以使所述通信接口将所述仪表报文请求转发至所述第一仪表,其中,所述通信接口用于建立所述第一仪表对应的服务器与所述第一仪表的连接关系。
在一个示例性实施例中,在通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端之后,所述方法还包括:在接收到多个第二客户端对第二仪表的多个第二仪表参数的编辑操作的情况下,根据所述编辑操作确定每一所述第二仪表参数的参数变化值;根据每一所述参数变化值将每一所述第二仪表参数的第二参数值调整为第三参数值;确定订阅所述第二仪表参数的第三客户端,并将多个所述第三参数值发送至所述第三客户端,其中,所述第三客户端至少包括:所述多个第二客户端。
在一个示例性实施例中,在通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端之后,所述方法还包括:在接收到所述第一客户端发送的周期订阅请求的情况下,根据所述周期订阅请求设置周期定时器,其中,所述周期订阅请求用于请求周期获取所述第一仪表的第三仪表参数的第四参数值;在所述周期定时器超时,且所述第三仪表参数的参数状态为读状态的情况下,获取所述第三仪表参数的第四参数值;将第四参数值发送至所述第一客户端,以使所述第一客户端显示所述第四参数值。
根据本申请实施例的另一方面,还提供了一种仪表参数的发送装置,包括:接收模块,用于接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;确定模块,用于根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;发送模块,用于通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述仪表参数的发送方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述仪表参数的发送方法。
通过本申请,接收并解析第一客户端通过远程调用方式发送的第一仪表操作请求,以获取第一仪表操作请求中携带的仪表标识和参数标识。通过仪表标识和参数标识确定第一仪表和第一仪表对应的第一仪表参数。通过远程调用方式将第一仪表对应的第一参数值发送至第一客户端,以使第一客户端显示第一仪表参数对应的第一参数值。也就是说,第一客户端通过远程调用的方式与服务器通信,服务器接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,获取第一仪表的第一参数值,并将第一参数值通过远程调用的方式发送至第一客户端,以使第一客户端显示第一参数值。通过上述方法,可以解决现有技术中客户端的仪表界面与仪表通信逻辑高耦合,导致的仪表界面出现异常进而使仪表通信逻辑无法继续执行的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示例性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种仪表参数的发送的计算机终端的硬件结构框图;
图2是根据本申请实施例的仪表参数的发送方法的流程图;
图3是现有技术中智能设备管理系统的实现原理图;
图4根据本申请示例性实施例的多客户端采集仪表参数的数据流示意图;
图5是根据本申请示例性实施例的子系统中的核心数据对象和交互流程图;
图6是根据本申请示例性实施例的通信交互示意图;
图7是根据本申请示例性实施例的界面元素的关系图;
图8是根据本申请实施例的仪表参数的发送装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语和“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本申请实施例的一种仪表参数的发送的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的仪表参数的发送对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种仪表参数的发送方法,应用于服务器,服务器可以理解为上述计算机终端;图2是根据本申请实施例的仪表参数的发送方法的流程图,该流程包括如下步骤:
步骤S202,接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;
现有技术中客户端与服务器之间的通信是通过进程内调用的方式,而本申请将现有技术中的进程内调用的方式替换成了远程过程调用方式(Remote Procedure Call,简称为RPC通信)。
此外,第一仪表操作请求中携带仪表标识和参数标识的同时,可能还携带其他参数,例如:操作码、操作数等。也就是说,第一仪表操作请求中携带的信息包括但不限于:仪表标识、参数标识。
步骤S204,根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;
步骤S206,通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
通过上述步骤,接收并解析第一客户端通过远程调用方式发送的第一仪表操作请求,以获取第一仪表操作请求中携带的仪表标识和参数标识。通过仪表标识和参数标识确定第一仪表和第一仪表对应的第一仪表参数。通过远程调用方式将第一仪表对应的第一参数值发送至第一客户端,以使第一客户端显示第一仪表参数对应的第一参数值。也就是说,第一客户端通过远程调用的方式与服务器通信,服务器接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,获取第一仪表的第一参数值,并将第一参数值通过远程调用的方式发送至第一客户端,以使第一客户端显示第一参数值。通过上述方法,可以解决现有技术中客户端的仪表界面与仪表通信逻辑高耦合,导致的仪表界面出现异常进而使仪表通信逻辑无法继续执行的问题。
可选的,为了更好的理解上述步骤S204中如何根据所述仪表标识确定第一仪表,步骤S204可以通过以下技术方案实现:在仪表哈希表中确定所述仪表标识对应的仪表对象,其中,所述仪表哈希表中存储有所述仪表标识与所述第一仪表对应的仪表对象的对应关系;根据所述仪表对象和所述第一仪表的对应关系确定所述第一仪表。
通过上述技术方案可知,仪表哈希表中记载仪表标识与仪表对象的对应关系,通过第一客户端发送的仪表标识与仪表哈希表,即可确定第一仪表,以及第一仪表对应的仪表对象。
可选的,在接收第一客户端通过远程过程调用方式发送的第一仪表操作请求之前,所述方法还包括:根据预设的界面元素关系图确定界面元素描述文件,其中,所述界面元素描述文件为通用格式文件;将所述界面元素描述文件发送至所述第一客户端,以使所述第一客户端解析所述界面元素描述文件,并根据解析后的界面元素描述文件构建仪表操作界面,其中,所述仪表操作界面用于发送所述第一仪表操作请求和显示所述第一参数值。
可以理解的是,预设的界面元素关系图中包括但不限于主界面、多个菜单、每个菜单中包含的多个菜单项、每个菜单项对应的一个菜单,或者一个方法,或者一个变量,或者一个变量编辑框等。通过预设的界面元素关系图即可构建界面元素描述文件(即DOM文件),使用DOM文件描述第一客户端的界面的组织结构。
界面元素描述文件为通用格式文件,即在手机端、电脑端(Personal Computer,简称为PC端)、网页端(World Wide Web,简称为WEB端)等都可以实现对界面元素描述文件的解析。
现有技术中,客户端的界面与逻辑的关联元素为C++类语言,无法在其他语言中使用,而每种类型的客户端都有自己支持的编程语言,因此,C++类语言模式的界面和逻辑的关联方式无法支持多种类型的客户端界面的解析操作。而通过上述技术方案,由于上述通用格式文件的格式为通用格式,PC端,WEB端,手机端都可以实现解析,并根据本端支持的语言构建仪表操作界面,可以解决现有技术中C++类语言模式的界面和逻辑的关联方式无法支持多种类型的客户端界面的解析操作的问题。
可选的,解析所述第一仪表操作请求,并根据所述参数标识确定所述第一仪表对应的第一仪表参数,包括:将所述第一仪表操作请求转换为仪表报文请求;将所述仪表报文请求发送至所述第一仪表,以使所述第一仪表响应所述仪表报文请求,生成响应报文;解析所述响应报文,并根据解析后的响应报文确定所述第一仪表参数。
其中,将所述仪表报文请求发送至所述第一仪表,包括:将所述仪表报文请求发送至通信接口,以使所述通信接口将所述仪表报文请求转发至所述第一仪表,其中,所述通信接口用于建立所述第一仪表对应的服务器与所述第一仪表的连接关系。
通过上述技术方案可知,解析第一仪表操作请求的方式还包括:第一仪表操作请求为参数的格式,需要将参数格式的第一仪表操作请求转换为报文格式的仪表报文请求。在解析第一仪表操作请求之后,还需要将仪表报文请求发送至通信接口,以使通信接口将仪表报文请求转发至第一仪表。也就是说,服务器和仪表之间通过通信接口连接,通信接口用于建立第一仪表与服务器的连接关系。
在现有技术中,每个客户端都有一个和硬件(例如:仪表)交互的通信接口,这样的硬件节点会增加通信连接数。每个客户端与仪表的通信都需要一个通信接口完成,即仪表的通信为串行通信(在一个请求响应后,才可以处理另一个请求)。因此,现有技术中的方案会增加硬件维护并发请求的成本。而通过本实施例的上述技术方案,可以解决现有技术中每个客户端都有一套仪表的管理和通信接口,整个项目的仪表对象和通信业务,以及和硬件通信的接口不能统一管理的问题。
可选的,在通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端之后,所述方法还包括:在接收到多个第二客户端对第二仪表的多个第二仪表参数的编辑操作的情况下,根据所述编辑操作确定每一所述第二仪表参数的参数变化值;根据每一所述参数变化值将每一所述第二仪表参数的第二参数值调整为第三参数值;确定订阅所述第二仪表参数的第三客户端,并将多个所述第三参数值发送至所述第三客户端,其中,所述第三客户端至少包括:所述多个第二客户端。
通过上述分析可知,在多个第二客户端对同一个仪表(第二仪表)发送不同的第二仪表参数的编辑参数的情况下,需要确定每一第二仪表参数的变化值,根据每一参数变化值调整第二仪表的第二参数值,并确定订阅第二仪表参数的第三客户端,将调整后的第二参数值(即第三参数值)发送至第三客户端。
也就是说,可能会存在客户端a对第二仪表的仪表参数a进行编辑操作,客户端b对第二仪表的仪表参数b进行编辑操作的情况,即可能出现多个客户端对同一个仪表的仪表参数进行编辑,其中,每一个客户端编辑仪表的一个仪表参数,不同客户端调节的仪表参数可能相同,也可能不同的情况,在这种情况下,需要确定每一个客户端调节的仪表参数的参数变化值,可以通过参数值二元组将参数变化值表示出来,参数值二元组中包括:每一第二仪表参数,每一第二仪表参数对应的调整后的第二参数值。
进一步的,确定与服务器连接的所有客户端中订阅了第二仪表参数的第三客户端,第三客户端中必然包括多个第二客户端,将第三参数值发送至第三客户端。
现有技术中,在多个客户端同时采集同一个仪表时,由于每个客户端都是独立与仪表通信的,仪表的最新数据只返回给当前客户端,其他客户端数据没有同步。除非其他客户端周期执行采集仪表的参数值,但是其他客户端周期执行采集仪表的参数值的操作增加仪表的通信负荷,降低采集的性能。通过上述技术方案,在仪表的仪表参数更新的情况下,自动将更新后的参数值发送至订阅仪表参数的客户端,可以解决现有技术中多个客户端同时采集同一个仪表时,仪表的最新数据只返回给当前客户端,其他客户端数据没有同步的问题。
可选的,在通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端之后,所述方法还包括:在接收到所述第一客户端发送的周期订阅请求的情况下,根据所述周期订阅请求设置周期定时器,其中,所述周期订阅请求用于请求周期获取所述第一仪表的第三仪表参数的第四参数值;在所述周期定时器超时,且所述第三仪表参数的参数状态为读状态的情况下,获取所述第三仪表参数的第四参数值;将第四参数值发送至所述第一客户端,以使所述第一客户端显示所述第四参数值。
可以理解的是,本实施例的客户端还可以发送周期订阅请求,在服务器中设置周期定时器,在周期定时器超时的情况下,可以确定上一周期结束,当前周期刚刚开始。可以将第三仪表参数的参数状态设置为读状态,进而获取第三仪表参数状态的第四参数值,将第四参数值发送至客户端。
现有技术中,读取仪表参数需要打开客户端的仪表界面才能触发通信。无法后台执行指定仪表参数的周期采集。而通过本实施例的上述技术方案,可以指定仪表参数的周期采集。
显然,上述所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。为了更好的理解上述仪表参数的发送方法,以下结合实施例对上述过程进行说明,但不用于限定本申请实施例的技术方案。
在理解仪表参数的发送方法的技术方案之前,首先需要了解现有技术中智能设备管理系统的实现方案,图3是现有技术中智能设备管理系统的实现原理图,如图3所示,现有技术中智能设备管理系统的实现方案为:
设备管理模块(即图3中的hCDeviceManager)解析仪表的设备描述文件,以生成仪表对象(即图3中的hCddbDevice)。仪表对象中包含仪表支持的界面元素(例如:菜单/菜单项,编辑显示框,图片,表格,图表(数据源编辑器,轴线图),波形图,引用的插件等)、界面元素在仪表界面上的布局,以及业务元素(例如:参数,方法,命令等)。界面元素引用业务元素,当在仪表界面上操作界面元素时触发业务元素中的业务对应的业务请求时,业务通过命令分发模块(即图3中的hCcmdDisPatcher)将业务请求转化为命令请求报文,命令分发模块再将命令请求报文通过接口模块和仪表之间的链路传输命令请求报文进而将命令请求报文发送给仪表。仪表收到命令请求报文并生成请求响应,将请求响应返回至命令分发模块,进而解析出请求响应对应的参数后,保存参数,同时通知仪表界面刷新,以将参数显示到仪表界面。
本申请示例性实施例提供了一种多客户端采集仪表参数的服务模型,图4根据本申请示例性实施例的多客户端采集仪表参数的数据流示意图,如图4所示:
本申请示例性实施例主要包括:“仪表客户端”,“仪表业务服务”,“仪表通信代理”三个子系统。其中:
仪表客户端:提供操作仪表界面;
仪表业务服务:构建仪表的业务和数据模型,接收仪表操作客户端的操作请求,将操作转换为仪表请求报文,解析响应报文生成参数更新消息,分发给各个登录的仪表客户端;
仪表通信代理:维护和仪表的通信链接,接收仪表业务服务的操作请求报文,将请求报文转发给仪表,将仪表的响应报文返回给仪表通信代理。
通过图4可知,本申请示例性实施例将仪表逻辑相关的模块组合构建成1个独立的业务服务(位于本申请的服务器中),客户端只包含仪表操作界面,而仪表操作界面和业务服务之间通过RPC通信(即本申请的远程过程调用方式)替代原有的进程内调用,仪表操作界面和逻辑的关联关系由原来的对象引用修改为逻辑元素标识。
图5是根据本申请示例性实施例的子系统中的核心数据对象和交互流程图,如图5所示:
具体实施例1:业务服务统一管理项目所有仪表。
在业务服务中调用仪表对象管理(hCDeviceManager)的newDevice方法创建仪表对象(hCddbDevice),生成仪表对象的同时关联了仪表业务处理对象和仪表通信接口对象。图6是根据本申请示例性实施例的通信交互示意图,如图6所示:每个仪表对象组合1个命令分发对象(hCcmdDispatch),命令分发对象组合1个通信接口对象(hCcommInfc)。仪表对象负责管理仪表参数;命令分发对象负责请求命令和响应命令的解析;通信接口对象负责向仪表发送报文(即本申请的仪表报文请求)。
其中,设备管理对象使用一张仪表哈希表管理所有仪表对象。业务服务通过客户端传入的仪表标识就可以识别出需要操作的仪表。关键代码如下:
Std:map<DevInfcHandle_t,hCddbDevice>deviceMap;
Typedef int DevInfcHandle_t。
具体实施例2:客户端解析界面元素描述文件(DOM文件)构建仪表操作界面,支持不同类型终端客户。
图7是根据本申请示例性实施例的界面元素的关系图,图7中的界面元素的关系图(即本申请的界面元素关系图)包括:主界面(CDDLMain)包含的多个菜单(CDDLMenu),每一个菜单包含的多个菜单项(CDDLMenuItem),每一个菜单项对应一个菜单,或者一个方法,或者一个变量,或者一个变量编辑框等。通过图7确定界面元素描述文件。
进一步的,客户端连接服务器,执行打开界面的操作,从服务器获取仪表的DOM文件(即上述界面元素描述文件),并解析界面元素描述文件,以构建仪表操作界面。可以理解的是,由于界面元素描述文件为通用格式的文件,因此,无论是PC端,WEB端,还是手机端等客户端均可以实现对界面元素描述文件的解析,并根据客户端支持的语言构建仪表操作界面。
具体实施例3:客户端用户操作通过RPC请求与业务服务交互。
客户端通过RPC请求接口请求仪表参数值(即本申请的第一仪表操作请求)的数据格式为:
Struct Reqest{
仪表ID(DevInfcHandle_t):int,(即本申请的仪表标识)
参数ID(symbol_id):int,(即本申请的参数标识)
操作码:int,
操作数:string}。
进而业务服务接收到客户端发送上述数据,通过RPC响应接口向客户端返回操作结果,具体的,RPC响应接口的数据格式为:
Struct Response{
仪表ID(DevInfcHandle_t):int,
参数ID(symbol_id):int,
操作码:int,
操作数:string
操作结果:int}(即本申请的第一参数值)。
进而客户端界面接收到响应后,根据响应刷新界面。
具体实施例4:仪表数据的更新通知到所有客户端。
业务服务的订阅服务组件提供仪表参数订阅接口,当客户端订阅的仪表参数发生变化时,订阅服务组件项注册了订阅的客户推送参数变化值。具体的,仪表参数订阅接口的数据格式为:
Struct SucriptionDevicePara{
ClientID:客户端ID,
仪表ID:(DevInfcHandle_t):int,
参数id结合:{symbol_id}}。
通过上述实施例,可以一个客户端订阅仪表参数,也可以多个客户端订阅仪表参数。当多个客户端可以同时操作同一个仪表时,如果各客户端(即本申请的多个第二客户端)订阅的参数(即本申请的多个第二仪表参数)发生变化时,服务器将参数信息(即本申请的参数变化值)推送给各客户端。具体的,推送接口数据格式为:
Struct SucriptionDevicePara{
仪表ID:(DevInfcHandle_t):int,
参数值二元组结合:{<symbol_id,参数值>,…,<symbol_id,参数值>}}。
具体实施例5:通过订阅方式启动仪表指定参数的周期采集。
在业务服务端的仪表对象中增加周期采集仪表参数逻辑,实现方式为设置周期定时器,一个周期刚刚开始即设置指定参数(即本申请的第三仪表参数)的状态为读状态,通过仪表的命令分发组件(hCcmdDispatch)已经实现的检测参数状态获取参数值的接口读取仪表参数。周期参数的定制方式可以使用上述订阅服务接口。周期采集到参数后,将参数分发给订阅的客户端(即本申请的第一客户端)。
通过本申请示例性实施例,构建了统一管理设备对象,设备通信的业务服务。重新定义仪表界面和仪表对象之间的映射方式,采用了服务间调用方式替代了进程内调用方式,确定了仪表操作客户端和仪表业务服务之间的新的交互方式。定义新了仪表界面描述文件(DOM文件)。可以实现多客户对设备处理的统一,解决了多端操作仪表数据的不一致性问题。各终端通用的仪表界面描述文件使实现多类型终端以统一方式操作仪表更加简单。仪表参数的变化可以实时通知到各客户端更新界面,增强了仪表参数监控的及时性。设置定制参数的状态,仪表参数周期采集的实现代价最小化。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
在本实施例中还提供了一种仪表参数的发送装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的仪表参数的发送装置的结构框图,该装置包括:
接收模块82,用于接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;
确定模块84,用于根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;
发送模块86,用于通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
通过上述装置,接收并解析第一客户端通过远程调用方式发送的第一仪表操作请求,以获取第一仪表操作请求中携带的仪表标识和参数标识。通过仪表标识和参数标识确定第一仪表和第一仪表对应的第一仪表参数。通过远程调用方式将第一仪表对应的第一参数值发送至第一客户端,以使第一客户端显示第一仪表参数对应的第一参数值。也就是说,第一客户端通过远程调用的方式与服务器通信,服务器接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,获取第一仪表的第一参数值,并将第一参数值通过远程调用的方式发送至第一客户端,以使第一客户端显示第一参数值。通过上述方法,可以解决现有技术中客户端的仪表界面与仪表通信逻辑高耦合,导致的仪表界面出现异常进而使仪表通信逻辑无法继续执行的问题。
在一个示例性实施例中,所述确定模块84,还用于在仪表哈希表中确定所述仪表标识对应的仪表对象,其中,所述仪表哈希表中存储有所述仪表标识与所述第一仪表对应的仪表对象的对应关系;根据所述仪表对象和所述第一仪表的对应关系确定所述第一仪表。
在一个示例性实施例中,所述接收模块82,还用于根据预设的界面元素关系图确定界面元素描述文件,其中,所述界面元素描述文件为通用格式文件;将所述界面元素描述文件发送至所述第一客户端,以使所述第一客户端解析所述界面元素描述文件,并根据解析后的界面元素描述文件构建仪表操作界面,其中,所述仪表操作界面用于发送所述第一仪表操作请求和显示所述第一参数值。
在一个示例性实施例中,所述确定模块84,还用于将所述第一仪表操作请求转换为仪表报文请求;将所述仪表报文请求发送至所述第一仪表,以使所述第一仪表响应所述仪表报文请求,生成响应报文;解析所述响应报文,并根据解析后的响应报文确定所述第一仪表参数。
在一个示例性实施例中,所述确定模块84,还用于将所述仪表报文请求发送至通信接口,以使所述通信接口将所述仪表报文请求转发至所述第一仪表,其中,所述通信接口用于建立所述第一仪表对应的服务器与所述第一仪表的连接关系。
在一个示例性实施例中,所述发送模块86,还用于在接收到多个第二客户端对第二仪表的多个第二仪表参数的编辑操作的情况下,根据所述编辑操作确定每一所述第二仪表参数的参数变化值;根据每一所述参数变化值将每一所述第二仪表参数的第二参数值调整为第三参数值;确定订阅所述第二仪表参数的第三客户端,并将多个所述第三参数值发送至所述第三客户端,其中,所述第三客户端至少包括:所述多个第二客户端。
在一个示例性实施例中,所述发送模块86,还用于在接收到所述第一客户端发送的周期订阅请求的情况下,根据所述周期订阅请求设置周期定时器,其中,所述周期订阅请求用于请求周期获取所述第一仪表的第三仪表参数的第四参数值;在所述周期定时器超时,且所述第三仪表参数的参数状态为读状态的情况下,获取所述第三仪表参数的第四参数值;将第四参数值发送至所述第一客户端,以使所述第一客户端显示所述第四参数值。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;
S2,根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;
S3,通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;
S2,根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;
S3,通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种仪表参数的发送方法,其特征在于,包括:
接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;
根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;
通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
2.根据权利要求1所述的仪表参数的发送方法,其特征在于,根据所述仪表标识确定第一仪表,包括:
在仪表哈希表中确定所述仪表标识对应的仪表对象,其中,所述仪表哈希表中存储有所述仪表标识与所述第一仪表对应的仪表对象的对应关系;
根据所述仪表对象和所述第一仪表的对应关系确定所述第一仪表。
3.根据权利要求1所述的仪表参数的发送方法,其特征在于,在接收第一客户端通过远程过程调用方式发送的第一仪表操作请求之前,所述方法还包括:
根据预设的界面元素关系图确定界面元素描述文件,其中,所述界面元素描述文件为通用格式文件;
将所述界面元素描述文件发送至所述第一客户端,以使所述第一客户端解析所述界面元素描述文件,并根据解析后的界面元素描述文件构建仪表操作界面,其中,所述仪表操作界面用于发送所述第一仪表操作请求和显示所述第一参数值。
4.根据权利要求1所述的仪表参数的发送方法,其特征在于,解析所述第一仪表操作请求,并根据所述参数标识确定所述第一仪表对应的第一仪表参数,包括:
将所述第一仪表操作请求转换为仪表报文请求;
将所述仪表报文请求发送至所述第一仪表,以使所述第一仪表响应所述仪表报文请求,生成响应报文;
解析所述响应报文,并根据解析后的响应报文确定所述第一仪表参数。
5.根据权利要求4所述的仪表参数的发送方法,其特征在于,将所述仪表报文请求发送至所述第一仪表,包括:
将所述仪表报文请求发送至通信接口,以使所述通信接口将所述仪表报文请求转发至所述第一仪表,其中,所述通信接口用于建立所述第一仪表对应的服务器与所述第一仪表的连接关系。
6.根据权利要求1所述的仪表参数的发送方法,其特征在于,在通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端之后,所述方法还包括:
在接收到多个第二客户端对第二仪表的多个第二仪表参数的编辑操作的情况下,根据所述编辑操作确定每一所述第二仪表参数的参数变化值;
根据每一所述参数变化值将每一所述第二仪表参数的第二参数值调整为第三参数值;
确定订阅所述第二仪表参数的第三客户端,并将多个所述第三参数值发送至所述第三客户端,其中,所述第三客户端至少包括:所述多个第二客户端。
7.根据权利要求1所述的仪表参数的发送方法,其特征在于,在通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端之后,所述方法还包括:
在接收到所述第一客户端发送的周期订阅请求的情况下,根据所述周期订阅请求设置周期定时器,其中,所述周期订阅请求用于请求周期获取所述第一仪表的第三仪表参数的第四参数值;
在所述周期定时器超时,且所述第三仪表参数的参数状态为读状态的情况下,获取所述第三仪表参数的第四参数值;
将第四参数值发送至所述第一客户端,以使所述第一客户端显示所述第四参数值。
8.一种仪表参数的发送装置,其特征在于,包括:
接收模块,用于接收第一客户端通过远程过程调用方式发送的第一仪表操作请求,并解析所述第一仪表操作请求,以获取所述第一仪表操作请求中携带的仪表标识和参数标识;
确定模块,用于根据所述仪表标识确定第一仪表,以及根据所述参数标识确定所述第一仪表对应的第一仪表参数;
发送模块,用于通过所述远程过程调用方式将所述第一仪表参数对应的第一参数值发送至所述第一客户端,以使所述第一客户端显示所述第一仪表参数对应的第一参数值。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN202311873671.4A 2023-12-29 2023-12-29 仪表参数的发送方法及装置、存储介质及电子装置 Pending CN117749852A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311873671.4A CN117749852A (zh) 2023-12-29 2023-12-29 仪表参数的发送方法及装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311873671.4A CN117749852A (zh) 2023-12-29 2023-12-29 仪表参数的发送方法及装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN117749852A true CN117749852A (zh) 2024-03-22

Family

ID=90254595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311873671.4A Pending CN117749852A (zh) 2023-12-29 2023-12-29 仪表参数的发送方法及装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN117749852A (zh)

Similar Documents

Publication Publication Date Title
CN102710593B (zh) 一种图形聚合中的消息分发方法及装置、系统
CN112073471B (zh) 设备的控制方法和装置、存储介质及电子装置
CN110908879A (zh) 埋点数据的上报方法、装置、终端和存储介质
CN104967650A (zh) 第三方电商平台统一发布方法
CN103546343A (zh) 网络流量分析系统的网络流量展示方法和系统
CN105450479A (zh) 一种监控模块的方法及装置
CN111736938B (zh) 信息的显示方法及装置、存储介质和电子装置
CN115412602A (zh) 一种数字孪生的数据解析流转方法、装置、设备及介质
CN112055062A (zh) 数据通信方法、装置、设备及可读存储介质
CN113553310A (zh) 数据的采集方法及装置、存储介质、电子设备
CN115114044A (zh) 消息推送方法、装置、设备和介质
CN101184261B (zh) 一种面向多网络的多媒体信息提供和接收方法及系统
CN113759745A (zh) 多种智能家居网络协同控制系统
CN113467832A (zh) 设备控制处理方法、装置、存储介质及电子装置
CN112769931A (zh) 一种服务管理平台
US10750356B2 (en) Configuration management method, apparatus, and system for terminal in internet of things
CN117749852A (zh) 仪表参数的发送方法及装置、存储介质及电子装置
US8335795B2 (en) Data storing system and data processing method of informational household appliance
CN110928547A (zh) 公共文件的提取方法、装置、终端和存储介质
CN112671915A (zh) 一种消息推送处理方法及智能设备
CN112491583A (zh) 一种数据采集和分析的方法及装置
CN112698948A (zh) 产品资源的获取方法及装置、存储介质、电子装置
CN113282622A (zh) 信息发送方法及装置、存储介质及电子装置
CN102469483B (zh) 业务受理异常的处理方法、系统及相关装置
CN112698829A (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