一种工业数据采集存储方法、装置及系统与流程

专利2023-10-12  110



1.本发明涉及数据采集技术领域,具体而言,涉及一种工业数据采集存储方法、装置及系统。


背景技术:

2.工业生产过程中,期望数采程序以相等的时间周期采集指定变量组的值,并且期望每个采集周期中这些变量的采样时刻都是相同的,便于存储以及进一步的数据处理。目前常用的数采程序通过opc接口向数据平台发送需要采集的变量的位号,数据平台则返回该位号对应变量的实时数值。由于网络通讯不稳定、数据请求存在先后顺序等问题,同一变量的采样时刻并不能完全等间隔,每个采样周期各个变量的数据返回时刻也不完全相同。
3.因此,亟待研究一种新的数采方法和系统,以使得同一变量的采样时刻等间隔、并使不同变量在同一采样周期内的采样时刻相同。


技术实现要素:

4.本说明书提供一种工业数据采集存储方法、装置及系统,用以克服现有技术中存在的至少一个技术问题。
5.根据本说明书实施例的第一方面,提供一种工业数据采集存储方法,适于在工业数据采集设备的处理器上执行,包括:接收客户端发送的参数配置文件,根据参数配置文件进行相应配置,所述参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,其中所述名称集合中包含的采集变量的数目为第一数目,所述数据保存周期是预设的采样周期的整数倍,倍数为第二数目,创建以所述第一数目为列数、以所述第二数目为行数的数组;当时钟到达初始基准时刻时,执行数据采集函数,依次获取每一采样周期内的第一数目的各采集变量的采样值,并将当前采样周期内的各个采集变量的采样值保存至所述数组中当前采样周期的对应行、各个采集变量的对应列处;每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值对应的时刻;每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中;直到接收到数据采集结束指令,停止对所述第一数目的采集变量的数据采集。
6.可选地,所述每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值的时刻的步骤,包括:每当一个所述数据保存周期结束时,根据每一采样周期的数组行序号、所述采样周期与所述基准时刻,得到每一采样周期对应的时刻;将所述采样周期对应的时刻作为该采样周期内所有采样变量的采样值对应的时刻,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值的时刻。
7.可选地,在所述每当一个所述数据保存周期结束时,新建以所述第一数目为列数、
以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中的步骤之后,还包括:当写入数据库或者数据文件的采样周期的数目达到预设的第三数目时,创建新的数据库表或数据文件,继续在数据保存周期结束时向所述新的数据库表或数据文件进行数据写入。
8.可选地,所述第三数目大于等于所述第二数目,且所述第三数目是所述第二数目的整数倍。
9.可选地,在所述每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中的步骤之后,还包括:接收客户端发送的读取数据的请求指令,所述请求指令包括待读取变量名称、起始读取时刻以及终止读取时刻,将所述起始读取时刻、所述终止读取时刻与所述数组的当前基准时刻进行比较;当所述起始读取时刻和所述终止读取时刻均不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端;当所述起始读取时刻早于所述数组的当前基准时刻且所述终止读取时刻不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。
10.根据本说明书实施例的第二方面,提供一种工业数据采集存储装置,包括参数配置模块、数据采集模块以及数据存储模块,其中所述参数配置模块,被配置为接收客户端发送的参数配置文件,根据参数配置文件进行相应配置,所述参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,其中所述名称集合中包含的采集变量的数目为第一数目,所述数据保存周期是预设的采样周期的整数倍,倍数为第二数目,创建以所述第一数目为列数、以所述第二数目为行数的数组;所述数据采集模块,被配置为当时钟到达初始基准时刻时,执行数据采集函数,依次获取每一采样周期内的第一数目的各采集变量的采样值,并将当前采样周期内的各个采集变量的采样值保存至所述数组中当前采样周期的对应行、各个采集变量的对应列处;所述数据存储模块,被配置为每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值对应的时刻;每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中;直到接收到数据采集结束指令,停止对所述第一数目的采集变量的数据采集。
11.可选地,所述数据存储模块包括时刻计算子模块以及数据写入子模块,其中所述时刻计算子模块,被配置为每当一个所述数据保存周期结束时,根据每一采样周期的数组行序号、所述采样周期与所述基准时刻,得到每一采样周期对应的时刻;所述数据写入子模块,被配置为将所述采样周期对应的时刻作为该采样周期内所有采样变量的采样值对应的时刻,向存储单元写入该数据保存周期内采集到的采样值及该采样值的时刻。
12.可选地,所述装置还包括存储换页子模块,其中所述存储换页子模块,被配置为当
写入数据库或者数据文件的采样周期的数目达到预设的第三数目时,创建新的数据库表或数据文件,继续在数据保存周期结束时向所述新的数据库表或数据文件进行数据写入。
13.可选地,所述装置还包括数据传输模块,其中所述数据传输模块,被配置为接收客户端发送的读取数据的请求指令,所述请求指令包括待读取变量名称、起始读取时刻以及终止读取时刻,将所述起始读取时刻、所述终止读取时刻与所述数组的当前基准时刻进行比较;当所述起始读取时刻和所述终止读取时刻均不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端;当所述起始读取时刻早于所述数组的当前基准时刻且所述终止读取时刻晚于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。
14.根据本说明书实施例的第三方面,提供一种工业数据采集存储系统,包括主程序、数采装置以及存储单元,其中所述主程序运行于客户端上,根据交互界面获取数据采集参数,向所述数采装置发送参数配置文件;并向所述数采装置及所述存储单元发送读取数据的请求指令后,接收从所述数采装置以及从所述存储单元中返回请求的数据,将得到的同一变量的采样值进行拼接,绘制该变量的趋势图,并按预设的采样周期进行趋势图更新;所述数采装置接收所述主程序发送的文件及指令,执行所述的工业数据采集存储方法的步骤;所述存储单元接收并存储所述数采装置的数据,接收所述主程序发送的读取数据的请求指令,所述请求指令包括所述待读取变量名称、所述起始读取时刻以及所述终止读取时刻,根据所述请求指令,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给所述主程序。
15.本说明书实施例的有益效果如下:
16.本说明书中,提供一种工业数据采集存储方法、装置及系统,该方法将采集数据按照采样周期依次存储至数组中,然后可根据基准时刻计算出采样时刻,实现了使同一变量的采样时刻等间隔、并使不同变量在同一采样周期内的采样时刻相同的效果,有利于后续对数据进行分析使用,提高了采集数据的利用率。另外,将采集到的变量数据保存在数组中,避免存储数据的采样时刻,节省了数采程序的内存空间。此外,累计采集到预设数目个周期后进行一次数据写入,能够有效地避免因频繁写入而对计算机资源的占用,提高采集稳定性。因此,相比于现有技术,本说明书实施例,不仅能够减少由于采样时刻不同而存储大量时刻型数据的问题,并且解决了同一变量采样时刻不完全等间隔,同一数采周期不同变量采样时刻不完全一致的问题,还可以降低对计算机性能的要求,克服了现有技术的缺点,做出了具有创造性的贡献。
17.本说明书实施例的创新点包括:
18.1、本说明书实施例中,在工业数据采集过程中将多个变量在不同周期内的采样值依次存储到多行多列的数组中,当数组达到预设的存储量之后,向数据库或数据文件写入,通过数组使得一个采样周期内不同变量的采样时刻能够保持一致,并且使得同一变量的不同周期的采样时刻等间隔,实现了采集数据的自动保存为等间隔的数据,有利于后续对数
据进行分析使用,提高了采集数据的利用率,是本说明书实施例的创新点之一。
19.2、本说明书实施例中,将采集数据存储于数组中,避免了对采集时刻的存储,能够节省用于存储采集时刻的内存空间,是本说明书实施例的创新点之一。
20.3、本说明书实施例中,在累计采集到预设数目个采样周期后进行一次数据写入,能够有效地避免因频繁写入而对计算机资源的占用,从而得以提高整个数采系统的稳定性,是本说明书实施例的创新点之一。
附图说明
21.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本说明书一个实施例的一种工业数据采集存储方法的流程示意图;
23.图2为本说明书一个实施例的一种工业数据采集存储装置的结构示意图;
24.图3为本说明书一个实施例的一种工业数据采集存储系统的结构示意图。
具体实施方式
25.下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.需要说明的是,本说明书实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.本说明书实施例公开了一种工业数据采集存储方法、装置及系统,以下分别进行详细说明。
28.图1为本说明书一个实施例的一种工业数据采集存储方法的流程示意图。如图1所示,一种工业数据采集存储方法,适于在工业数据采集设备的处理器上执行,包括:
29.s110、接收客户端发送的参数配置文件,根据参数配置文件进行相应配置,所述参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,其中所述名称集合中包含的采集变量的数目为第一数目,所述数据保存周期是预设的采样周期的整数倍,倍数为第二数目,创建以所述第一数目为列数、以所述第二数目为行数的数组。
30.用户通过交互界面的配置页面对数采程序的参数进行配置,并生成配置文件,所述参数配置文件还包括数据平台服务器的地址、账号及密码等信息,用于数据平台连接进行数据采集;还包括存储采集数据的数据库的通讯地址等信息、存储采集数据的数据文本的名称及格式等信息,用于将采集到的数据写入相应的数据库或数据文件。
31.在具体实施例中,可以基于数采开始时刻向后确定一个基准时刻,如果用户对存储的时刻有要求时,如需要整十秒,可由开始时刻向后调整,以整十秒的开始时刻为基准时
刻。
32.s120、当时钟到达初始基准时刻时,执行数据采集函数,依次获取每一采样周期内的第一数目的各采集变量的采样值,并将当前采样周期内的各个采集变量的采样值保存至所述数组中当前采样周期的对应行、各个采集变量的对应列处。
33.举例如,用户指定采集的变量m个和数据保存周期tsave,数据保存周期tsave是采样周期ts的整数n倍;创建n行m列的数组array,将这个数组的所有元素初始化为nan。
34.当时钟到达基准时刻tref时,启动数采,每个采样周期ts执行一次数据采集相关的函数,获取该数采周期ts内的m个变量的值,假设第n个数采周期得到第m个变量的值为val,则数组array的第n行第m列的元素赋值为val。
35.s130、每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值对应的时刻。
36.存储单元包括数据库以及数据文件等存储形式。
37.当n个数采周期结束时,数采程序同时会额外创建线程,向数据文件或者数据库写入这段时间采集的数据,即array的每列是对应变量的值序列,而时刻序列可根据以下公式计算:
38.时刻=基准时刻+数组行索引*采样周期
39.对于公式中的数组行索引进行说明,若数组是从序号0开始存储数据,则数组行索引即为该采样周期在数组中的行序号,若数组是从序号1开始存储数据,则数组行索引为该数采周期在数组中的行序号减1。
40.在具体实施例中,所述s130每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值的时刻的步骤,包括:
41.s132、每当一个所述数据保存周期结束时,根据每一采样周期的数组行序号、所述采样周期与所述基准时刻,得到每一采样周期对应的时刻。
42.s134、将所述采样周期对应的时刻作为该采样周期内所有采样变量的采样值对应的时刻,向存储单元写入该数据保存周期内采集到的采样值及该采样值的时刻。
43.s140、每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中。
44.如果对单个文件或者单个数据库表的存储量有上限时,亦可在保存周期tsave的整数倍时创建新的保存文件或者数据库表,用于写入后续采集到的数据。
45.在具体实施例中,在所述s140、每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中的步骤之后,还包括:
46.s142、当写入数据库或者数据文件的采样周期的数目达到预设的第三数目时,创建新的数据库表或数据文件,继续在数据保存周期结束时向所述新的数据库表或数据文件进行数据写入。
47.其中,所述第三数目大于等于所述第二数目,且所述第三数目是所述第二数目的整数倍。
48.所述第二数目的设置根据对计算机性能进行考量得出,若计算机性能足够好,则可以选择将所述第二数目取得小些,若出于保护计算机的考虑,可以实现将所述第二数目选取得稍大,积累一些周期的采样值后一起进行写入。
49.所述第三数目的设置与数据表或数据文件的容量大小有关。
50.在具体实施例中,在所述s140、每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中的步骤之后,还包括:
51.s1442、接收客户端发送的读取数据的请求指令,所述请求指令包括待读取变量名称、起始读取时刻以及终止读取时刻,将所述起始读取时刻、所述终止读取时刻与所述数组的当前基准时刻进行比较。
52.s1444、当所述起始读取时刻和所述终止读取时刻均不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。
53.s1446、当所述起始读取时刻早于所述数组的当前基准时刻且所述终止读取时刻不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。
54.s150、直到接收到数据采集结束指令,停止对所述第一数目的采集变量的数据采集。
55.本实施例中,提供一种工业数据采集存储方法,该方法通过将采样值依次先存储到多行多列的数组、再写入数据库或数据文件的方式,不仅节省了用于存储时刻的内存空间,更关键的是保证了同一变量的时刻等间隔、不同变量在同一采样周期内的采样时刻相同的特点,便于对采集数据进行分析利用。
56.图2为本说明书一个实施例的一种工业数据采集存储装置的结构示意图。如图2所示,一种工业数据采集存储装置200,包括参数配置模块210、数据采集模块220以及数据存储模块230,其中
57.所述参数配置模块210,被配置为接收客户端发送的参数配置文件,根据参数配置文件进行相应配置,所述参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,其中所述名称集合中包含的采集变量的数目为第一数目,所述数据保存周期是预设的采样周期的整数倍,倍数为第二数目,创建以所述第一数目为列数、以所述第二数目为行数的数组。
58.所述数据采集模块220,被配置为当时钟到达初始基准时刻时,执行数据采集函数,依次获取每一采样周期内的第一数目的各采集变量的采样值,并将当前采样周期内的各个采集变量的采样值保存至所述数组中当前采样周期的对应行、各个采集变量的对应列处。
59.所述数据存储模块230,被配置为每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采
样值对应的时刻;每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中;直到接收到数据采集结束指令,停止对所述第一数目的采集变量的数据采集。
60.一种具体的实现方式中,所述数据存储模块230包括时刻计算子模块232以及数据写入子模块234,其中
61.所述时刻计算子模块232,被配置为每当一个所述数据保存周期结束时,根据每一采样周期的数组行序号、所述采样周期与所述基准时刻,得到每一采样周期对应的时刻。
62.所述数据写入子模块234,被配置为将所述采样周期对应的时刻作为该采样周期内所有采样变量的采样值对应的时刻,向存储单元写入该数据保存周期内采集到的采样值及该采样值的时刻。
63.在具体的实施例中,所述装置还包括存储换页子模块236,其中所述存储换页子模块236,被配置为当写入数据库或者数据文件的采样周期的数目达到预设的第三数目时,创建新的数据库表或数据文件,继续在数据保存周期结束时向所述新的数据库表或数据文件进行数据写入。
64.在具体的实施例中,所述装置还包括数据传输模块240,其中所述数据传输模块240,被配置为接收客户端发送的读取数据的请求指令,所述请求指令包括待读取变量名称、起始读取时刻以及终止读取时刻,将所述起始读取时刻、所述终止读取时刻与所述数组的当前基准时刻进行比较;当所述起始读取时刻和所述终止读取时刻均不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端;当所述起始读取时刻早于所述数组的当前基准时刻且所述终止读取时刻不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。
65.图3为本说明书一个实施例的一种工业数据采集存储系统的结构示意图。如图3所示,一种工业数据采集存储系统300,包括主程序310、数采装置320以及存储单元330,所述存储单元330包括数据库以及数据文件,其中所述主程序310运行于客户端上,根据交互界面获取数据采集参数,向所述数采装置320发送参数配置文件,并向所述数采装置320及所述存储单元330发送读取数据的请求指令后,接收从所述数采装置320以及从所述存储单元330中返回请求的数据,将得到的同一变量的采样值进行拼接,绘制该变量的趋势图,并按预设的采样周期进行趋势图更新。
66.所述数采装置320接收所述主程序310发送的文件及指令,执行所述的工业数据采集存储方法的步骤。
67.所述存储单元接收并存储所述数采装置320的数据,接收所述主程序310发送的读取数据的请求指令,所述请求指令包括所述待读取变量名称、所述起始读取时刻以及所述终止读取时刻,根据所述请求指令,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给所述主程序310。
68.数采程序以所述的数据采集存储方法为核心的独立运行程序,可将按一定周期向数据文件及数据库写入数据;存储单元包括数据库和数据文件等形式,数据文件是记录不同时刻不同变量的值的文本文件,由所述方法采集到的数据能保证该数据文件的时间序列是等间隔;数据库用于存储不同时刻不同变量的值,此数据库中的时间序列同样是等间隔的;对于主程序,用户可在交互界面上配置数采程序需要的配置文件,并对其进行启动、停止等操作;当用户需要对某一变量的历史趋势进行查看时,主程序可从数采程序、数据文件和数据库中读取数据以及拼接处理,并可以曲线的形式进行展示,并支持按一定的周期进行趋势图的更新;主程序还可起到数据传输中介的作用,支持数据库与数据文件中的数据相互传递,主程序还可以对数据库及数据文件中的数据进行删除或者替换,或者将数据写入数据库及数据文件。
69.综上所述,本说明书中提供一种工业数据采集存储方法、装置及系统,将采集数据按照周期依次存储至数组中,然后根据基准时刻来得出采集数据的时刻,实现了使同一变量的时刻等间隔、并使不同变量在同一采样周期内的采样时刻相同,相比于现有技术,解决了由于数采时刻不同而需要存储大量时刻型数据的问题,并且解决了同一变量采数时刻不完全等间隔,同一数采周期不同变量采数时刻不完全一致的问题。
70.本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
71.本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
72.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

