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

数据读取方法、装置、存储介质及上位机与流程

2022-09-15 00:49:20 来源:中国专利 TAG:


1.本技术涉及工业自动化控制领域,尤其涉及一种数据读取方法、装置、存储介质及上位机。


背景技术:

2.上位机和工业设备进行对接时,上位机会不会关注工业设备采集的所有的数据,一般是选择性地对工业设备中的部分数据进行读取,这样导致上位机读取数据的地址往往是不连续的,而目前的工业通信协议提供的采集接口都是针对连续地址的,如果数据的地址不连续时,上位机需要和工业设备之间之间执行多次交互以实现数据的读取,即上位机就需要执行多次数据读取操作,这样会增大读取数据的时延以及增加工业设备的处理开销。


技术实现要素:

3.本技术实施例提供了数据读取方法、装置、存储介质及上位机,可以解决现有技术中上位机读取不连续分布的数据时交互次数较多的问题。所述技术方案如下:
4.第一方面,本技术实施例提供了一种数据读取方法,所述方法包括:
5.获取多个地址;其中,所述多个地址呈不连续分布;
6.根据预设的多个分区对所述多个地址进行分类,得到各个分区的地址集合;
7.对于各个分区的地址集合,若所述分区的地址集合的地址数量大于1,且所述分区的地址集合的地址呈不连续分布,确定所述分区的地址集合中的最小地址和最大地址;
8.在工业设备中读取所述最小地址和所述最大地址之间的连续地址块对应的数据;
9.根据所述分区的地址集合在读取的数据中筛选出目标数据。
10.第二方面,本技术实施例提供了一种数据读取装置,所述装置包括:
11.获取单元,用于获取多个地址;其中,所述多个地址呈不连续分布;
12.分类单元,用于根据预设的多个分区对所述多个地址进行分类,得到各个分区的地址集合;
13.确定单元,用于对于各个分区的地址集合,若所述分区的地址集合的地址数量大于1,且所述分区的地址集合的地址呈不连续分布,确定所述分区的地址集合中的最小地址和最大地址;
14.读取单元,用于在工业设备中读取所述最小地址和所述最大地址之间的连续地址块对应的数据;
15.筛选单元,用于根据所述分区的地址集合在读取的数据中筛选出目标数据。
16.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
17.第四方面,本技术实施例提供一种上位机,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
18.本技术一些实施例提供的技术方案带来的有益效果至少包括:
19.上位机在获取工业设备中不连续地址的数据时,确定不连续地址中的最小地址和最大地址,基于最小地址和最大地址生成连续地址块,在工业设备中获取连续地址块指示的数据,然后根据不连续地址在获取的数据中进行筛选得到目标数据,只需要一次数据读取操作即可读取到所需的数据,可以减少上位机和工业设备之间的交互次数,减低工业设备的处理开销,以及提高工业设备采集数据的速度。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
21.图1是本技术实施例提供的网络架构示意图;
22.图2是本技术实施例提供的数据读取方法的流程示意图;
23.图3是本技术实施例提供的数据读取方法的另一流程示意图;
24.图4是本技术提供的一种数据读取装置的结构示意图;
25.图5是本技术提供的一种上位机的结构示意图。
具体实施方式
26.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
27.需要说明的是,本技术提供的数据读取方法一般由上位机执行,相应的,数据读取装置一般设置于上位机中。
28.图1示出了可以应用于本技术的数据读取方法或数据读取装置的示例性系统架构。
29.如图1所示,系统架构可以包括:上位机101和工业设备102。上位机101和工业设备102之间可以通过网络进行通信,网络用于上述各个单元之间提供通信链路的介质。网络可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆等,无线通信链路包括蓝牙通信链路、无线保真(wireless-fidelity,wi-fi)通信链路或微波通信链路等。
30.其中,上位机101用于根据需求读取工业设备102中的数据,上位机101和工业设备102之间可以通过modbus或snap7等工业通信协议进行通信。工业设备102可以为自动制样机和存样机等,用于实时采集数据,以及将数据存储到存储单元中,每个存储单元具有一个地址。
31.上位机101具有显示屏,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等等。当上位机101为软件时,可以是安装上述所列举的上位机中。其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
32.应理解,图1中的上位机、网络和工业设备的数目仅是示意性的。根据实现需要,可
以是任意数量的上位机、网络和工业设备。
33.下面将结合附图2,对本技术实施例提供的数据读取方法进行详细介绍。其中,本技术实施例中的数据读取装置可以是图1所示的上位机。
34.请参见图2,为本技术实施例提供了一种数据读取方法的流程示意图。如图2所示,本技术实施例的所述方法可以包括以下步骤:
35.s201、获取多个地址。
36.其中,上位机根据采集需求确定不连续分布的多个地址,地址为工业设备中数据的存储地址,地址对应工业设备中的一个存储单元,存储单元用于存储采集的数据,存储单元的大小可根据实际需求而定,本技术不作限制,例如:存储单元的大小为1个字节。工业设备中的地址采用顺序编号,其最大容量由硬件能力决定。不连续分布表示相邻的两个地址之间存在地址间隔。
37.s202、根据预设的多个分区对多个地址进行分类,得到各个分区的地址集合。
38.其中,工业设备的存储空间划分为多个分区,每个分区对应一个地址范围,分区的数量由工业设备的硬件能力决定,本技术不作限制。上位机无法同时读取两个或两个以上的分区中的数据,因此需要根据工业设备预设的多个分区对s201中的各个地址进行分类,确定各个地址所属的分区,然后基于同一分区内的地址进行数据读取操作。本技术对多个地址进行分类的方法可以是:各个分区设置有一个地址范围,通过遍历的方式确定地址位于的地址范围,那么该地址属于地址范围对应的分区,以实现属于同一分区的地址归为一个地址集合。
39.例如:工业设备设置有3个分区,分区1的地址范围为地址1~地址100,分区2的地址范围为地址101~地址200,分区3的地址范围为地址201~地址300。上位机获取待的多个地址为地址1、地址2、地址102、地址105、地址250、地址260,根据上面的各个分区的地址范围,确定地址1、地址2位于分区1,归为分区1的地址集合;地址102和地址105位于分区2,归为分区2的地址集合;地址250和地址260位于分区3中,归为分区3的地址集合。
40.s203、对于各个分区的地址集合,若分区的地址集合的地址数量大于1,且分区的地址集合的地址呈不连续分布,确定分区的地址集合中的最小地址和最大地址。
41.其中,分类完成后,确定各个分区的地址集合包含的地址,统计各个分区的地址集合的地址数量,若地址数量大于1且分区的地址呈不连续分布,确定分区的地址集合中的最小地址和最大地址。例如:假设地址采用数字来表示,某个分区的地址集合包括:地址1、地址2、地址6,该地址集合的地址数量为3且地址呈不连续分布,确定出分区的地址集合的最小地址为地址1,最大地址为地址6。
42.s204、在工业设备中读取最小地址和最大地址之间的连续地址块对应的数据。
43.其中,根据最小地址和最大地址确定连续地址块,连续地址块表示最小地址和最大地址之间所有的地址,根据地址块在工业设备中执行一次读取操作。例如:根据s203的例子,根据最小地址1和最小地址6确定连续地址块,连续地址块包括的地址为:地址1、地址2、地址3、地址4、地址5和地址6,上位机通过一次读取操作在工业设备中读取地址1~地址6对应的数据。
44.s205、根据分区的地址集合在读取的数据中筛选出目标数据。
45.例如:对于读取到的数据,根据分区的地址集合在该数据中筛选出上位机真正需
要的目标数据。例如:根据s203的例子,根据地址1、地址2和地址6在读取的数据中筛选出对应的目标数据。本技术在读取工业设备的数据过程中,仅需要对上位机进行改进,不需要对工业设备进行改进,因此不会增加工业设备的处理开销,保证数据采集的实时性。
46.本技术实施例中,上位机在获取工业设备中不连续地址的数据时,确定不连续地址中的最小地址和最大地址,基于最小地址和最大地址生成连续地址块,在工业设备中获取连续地址块指示的数据,然后根据不连续地址在获取的数据中进行筛选得到目标数据,只需要一次数据读取操作即可读取到所需的数据,可以减少上位机和工业设备之间的交互次数,减低工业设备的处理开销,以及提高工业设备采集数据的速度。
47.参见图3,为本技术实施例提供的一种数据读取方法的另一流程示意图,在本技术实施例中,所述方法包括:
48.s301、获取多个地址。
49.其中,多个地址呈不连续分布,上位机根据采集需求获取待采集的数据的多个地址,多个地址呈不连续分布。
50.s302、根据预设的多个分区对多个地址进行分类,得到各个分区的地址集合。
51.其中,工业设备的存储空间划分为多个分区,每个分区对应一个地址范围,对于多个地址中的每个地址,判断地址位于哪个地址范围,将地址添加进分区对应的地址集合中,得到各个分区的地址集合。
52.s303、判断分区的地址集合的地址数量是否大于1。
53.其中,对于每个分区的地址集合,判断分区的地址集合的地址数量,若数量大于1,执行s304,若数量小于或等于1,则执行s311。
54.s304、判断分区的地址集合的地址是否呈不连续分布。
55.其中,不连续分布表示相邻的两个地址之间存在地址间隔,例如:地址使用数字来表示,地址1和地址3呈不连续分布,地址1和地址3之间的地址间隔为1,即中间间隔有一个地址。地址1和地址2之间的地址间隔为0,即地址1和地址2呈连续分布。
56.s305、对分区的地址集合内的地址进行升序排列或降序排列。
57.s306、根据排列结果确定分区的地址集合中的最小地址和最大地址。
58.s307、判断地址间隔是否小于或等于间隔阈值;或数据量是否小于或等于数据量阈值。
59.其中,上位机预存储有间隔阈值或数据量阈值,地址间隔表示两个地址之间间隔的地址数量,数据量表示地址指示的存储单元中的数据大小。例如:最小地址为地址1,最大地址为地址10,那么地址1和地址10之间的地址间隔为9,假设每个存储单元的大小为1字节,那么地址1~地址10之间的数据量为10字节。间隔阈值和数据量阈值可以根据实际需求而定,本技术不作限制。若s307的判断结果为是,则执行s308,若判断结果为否,则执行s312。
60.s308、根据最小地址和最大地址生成连续地址块。
61.其中,连续地址块的起始地址为最小地址,结束地址为最大地址。
62.s309、向工业设备发送数据读取请求。
63.其中,数据读取请求携带该连续地址块,数据读取请求指示工业设备获取连续地址块对应的数据。
64.s310、接收工业设备返回的数据读取响应。
65.其中,接收工业设备返回的数据读取响应,解析数据读取响应得到连续地址块对应的数据,进一步的,数据读取响应中还携带校验信息,例如:校验信息为循环校验位,上位机根据该校验信息验证数据的完整性。
66.s311、根据分区的地址集合在读取的数据中筛选出目标数据。
67.s312、执行数据读取流程。
68.其中,若分区的地址集合的地址数量等于1或地址呈连续分布,向工业设备发送数据读取请求,携带上述的1个地址或连续分布的多个地址,工业设备根据1个地址或连续分布的多个地址获取对应的数据,向上位机发送获取到的数据,上位机由此得到所需的目标数据。
69.s313、将最小地址和最大地址之间的连续地址块划分为多个子地址块。
70.其中,各个子地址块的满足地址间隔小于或等于间隔阈值,或数据量小于或等于数据量阈值。
71.s314、将工业设备中读取各个子地址块对应的数据,以及将读取的数据进行合并。
72.s315、根据分区的地址集合在合并的数据中筛选出目标数据。
73.本技术实施例中,上位机在获取工业设备中不连续地址的数据时,确定不连续地址中的最小地址和最大地址,基于最小地址和最大地址生成连续地址块,在工业设备中获取连续地址块指示的数据,然后根据不连续地址在获取的数据中进行筛选得到目标数据,只需要一次数据读取操作即可读取到所需的数据,可以减少上位机和工业设备之间的交互次数,减低工业设备的处理开销,以及提高工业设备采集数据的速度。
74.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
75.请参见图4,其示出了本技术一个示例性实施例提供的数据读取装置的结构示意图,以下简称装置4。该装置4可以通过软件、硬件或者两者的结合实现成为上位机的全部或一部分。装置4包括:获取单元401、分类单元402、确定单元403、读取单元404、筛选单元405。
76.获取单元401,用于获取多个地址;其中,所述多个地址呈不连续分布;
77.分类单元402,用于根据预设的多个分区对所述多个地址进行分类,得到各个分区的地址集合;
78.确定单元403,用于对于各个分区的地址集合,若所述分区的地址集合的地址数量大于1,且所述分区的地址集合的地址呈不连续分布,确定所述分区的地址集合中的最小地址和最大地址;
79.读取单元404,用于在工业设备中读取所述最小地址和所述最大地址之间的连续地址块对应的数据;
80.筛选单元405,用于根据所述分区的地址集合在读取的数据中筛选出目标数据。
81.在一个或多个可能的实施例中,确定单元403还用于:
82.确定所述最小地址和所述最大地址之间的地址间隔小于或等于间隔阈值;或
83.确定所述最小地址和所述最大地址之间的连续地址对应的数据的数据量小于或等于数据量阈值。
84.在一个或多个可能的实施例中,筛选单元405还用于:
85.若所述最小地址和所述最大地址之间的地址间隔大于所述间隔阈值或数据的数据量大于所述数据量阈值,将所述最小地址和所述最大地址之间的连续地址块划分为多个子地址块;
86.在所述工业设备中读取各个子地址块对应的数据,以及将读取的数据进行合并;
87.根据所述分区的地址集合在合并的数据中筛选出目标数据。
88.在一个或多个可能的实施例中,所述确定所述分区内的最小地址和最大地址,包括:
89.对所述分区的地址集合内的地址进行升序排列或降序排列;
90.根据排列结果确定所述分区的地址集合中的最小地址和最大地址。
91.在一个或多个可能的实施例中,所述在工业设备中读取所述最小地址和所述最大地址之间的连续地址块对应的数据包括:
92.根据所述最小地址和所述最大地址生成连续地址块;
93.向所述工业设备发送数据读取请求;其中,所述数据读取请求携带所述连续地址块,所述数据读取请求用于指示所述工业设备读取所述连续地址块对应的数据;
94.接收所述工业设备返回的数据读取响应;其中,所述数据读取响应携带所述工业设备读取的数据。
95.在一个或多个可能的实施例中,所述数据读取响应携带所述读取的数据的校验信息,所述校验信息用于验证所述读取的数据的完整性。
96.在一个或多个可能的实施例中,各个分区具有一个地址范围,若地址位于地址范围内,则该地址位于该地址范围的地址集合内。
97.需要说明的是,上述实施例提供的装置4在执行数据读取方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的数据读取装置与数据读取方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
98.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
99.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
100.本技术还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的数据读取方法。
101.请参见图5,为本技术实施例提供了一种上位机的结构示意图。如图5所示,所述上位机500可以包括:至少一个处理器501,至少一个网络接口504,用户接口503,存储器505,至少一个通信总线502。
102.其中,通信总线502用于实现这些组件之间的连接通信。
103.其中,用户接口503可以包括显示屏(display)、摄像头(camera),可选用户接口503还可以包括标准的有线接口、无线接口。
104.其中,网络接口504可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
105.其中,处理器501可以包括一个或者多个处理核心。处理器501利用各种接口和线
路连接整个上位机500内的各个部分,通过运行或执行存储在存储器505内的指令、程序、代码集或指令集,以及调用存储在存储器505内的数据,执行上位机500的各种功能和处理数据。可选的,处理器501可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logicarray,pla)中的至少一种硬件形式来实现。处理器501可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器501中,单独通过一块芯片进行实现。
106.其中,存储器505可以包括随机存储器(randomaccess memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器505包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器505可用于存储指令、程序、代码、代码集或指令集。存储器505可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器505可选的还可以是至少一个位于远离前述处理器501的存储装置。如图5所示,作为一种计算机存储介质的存储器505中可以包括操作系统、网络通信模块、用户接口模块以及应用程序。
107.在图5所示的上位机500中,用户接口503主要用于为用户提供输入的接口,获取用户输入的数据;而处理器501可以用于调用存储器505中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
108.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
109.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献