一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种嵌入式设备的配置方法和通信方法与流程

2022-12-13 20:47:34 来源:中国专利 TAG:


1.本发明涉及供配电技术领域,尤其涉及一种嵌入式设备的配置方法和通信方法。


背景技术:

2.在逆变器、ups、储能装置等设备的监控过程中,嵌入式设备对上述设备中的电压或电流等测点数据进行监测,并将监测到的数据传输至上位机,实现对逆变器、ups、储能装置等设备的状态监测。
3.当嵌入式设备需要增加或者减少测点时,需要对嵌入式设备的配置文件进行更新,以满足嵌入式设备的实际监测需求。目前嵌入式设备的配置文件主要为xml格式或者json格式。这类配置文件具有良好的可读性且便于快速编写,但是xml格式或者json格式的配置文件过于庞大。嵌入式设备在每次更新配置文件时,嵌入式设备的单片机需要花费大量资源和内存来解析这类配置文件。而嵌入式设备的单片机资源与内存有限,导致嵌入式设备在进行设备协议增补或更新时周期较长,容易产生更新中断甚至更新失败等问题。


技术实现要素:

4.本发明提供了一种嵌入式设备的配置方法和通信方法,能够缩短嵌入式设备在进行设备协议增补或更新时的更新周期,提高嵌入式设备配置文件更新的成功率。
5.第一方面,本发明提供了一种嵌入式设备的配置方法,包括:获取嵌入式设备的配置文件,配置文件的格式为xml格式或json格式;对配置文件进行解析,得到配置文件中包含的协议信息、命令信息和测点信息;协议信息用于指示嵌入式设备采用的通信协议,命令信息用于指示配置文件中各控制命令,测点信息用于指示与嵌入式设备连接的各下位机的测点;基于协议信息、命令信息和测点信息,进行程序转码,生成二进制文件;将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置。
6.本发明提供一种嵌入式设备的配置方法,通过对嵌入式设备的配置文件进行解析,得到配置文件中协议信息、命令信息和测点信息,之后对配置文件中通信协议、各控制命令和各测点,进行程序编写,生成二进制文件,将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置。一方面,二进制文件中包含配置文件中通信协议、各控制命令和各测点的信息,可以实现嵌入式设备的完整配置,配置完成的嵌入式设备可以正常运行。另一方面,二进制文件的文件大小小于xml格式或json格式的配置文件,提高配置过程中的数据传输速度,减小了配置过程中嵌入式设备的内存消耗。且二进制文件无需嵌入式设备解析,直接复制刻录到内存即可,降低了配置过程中的解析时间,缩短嵌入式设备在进行设备协议增补或更新时的更新周期,提高嵌入式设备配置文件更新的成功率。
7.在一种可能的实现方式中,协议信息包括协议名称、协议版本、厂家名称、设备类型、协议标识和命令数量;命令信息包括各控制命令中每一个控制命令的通讯功能码、协议命令编号、命令标识、测点个数、命令描述;测点信息包括每一个测点的测点标识和测点数据类型;基于协议信息、命令信息和测点信息,进行程序转码,生成二进制文件,包括:确定
协议信息中各信息、命令信息中各信息和测点信息中各信息对应的标准数据类型,同类标准数据类型对应的内存占用长度相同;基于标准数据类型,对协议信息、命令信息和测点信息,进行二进制转换,生成二进制文件。
8.在一种可能的实现方式中,二进制文件包括校验文件头,协议结构体,命令结构体和测点结构体;基于标准数据类型,对协议信息、命令信息和测点信息,进行二进制转换,生成二进制文件,包括:基于协议信息中各信息对应的标准数据类型,对协议信息中的各信息进行二进制代码转换,生成协议结构体;其中,不同协议对应的协议结构体对应的内存占用长度相同;基于命令信息中各信息对应的标准数据类型,对命令信息中各控制命令,进行二进制代码转换,生成各控制命令对应的命令结构体;每一个命令结构体包括通讯功能码、寄存器地址、寄存器数量、协议命令编号、命令标识、测点个数、命令描述和crc校验值;其中,各命令结构体对应的内存占用长度相同;基于测点信息中各信息对应的标准数据类型,对各测点进行内存排序,生成各测点对应的测点结构体,每一个测点结构体包括寄存器地址、寄存器类型、端类型、测点标识、寄存器参数、放大系数、修正值、精度、控制命令值、标准数据类型、标准偏移地址、测点描述;测点的标准偏移地址用于指示嵌入式设备接收到该测点的实时数据后,实时数据的存储地址;其中,各测点结构体对应的内存占用长度相同;对协议结构体、各命令结构体和各测点结构体进行一致性加密,添加校验文件头,生成二进制文件。
9.在一种可能的实现方式中,基于测点信息中各信息对应的标准数据类型,对各测点进行内存排序,生成各测点对应的测点结构体,包括:对于相同类型的通信协议对应的各测点,对该各测点进行排序,生成测点并集;基于所述测点并集中各测点的标准数据类型,确定各测点的内存占用长度和所述测点并集对应的内存占用总长度;基于所述测点并集中各测点的先后顺序,所述各测点的内存占用长度和所述测点并集对应的内存占用总长度,计算各测点在共享内存空间中的标准偏移地址;所述共享内存空间为与所述测点并集中各测点的实时数据的存储区,所述测点的标准偏移地址为该测点的实时数据的起始存储地址相对于所述共享内存空间的起始地址的偏移量。
10.在一种可能的实现方式中,将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置,之后还包括:确定配置文件的更新信息,更新信息用于指示对配置文件中控制命令或测点的更新操作,更新操作包括新增或删除;若更新指示信息为新增控制命令或新增测点,则基于新增控制命令的命令信息,生成该新增控制命令对应的命令结构体;或者,基于新增测点的测点信息,生成该新增测点对应的测点结构体;将新生成的命令结构体或测点结构体添加至二进制文件,生成更新后的二进制文件;若更新指示信息为删除控制命令或删除测点,则将二进制文件中该删除控制命令对应的命令结构体删除,或者,将二进制文件中该删除测点对应的测点结构体删除,生成更新后的二进制文件;将更新后的二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置文件的更新。
11.在一种可能的实现方式中,确定配置文件的更新指示信息,之前还包括:接收用户输入的更新指示,更新指示包括对配置文件中控制命令或测点的更新操作;相应的,确定配置文件的更新信息,包括:基于用户输入的更新指示,确定配置文件的更新信息。
12.在一种可能的实现方式中,确定配置文件的更新指示信息,之前还包括:接收用户输入的更新后的配置文件;相应的,确定配置文件的更新信息,包括:基于更新后的配置文
件和配置文件,确定配置文件的更新信息。
13.第二方面,本发明实施例提供了一种嵌入式设备的配置装置,包括:通信模块,用于获取嵌入式设备的配置文件,配置文件的格式为xml格式或json格式;处理模块,用于对配置文件进行解析,得到配置文件中包含的协议信息、命令信息和测点信息;协议信息用于指示嵌入式设备采用的通信协议,命令信息用于指示配置文件中各控制命令,测点信息用于指示与嵌入式设备连接的各下位机的测点;基于协议信息、命令信息和测点信息,进行程序转码,生成二进制文件;将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置。
14.在一种可能的实现方式中,协议信息包括协议名称、协议版本、厂家名称、设备类型、协议标识和命令数量;命令信息包括各控制命令中每一个控制命令的通讯功能码、协议命令编号、命令标识、测点个数、命令描述;测点信息包括每一个测点的测点标识和测点数据类型;处理模块,具体用于确定协议信息中各信息、命令信息中各信息和测点信息中各信息对应的标准数据类型,同类标准数据类型对应的内存占用长度相同;基于标准数据类型,对协议信息、命令信息和测点信息,进行二进制转换,生成二进制文件。
15.在一种可能的实现方式中,二进制文件包括校验文件头,协议结构体,命令结构体和测点结构体;处理模块,具体用于基于协议信息中各信息对应的标准数据类型,对协议信息中的各信息进行二进制代码转换,生成协议结构体;其中,不同协议对应的协议结构体对应的内存占用长度相同;基于命令信息中各信息对应的标准数据类型,对命令信息中各控制命令,进行二进制代码转换,生成各控制命令对应的命令结构体;每一个命令结构体包括通讯功能码、寄存器地址、寄存器数量、协议命令编号、命令标识、测点个数、命令描述和crc校验值;其中,各命令结构体对应的内存占用长度相同;基于测点信息中各信息对应的标准数据类型,对各测点进行内存排序,生成各测点对应的测点结构体,每一个测点结构体包括寄存器地址、寄存器类型、端类型、测点标识、寄存器参数、放大系数、修正值、精度、控制命令值、标准数据类型、标准偏移地址、测点描述;测点的标准偏移地址用于指示嵌入式设备接收到该测点的实时数据后,实时数据的存储地址;其中,各测点结构体对应的内存占用长度相同;对协议结构体、各命令结构体和各测点结构体进行一致性加密,添加校验文件头,生成二进制文件。
16.在一种可能的实现方式中,处理模块,具体用于对于相同类型的通信协议对应的各测点,对该各测点进行排序,生成测点并集;基于所述测点并集中各测点的标准数据类型,确定各测点的内存占用长度和所述测点并集对应的内存占用总长度;基于所述测点并集中各测点的先后顺序,所述各测点的内存占用长度和所述测点并集对应的内存占用总长度,计算各测点在共享内存空间中的标准偏移地址;所述共享内存空间为与所述测点并集中各测点的实时数据的存储区,所述测点的标准偏移地址为该测点的实时数据的起始存储地址相对于所述共享内存空间的起始地址的偏移量。
17.第三方面,本发明实施例提供了一种嵌入式设备的通信方法,该通信方法基于上述第一方面以及第一方面中任一种可能的实现方式所述的嵌入式设备的配置方法,该嵌入式设备与多个下位机连接,每个下位机设置有一个或多个测点,该通信方法包括:接收目标测点的实时数据;目标测点为多个测点中的任一测点;根据二进制文件查询目标测点的测点结构体,得到目标测点的标准偏移地址,目标测点的标准偏移地址用于表示目标测点的实时数据在共享内存空间中的存储地址,所述二进制文件为所述嵌入式设备的配置文件;
基于标准偏移地址,将目标测点的实时数据存储至共享内存空间。
18.在一种可能的实现方式中,基于标准偏移地址,将目标测点的实时数据存储至共享内存空间,包括:查询目标测点的测点结构体,得到目标测点的标准数据类型;将目标测点的实时数据的数据类型转换为标准数据类型,得到转换后的实时数据;将转换后的实时数据存储至标准偏移地址对应的存储地址。
19.在一种可能的实现方式中,嵌入式设备还与上位机连接,方法还包括:接收上位机发送的数据获取请求,数据获取请求用于请求获取目标测点的实时数据;查询目标测点的测点结构体,得到目标测点的标准偏移地址;从标准偏移地址对应的存储地址,得到目标测点的实时数据;向上位机发送目标测点的实时数据。
20.第四方面,本发明实施例提供了一种嵌入式设备的通信装置,该通信装置基于上述第一方面以及第一方面中任一种可能的实现方式所述的嵌入式设备的配置方法,该嵌入式设备与多个下位机连接,每个下位机设置有一个或多个测点,该通信装置包括:通信模块,用于接收目标测点的实时数据;目标测点为多个测点中的任一测点;处理模块,用于根据二进制文件查询目标测点的测点结构体,得到目标测点的标准偏移地址,目标测点的标准偏移地址用于表示目标测点的实时数据在共享内存空间中的存储地址,所述二进制文件为所述嵌入式设备的配置文件;基于标准偏移地址,将目标测点的实时数据存储至共享内存空间。
21.在一种可能的实现方式中,处理模块,具体用于查询目标测点的测点结构体,得到目标测点的标准数据类型;将目标测点的实时数据的数据类型转换为标准数据类型,得到转换后的实时数据;将转换后的实时数据存储至标准偏移地址对应的存储地址。
22.在一种可能的实现方式中,嵌入式设备还与上位机连接,通信模块,还用于接收上位机发送的数据获取请求,数据获取请求用于请求获取目标测点的实时数据;处理模块,还用于查询目标测点的测点结构体,得到目标测点的标准偏移地址;从标准偏移地址对应的存储地址,得到目标测点的实时数据;通信模块,还用于向上位机发送目标测点的实时数据。
23.第五方面,本发明实施例提供了一种电子设备,所述电子设备包括存储器和处理器,该存储器存储有计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序执行如上述第一方面以及第一方面中任一种可能的实现方式所述方法的步骤。
24.第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面以及第一方面中任一种可能的实现方式所述方法的步骤。
25.上述第二方面至第六方面中任一种实现方式所带来的技术效果可以参见第一方面对应实现方式所带来的技术效果,此处不再赘述。
附图说明
26.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1是本发明实施例提供的一种嵌入式设备的配置方法的应用场景示意图;
28.图2是本发明实施例提供的一种嵌入式设备的配置方法的流程示意图;
29.图3是本发明实施例提供的一种二进制文件的结构示意图;
30.图4是本发明实施例提供的另一种嵌入式设备的配置方法的流程示意图;
31.图5是本发明实施例提供的一种嵌入式设备的通信方法的流程示意图;
32.图6是本发明实施例提供的一种嵌入式设备的配置装置的结构示意图;
33.图7是本发明实施例提供的一种嵌入式设备的通信装置的结构示意图;
34.图8是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
35.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
36.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
37.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图通过具体实施例来进行说明。
38.图1为本发明实施例提供的嵌入式设备的配置方法的应用场景示意图。该应用场景中包括上位机100、嵌入式设备110和多个下位机。
39.在一些实施例中,上位机100可以为服务器、计算机、笔记本电脑、移动终端、平板电脑等设备。
40.在一些实施例中,下位机可以为逆变器、ups或储能装置。示例性的,第一下位机121可以为逆变器,第三下位机123可以为ups。
41.在一些实施例中,嵌入式设备110与下位机之间可以为有线连接。示例性的,第一下位机121和第二下位机122,与嵌入式设备110之间为有线连接。又一示例性的,第三下位机123和第四下位机124,与嵌入式设备110之间为无线连接。
42.需要说明的是,嵌入式设备110对下位机的电压或电流进行监测,并将监测到的数据传输至上位机,实现对逆变器、ups、储能装置等设备的状态监测。当下位机增加或减少时,需要对嵌入式设备的配置文件进行更新,以满足嵌入式设备的实际监测需求。目前嵌入式设备的配置方法存在配置文件庞大、内存资源有限,导致增补或更新时周期较长,容易产生更新中断甚至更新失败等问题。
43.为解决上述技术问题,如图2所示,本发明实施例提供了一种嵌入式设备的配置方法。执行主体为嵌入式设备的配置装置,该配置方法包括步骤s201-s204。
44.s201、获取嵌入式设备的配置文件。
45.在一些实施例中,配置文件的格式为xml格式或json格式。
46.s202、对配置文件进行解析,得到配置文件中包含的协议信息、命令信息和测点信
息。
47.在一些实施例中,协议信息用于指示嵌入式设备采用的通信协议。
48.示例性的,协议信息包括协议名称、协议版本、厂家名称、设备类型、协议标识和命令数量。
49.在一些实施例中,命令信息用于指示配置文件中各控制命令。
50.示例性的,命令信息包括各控制命令中每一个控制命令的通讯功能码、协议命令编号、命令标识、测点个数、命令描述。
51.在一些实施例中,测点信息用于指示与嵌入式设备连接的各下位机的测点。
52.示例性的,测点信息包括每一个测点的测点标识和测点数据类型。
53.s203、基于协议信息、命令信息和测点信息,进行程序转码,生成二进制文件。
54.在一些实施例中,二进制文件包括校验文件头,协议结构体,命令结构体和测点结构体。示例性的,如图3所示,二进制文件可以包括一个校验文件头、一个协议结构体、多个命令结构体和多个测点结构体。其中,每个命令结构体对应多个测点结构体。
55.在一些实施例中,校验文件头用于对二进制文件进行一致性校验。嵌入式设备可以基于校验文件头进行一致性校验,验证二进制文件的合法性,确保接收到的二进制文件为正确版本。
56.示例性的,一致性校验包括md5校验、sha1校验或gpg校验,对此不作限定。
57.作为一种可能的实现方式,配置装置可以确定协议信息中各信息、命令信息中各信息和测点信息中各信息对应的标准数据类型,基于标准数据类型,对协议信息、命令信息和测点信息,进行二进制转换,生成二进制文件。其中,同类标准数据类型对应的内存占用长度相同。
58.示例性的,标准数据类型的内存占用长度如表1所示。
59.表1
[0060][0061]
作为一种可能的实现方式,配置装置可以基于步骤s2031-s2034,进行二进制转换,生成二进制文件。
[0062]
s2031、基于协议信息中各信息对应的标准数据类型,对协议信息中的各信息进行
二进制代码转换,生成协议结构体。
[0063]
本技术实施例中,协议结构体包括协议名称、协议版本、厂家名称、设备大类、协议id、设备类型id、共享内存长度和命令数量。
[0064]
其中,不同协议对应的协议结构体对应的内存占用长度相同。
[0065]
示例性的,协议结构体中各信息的内存占用长度如表2所示。
[0066]
表2
[0067][0068]
s2032、基于命令信息中各信息对应的标准数据类型,对命令信息中各控制命令,进行二进制代码转换,生成各控制命令对应的命令结构体。
[0069]
本技术实施例中,每一个命令结构体包括通讯功能码、寄存器地址、寄存器数量、协议命令编号、命令标识、测点个数、命令描述和crc校验值。
[0070]
其中,各命令结构体对应的内存占用长度相同。
[0071]
示例性的,命令结构体中各信息的内存占用长度如表3所示。
[0072]
表3
[0073][0074][0075]
s2033、基于测点信息中各信息对应的标准数据类型,对各测点进行内存排序,生成各测点对应的测点结构体。
[0076]
本技术实施例中,每一个测点结构体包括寄存器地址、寄存器类型、端类型、测点标识、寄存器参数、放大系数、修正值、精度、控制命令值、标准数据类型、标准偏移地址、测点描述;测点的标准偏移地址用于指示嵌入式设备接收到该测点的实时数据后,实时数据
的存储地址。
[0077]
其中,各测点结构体对应的内存占用长度相同。
[0078]
示例性的,测点结构体中各信息的内存占用长度如表4所示。
[0079]
表4
[0080][0081]
作为一种可能的实现方式,对于相同类型的通信协议对应的各测点,对该各测点进行排序,生成测点并集;基于所述测点并集中各测点的标准数据类型,确定各测点的内存占用长度和所述测点并集对应的内存占用总长度;基于所述测点并集中各测点的先后顺序,所述各测点的内存占用长度和所述测点并集对应的内存占用总长度,计算各测点在共享内存空间中的标准偏移地址。
[0082]
其中,所述共享内存空间为与所述测点并集中各测点的实时数据的存储区,所述测点的标准偏移地址为该测点的实时数据的起始存储地址相对于所述共享内存空间的起始地址的偏移量。
[0083]
s2034、对协议结构体、各命令结构体和各测点结构体进行一致性加密,添加校验文件头,生成二进制文件。
[0084]
需要说明的是,相同设备类型id的协议中测点数量与类型基本相似,配置装置对于相同设备类型id的协议,将测点id的并集进行排序,结合标准数据类型的内存占用长度,计算出协议解析后测点数据保存的偏移位置和协议解析后所有测点数据保存的总长度。这种共享内存的数据存储方式,与常用的使用相同类型保存数据的方式,可以减少内存的使用,并兼容同类型协议。
[0085]
需要说明的是,嵌入式设备的单片机在运行过程中,通过485串口发送命令到下位机,下位机回复对应请求的数据,根据回复的数据与该命令对应的测点信息进行解析,将解析出的数据保存到对应测点在共享内存中的偏移地址并保存对应的数据类型。单片机通过测点在共享内存的偏移地址与数据类型可以获取出该测点的值,实现测点数据的存储与获取。
[0086]
s204、将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置。
[0087]
作为一种可能的实现方式,配置装置可以直接将二进制文件刻录至嵌入式设备,实现对嵌入式设备的配置。
[0088]
本发明提供一种嵌入式设备的配置方法,通过对嵌入式设备的配置文件进行解析,得到配置文件中协议信息、命令信息和测点信息,之后对配置文件中通信协议、各控制命令和各测点,进行程序编写,生成二进制文件,将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置。一方面,二进制文件中包含配置文件中通信协议、各控制命令和各测点的信息,可以实现嵌入式设备的完整配置,配置完成的嵌入式设备可以正常运行。另一方面,二进制文件的文件大小小于xml格式或json格式的配置文件,提高配置过程中的数据传输速度,减小了配置过程中嵌入式设备的内存消耗。且二进制文件无需嵌入式设备解析,直接复制刻录即可,降低了配置过程中的解析时间,缩短嵌入式设备在进行设备协议增补或更新时的更新周期,提高嵌入式设备配置文件更新的成功率。
[0089]
可选的,如图4所示,本发明实施例提供的嵌入式设备的配置方法,在步骤s204之后还包括:步骤s301-s304。
[0090]
s301、确定配置文件的更新信息。
[0091]
其中,更新信息用于指示对配置文件中控制命令或测点的更新操作,更新操作包括新增或删除。
[0092]
作为一种可能的实现方式,配置装置可以接收用户输入的更新指示,基于用户输入的更新指示,确定配置文件的更新信息。其中,更新指示包括对配置文件中控制命令或测点的更新操作。
[0093]
作为另一种可能的实现方式,配置装置可以接收用户输入的更新后的配置文件,基于更新后的配置文件和配置文件,确定配置文件的更新信息。
[0094]
s302、若更新指示信息为新增控制命令或新增测点,则基于新增控制命令的命令信息,生成该新增控制命令对应的命令结构体;或者,基于新增测点的测点信息,生成该新增测点对应的测点结构体;将新生成的命令结构体或测点结构体添加至二进制文件,生成更新后的二进制文件;
[0095]
s303、若更新指示信息为删除控制命令或删除测点,则将二进制文件中该删除控制命令对应的命令结构体删除,或者,将二进制文件中该删除测点对应的测点结构体删除,生成更新后的二进制文件;
[0096]
s304、将更新后的二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置文件的更新。
[0097]
需要说明的是,由于不同协议对应的协议结构体对应的内存占用长度相同。各命令结构体对应的内存占用长度相同。各测点结构体对应的内存占用长度相同。如此,配置装置可以直接对二进制文件中的协议结构体,命令结构体和测点结构体进行结构化新增或删除,有利于二进制文件的生成,提高了二进制文件的重生成速度,从而提高嵌入式设备的配置效率,提高嵌入式设备配置文件更新的成功率。
[0098]
如图5所示,本发明实施例提供了一种嵌入式设备的通信方法。该通信方法基于上述实施例中所述的嵌入式设备的配置方法,该嵌入式设备与多个下位机连接,每个下位机设置有一个或多个测点。该通信方法包括步骤s401-s403。
[0099]
s401、接收目标测点的实时数据。
[0100]
其中,目标测点为多个测点中的任一测点;
[0101]
s402、根据二进制文件查询目标测点的测点结构体,得到目标测点的标准偏移地址。
[0102]
本技术实施例中,目标测点的标准偏移地址用于指示目标测点的实时数据在共享内存空间中的存储地址,二进制文件为嵌入式设备的配置文件。
[0103]
s403、基于标准偏移地址,将目标测点的实时数据存储至共享内存空间。
[0104]
作为一种可能的实现方式,步骤s403可以具体实现为s4031-s4033。
[0105]
s4031、查询目标测点的测点结构体,得到目标测点的标准数据类型。
[0106]
s4032、将目标测点的实时数据的数据类型转换为标准数据类型,得到转换后的实时数据。
[0107]
s4033、将转换后的实时数据存储至标准偏移地址对应的存储地址。
[0108]
可选的,本发明实施例提供的嵌入式设备的通信方法还包括步骤s501-s504。
[0109]
s501、接收上位机发送的数据获取请求。
[0110]
其中,数据获取请求用于请求获取目标测点的实时数据;
[0111]
s502、查询目标测点的测点结构体,得到目标测点的标准偏移地址。
[0112]
s503、从标准偏移地址对应的存储地址,得到目标测点的实时数据。
[0113]
s504、向上位机发送目标测点的实时数据。
[0114]
相比于通过测点标识查询存储空间以存储或获取测点数据的方案,本发明提供一种嵌入式设备的通信方法,通过测点结构体中的标准偏移地址,确定测点的实时数据在共享内存空间中的存储地址,直接存储或获取测点的实时数据,提高了数据的存储或获取速度,提高了嵌入式设备的处理能力。
[0115]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0116]
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
[0117]
图6示出了本发明实施例提供的一种嵌入式设备的配置装置的结构示意图。该嵌入式设备的配置装置600包括第一通信模块601和第一处理模块602。
[0118]
第一通信模块601,用于获取嵌入式设备的配置文件,配置文件的格式为xml格式或json格式。
[0119]
第一处理模块602,用于对配置文件进行解析,得到配置文件中包含的协议信息、命令信息和测点信息;协议信息用于指示嵌入式设备采用的通信协议,命令信息用于指示配置文件中各控制命令,测点信息用于指示与嵌入式设备连接的各下位机的测点;基于协议信息、命令信息和测点信息,进行程序转码,生成二进制文件;将二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置。
[0120]
在一种可能的实现方式中,协议信息包括协议名称、协议版本、厂家名称、设备类型、协议标识和命令数量;命令信息包括各控制命令中每一个控制命令的通讯功能码、协议命令编号、命令标识、测点个数、命令描述;测点信息包括每一个测点的测点标识和测点数
据类型;第一处理模块602,具体用于确定协议信息中各信息、命令信息中各信息和测点信息中各信息对应的标准数据类型,同类标准数据类型对应的内存占用长度相同;基于标准数据类型,对协议信息、命令信息和测点信息,进行二进制转换,生成二进制文件。
[0121]
在一种可能的实现方式中,二进制文件包括校验文件头,协议结构体,命令结构体和测点结构体;第一处理模块602,具体用于基于协议信息中各信息对应的标准数据类型,对协议信息中的各信息进行二进制代码转换,生成协议结构体;其中,不同协议对应的协议结构体对应的内存占用长度相同;基于命令信息中各信息对应的标准数据类型,对命令信息中各控制命令,进行二进制代码转换,生成各控制命令对应的命令结构体;每一个命令结构体包括通讯功能码、寄存器地址、寄存器数量、协议命令编号、命令标识、测点个数、命令描述和crc校验值;其中,各命令结构体对应的内存占用长度相同;基于测点信息中各信息对应的标准数据类型,对各测点进行内存排序,生成各测点对应的测点结构体,每一个测点结构体包括寄存器地址、寄存器类型、端类型、测点标识、寄存器参数、放大系数、修正值、精度、控制命令值、标准数据类型、标准偏移地址、测点描述;测点的标准偏移地址用于指示嵌入式设备接收到该测点的实时数据后,实时数据的存储地址;其中,各测点结构体对应的内存占用长度相同;对协议结构体、各命令结构体和各测点结构体进行一致性加密,添加校验文件头,生成二进制文件。
[0122]
在一种可能的实现方式中,第一处理模块602,具体用于对于相同类型的通信协议对应的各测点,对该各测点进行排序,生成测点并集;基于所述测点并集中各测点的标准数据类型,确定各测点的内存占用长度和所述测点并集对应的内存占用总长度;基于所述测点并集中各测点的先后顺序,所述各测点的内存占用长度和所述测点并集对应的内存占用总长度,计算各测点在共享内存空间中的标准偏移地址;所述共享内存空间为与所述测点并集中各测点的实时数据的存储区,所述测点的标准偏移地址为该测点的实时数据的起始存储地址相对于所述共享内存空间的起始地址的偏移量。
[0123]
在一种可能的实现方式中,第一处理模块602,还用于确定配置文件的更新信息,更新信息用于指示对配置文件中控制命令或测点的更新操作,更新操作包括新增或删除;若更新指示信息为新增控制命令或新增测点,则基于新增控制命令的命令信息,生成该新增控制命令对应的命令结构体;或者,基于新增测点的测点信息,生成该新增测点对应的测点结构体;将新生成的命令结构体或测点结构体添加至二进制文件,生成更新后的二进制文件;若更新指示信息为删除控制命令或删除测点,则将二进制文件中该删除控制命令对应的命令结构体删除,或者,将二进制文件中该删除测点对应的测点结构体删除,生成更新后的二进制文件;将更新后的二进制文件复制到嵌入式设备,以实现对嵌入式设备的配置文件的更新。
[0124]
在一种可能的实现方式中,第一通信模块601,还用于接收用户输入的更新指示,更新指示包括对配置文件中控制命令或测点的更新操作;相应的,第一处理模块602,还用于基于用户输入的更新指示,确定配置文件的更新信息。
[0125]
在一种可能的实现方式中,第一通信模块601,还用于接收用户输入的更新后的配置文件;相应的,第一处理模块602,还用于基于更新后的配置文件和配置文件,确定配置文件的更新信息。
[0126]
图7示出了本发明实施例提供的一种嵌入式设备的通信装置的结构示意图。该通
信装置基于上述第一方面以及第一方面中任一种可能的实现方式所述的嵌入式设备的配置方法,该嵌入式设备与多个下位机连接,每个下位机设置有一个或多个测点。该嵌入式设备的通信装置700包括第二通信模块701和第二处理模块702。
[0127]
第二通信模块701,用于接收目标测点的实时数据;目标测点为多个测点中的任一测点。
[0128]
第二处理模块702,用于根据二进制文件查询目标测点的测点结构体,得到目标测点的标准偏移地址,目标测点的标准偏移地址用于表示目标测点的实时数据在共享内存空间中的存储地址,所述二进制文件为所述嵌入式设备的配置文件;基于标准偏移地址,将目标测点的实时数据存储至共享内存空间。
[0129]
在一种可能的实现方式中,第二处理模块702,具体用于查询目标测点的测点结构体,得到目标测点的标准数据类型;将目标测点的实时数据的数据类型转换为标准数据类型,得到转换后的实时数据;将转换后的实时数据存储至标准偏移地址对应的存储地址。
[0130]
在一种可能的实现方式中,嵌入式设备还与上位机连接,第二通信模块701,还用于接收上位机发送的数据获取请求,数据获取请求用于请求获取目标测点的实时数据;第二处理模块702,还用于查询目标测点的测点结构体,得到目标测点的标准偏移地址;从标准偏移地址对应的存储地址,得到目标测点的实时数据;第二通信模块701,还用于向上位机发送目标测点的实时数据。
[0131]
图8是本发明实施例提供的一种电子设备的结构示意图。如图8所示,该实施例的电子设备800包括:处理器801、存储器802以及存储在所述存储器802中并可在所述处理器801上运行的计算机程序803。所述处理器801执行所述计算机程序803时实现上述各方法实施例中的步骤,例如图2所示的步骤201至步骤204。或者,所述处理器801执行所述计算机程序803时实现上述各装置实施例中各模块/单元的功能,例如,图6所示第一通信模块601和第一处理模块602的功能。
[0132]
示例性的,所述计算机程序803可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器802中,并由所述处理器801执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序803在所述电子设备800中的执行过程。例如,所述计算机程序803可以被分割成图6所示第一通信模块601和第一处理模块602。
[0133]
所称处理器801可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0134]
所述存储器802可以是所述电子设备800的内部存储单元,例如电子设备800的硬盘或内存。所述存储器802也可以是所述电子设备800的外部存储设备,例如所述电子设备800上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器802还可以既包括所述电子设备800的内部存储单元也包括外部存储设备。所述存储器802用于存储所述计算机程序以
及所述终端所需的其他程序和数据。所述存储器802还可以用于暂时地存储已经输出或者将要输出的数据。
[0135]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0136]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0137]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0138]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。
[0139]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献