技术特征:
1.一种工业数据采集存储方法,其特征在于,适于在工业数据采集设备的处理器上执行,包括:接收客户端发送的参数配置文件,根据参数配置文件进行相应配置,所述参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,其中所述名称集合中包含的采集变量的数目为第一数目,所述数据保存周期是预设的采样周期的整数倍,倍数为第二数目,创建以所述第一数目为列数、以所述第二数目为行数的数组;当时钟到达初始基准时刻时,执行数据采集函数,依次获取每一采样周期内的第一数目的各采集变量的采样值,并将当前采样周期内的各个采集变量的采样值保存至所述数组中当前采样周期的对应行、各个采集变量的对应列处;每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值对应的时刻;每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中;直到接收到数据采集结束指令,停止对所述第一数目的采集变量的数据采集。2.根据权利要求1所述的方法,其特征在于,所述每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值的时刻的步骤,包括:每当一个所述数据保存周期结束时,根据每一采样周期的数组行序号、所述采样周期与所述基准时刻,得到每一采样周期对应的时刻;将所述采样周期对应的时刻作为该采样周期内所有采样变量的采样值对应的时刻,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值的时刻。3.根据权利要求2所述的方法,其特征在于,在所述每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中的步骤之后,还包括:当写入数据库或者数据文件的采样周期的数目达到预设的第三数目时,创建新的数据库表或数据文件,继续在数据保存周期结束时向所述新的数据库表或数据文件进行数据写入。4.根据权利要求3所述的方法,其特征在于,包括:所述第三数目大于等于所述第二数目,且所述第三数目是所述第二数目的整数倍。5.根据权利要求2所述的方法,其特征在于,在所述每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中的步骤之后,还包括:接收客户端发送的读取数据的请求指令,所述请求指令包括待读取变量名称、起始读取时刻以及终止读取时刻,将所述起始读取时刻、所述终止读取时刻与所述数组的当前基准时刻进行比较;当所述起始读取时刻和所述终止读取时刻均不早于所述数组的当前基准时刻的情况
下,根据待读取变量名称,对于所述数组中待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端;当所述起始读取时刻早于所述数组的当前基准时刻且所述终止读取时刻不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。6.一种工业数据采集存储装置,其特征在于,包括参数配置模块、数据采集模块以及数据存储模块,其中所述参数配置模块,被配置为接收客户端发送的参数配置文件,根据参数配置文件进行相应配置,所述参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,其中所述名称集合中包含的采集变量的数目为第一数目,所述数据保存周期是预设的采样周期的整数倍,倍数为第二数目,创建以所述第一数目为列数、以所述第二数目为行数的数组;所述数据采集模块,被配置为当时钟到达初始基准时刻时,执行数据采集函数,依次获取每一采样周期内的第一数目的各采集变量的采样值,并将当前采样周期内的各个采集变量的采样值保存至所述数组中当前采样周期的对应行、各个采集变量的对应列处;所述数据存储模块,被配置为每当一个所述数据保存周期结束时,根据该数据保存周期对应的所述数组,向存储单元写入该数据保存周期内采集到的每一采样值及该采样值对应的时刻;每当一个所述数据保存周期结束时,新建以所述第一数目为列数、以所述第二数目为行数的新数组,将当前时刻作为所述新数组的当前基准时刻,继续执行数据采集函数,获取采样值并保存至新数组中;直到接收到数据采集结束指令,停止对所述第一数目的采集变量的数据采集。7.根据权利要求6所述的装置,其特征在于,所述数据存储模块包括时刻计算子模块以及数据写入子模块,其中所述时刻计算子模块,被配置为每当一个所述数据保存周期结束时,根据每一采样周期的数组行序号、所述采样周期与所述基准时刻,得到每一采样周期对应的时刻;所述数据写入子模块,被配置为将所述采样周期对应的时刻作为该采样周期内所有采样变量的采样值对应的时刻,向存储单元写入该数据保存周期内采集到的采样值及该采样值的时刻。8.根据权利要求7所述的装置,其特征在于,还包括存储换页子模块,其中所述存储换页子模块,被配置为当写入数据库或者数据文件的采样周期的数目达到预设的第三数目时,创建新的数据库表或数据文件,继续在数据保存周期结束时向所述新的数据库表或数据文件进行数据写入。9.根据权利要求7所述的装置,其特征在于,还包括数据传输模块,其中所述数据传输模块,被配置为接收客户端发送的读取数据的请求指令,所述请求指令包括待读取变量名称、起始读取时刻以及终止读取时刻,将所述起始读取时刻、所述终止读取时刻与所述数组的当前基准时刻进行比较;当所述起始读取时刻和所述终止读取时刻均不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取
变量在所述起始读取时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端;当所述起始读取时刻早于所述数组的当前基准时刻且所述终止读取时刻不早于所述数组的当前基准时刻的情况下,根据待读取变量名称,对于所述数组中待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值,计算所述采样值对应的时刻,将待读取变量在所述当前基准时刻与所述终止读取时刻之间的采样值及对应的时刻发送给客户端。10.一种工业数据采集存储系统,其特征在于,包括主程序、数采装置以及存储单元,其中所述主程序运行于客户端上,根据交互界面获取数据采集参数,向所述数采装置发送参数配置文件;并向所述数采装置及所述存储单元发送读取数据的请求指令后,接收从所述数采装置以及从所述存储单元中返回请求的数据,将得到的同一变量的采样值进行拼接,绘制该变量的趋势图,并按预设的采样周期进行趋势图更新;所述数采装置接收所述主程序发送的文件及指令,执行权利要求1-5中任一项所述的方法的步骤;所述存储单元接收并存储所述数采装置的数据,接收所述主程序发送的读取数据的请求指令,所述请求指令包括所述待读取变量名称、所述起始读取时刻以及所述终止读取时刻,根据所述请求指令,将待读取变量在所述起始读取时刻与所述终止读取时刻之间的采样值及对应的时刻发送给所述主程序。

技术总结
本说明书公开一种工业数据采集存储方法、装置及系统,该方法包括:接收参数配置文件进行配置,参数配置文件包括预设采集变量的名称集合、初始基准时刻以及数据保存周期,所述名称集合包含的采集变量的数目为第一数目,数据保存周期是预设的采样周期的整数倍,比值为第二数目;创建以第一数目为列数、以第二数目为行数的数组,在初始基准时刻,执行采集函数,获取每一采样周期内各采集变量的采样值,将当前采样周期内各个采集变量的采样值保存至数组中当前采样周期的对应行、各个采集变量的对应列处;每当一个数据保存周期结束时,向存储单元写入采样值及对应的时刻,新建新数组,继续执行采集函数并保存至新数组;直到收到结束指令,停止采集。停止采集。停止采集。


技术研发人员:卢俊晶 张伟勇 梁洋洋 张志强 王健 张天琦 盛天佑 赵扬
受保护的技术使用者:清云智通(北京)科技有限公司
技术研发日:2022.07.20
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-5664.html

最新回复(0)