一种数据采集方法及装置与流程

文档序号:11948381阅读:181来源:国知局
一种数据采集方法及装置与流程

本申请涉及工业自动化领域,特别涉及一种数据采集方法及装置。



背景技术:

随着工业自动化水平的迅速提高,工业自动化系统越来越完善。其中,为了保证工业自动化系统的正常运行,需要对工业自动化系统中的底层设备(如PLC、智能仪表、智能模块、板卡、变频器等)的运行数据进行采集和监控。

目前对工业自动化系统中的底层设备进行数据采集的方式为:通过上位机与底层设备直接进行通信,由上位机采集底层设备的全部数据。然而由于上位机的上层应用对上位机采集上来的全部数据中的某些数据的需求不高,不需要实时采集,以及对上位机采集上来的全部数据中的某些数据的需求高,需要实时采集,因此上位机采集底层设备的全部数据的方式往往会导致上层应用需求高的数据不能优先被采集,从而不能保证实时采集上层应用需求高的数据。



技术实现要素:

为解决上述技术问题,本申请实施例提供一种数据采集方法及装置,以达到使各个变量中需求度高的变量对应的数据会被优先采集,从而保证实时采集需求度高的变量对应的数据的目的,技术方案如下:

一种数据采集方法,包括:

在用户请求按照数据需求时间方式采集数据时,实时记录各个变量各自的最新需求时间和最近数据采集时间,所述最新需求时间为上位机请求访问变量的最新时间,所述最近数据采集时间为上位机最后一次采集变量对应的数据的时间;

比较各个所述变量各自的最新需求时间和最近数据采集时间的先后顺序;

在第一变量的最近数据采集时间早于其本身的最新需求时间时,从所述第一变量对应的底层设备中采集所述第一变量对应的数据,并更新所述第一变量的最近数据采集时间,所述第一变量为各个所述变量中的某一个变量;

在所述第一变量的最近数据采集时间晚于其本身的最新需求时间时,执行心跳间隔数据采集任务。

优选的,所述执行心跳间隔数据采集任务的过程,包括:

判断所述第一变量的最近数据采集时间是否比其本身的最新需求时间晚一个心跳周期;

若是,从所述第一变量对应的设备中采集所述第一变量对应的数据,并更新所述第一变量的最近数据采集时间;

若否,结束判断。

优选的,还包括:

在用户请求按照数据需求频率方式采集数据时,统计各个所述变量各自在当前预设时间段内的需求次数,并将各个所述变量各自在所述当前预设时间段内的需求次数进行相加运算,得到总需求次数;

分别将各个所述变量各自在所述当前预设时间段内的需求次数除以所述总需求次数,得到各个所述变量各自在所述当前预设时间段内的需求频率;

在所述当前预设时间段之后的下一个预设时间段内,按照各个所述变量各自在所述当前预设时间段内的需求频率,分别从各个所述变量对应的设备中采集各个所述变量对应的数据。

一种数据采集装置,包括:

记录单元,用于在用户请求按照数据需求时间方式采集数据时,实时记录各个变量各自的最新需求时间和最近数据采集时间,所述最新需求时间为上位机请求访问变量的最新时间,所述最近数据采集时间为上位机最后一次采集变量对应的数据的时间;

比较单元,用于比较各个所述变量各自的最新需求时间和最近数据采集时间的先后顺序,在第一变量的最近数据采集时间早于其本身的最新需求时间时,执行第一采集单元,在所述第一变量的最近数据采集时间晚于其本身的最新需求时间时,执行第一执行单元;

所述第一采集单元,用于从所述第一变量对应的底层设备中采集所述第一变量对应的数据;

第一更新单元,用于更新所述第一变量的最近数据采集时间;

第一执行单元,用于执行心跳间隔数据采集任务;

其中,所述第一变量为各个所述变量中的某一个变量。

优选的,所述第一执行单元包括:

判断子单元,用于判断所述第一变量的最近数据采集时间是否比其本身的最新需求时间晚一个心跳周期,若是,执行采集子单元,若否,结束判断;

所述采集子单元,用于从所述第一变量对应的设备中采集所述第一变量对应的数据;

更新子单元,用于更新所述第一变量的最近数据采集时间。

优选的,还包括:

统计单元,用于在用户请求按照数据需求频率方式采集数据时,统计各个所述变量各自在当前预设时间段内的需求次数;

第一计算单元,用于将各个所述变量各自在所述当前预设时间段内的需求次数进行相加运算,得到总需求次数;

第二计算单元,用于分别将各个所述变量各自在所述当前预设时间段内的需求次数除以所述总需求次数,得到各个所述变量各自在所述当前预设时间段内的需求频率;

第二采集单元,用于在所述当前预设时间段之后的下一个预设时间段内,按照各个所述变量各自在所述当前预设时间段内的需求频率,分别从各个所述变量对应的设备中采集各个所述变量对应的数据。

与现有技术相比,本申请的有益效果为:

在本申请中,由于需求度高的变量被访问的频率高,因此需求度高的变量的最新需求时间相比于需求度低的变量的最新需求时间,更新速度快,由于需求度高的变量的最新需求时间更新速度快,因此通过比较各个所述变量各自的最新需求时间和最近数据采集时间的先后顺序时,需求度高的变量会被优先比较出最近数据采集时间早于其本身的最新需求时间,从而使各个变量中需求度高的变量对应的数据会被优先采集,从而保证实时采集需求度高的变量对应的数据。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请提供的数据采集方法的一种流程图;

图2是本申请提供的数据采集方法的一种子流程图;

图3是本申请提供的数据采集方法的另一种流程图;

图4是本申请提供的数据采集装置的一种逻辑结构示意图;

图5是本申请提供的第一执行单元的一种逻辑结构示意图;

图6是本申请提供的数据采集装置的另一种逻辑结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例一

在本实施例中,提供了一种数据采集方法,可以但不局限于应用于上位机。

在本实施例中,在进行数据采集时,可以按照数据需求时间方式采集数据或者按照数据需求频率方式采集数据。

若按照数据需求时间方式采集数据,则数据采集的过程请参见图1,其示出了本申请提供的数据采集方法的一种流程图,可以包括以下步骤:

步骤S11:在用户请求按照数据需求时间方式采集数据时,实时记录各个变量各自的最新需求时间和最近数据采集时间。

所述最新需求时间为上位机请求访问变量的最新时间,所述最近数据采集时间为上位机最后一次采集变量对应的数据的时间。

在本实施例中,在上位机请求访问各个变量时,实时记录各个变量各自的最新需求时间和最近数据采集时间。

在本实施例中,上述各个变量为上位机需要监控的变量。每个变量具体至少包括:变量名称、变量数据和变量数据的数据地址。变量中的变量数据需要更新,具体通过从底层设备中采集变量对应的数据对变量数据进行更新。其中,在从底层设备中采集变量对应的数据时,通过变量数据的数据地址进行采集。

步骤S12:比较各个所述变量各自的最新需求时间和最近数据采集时间的先后顺序。

在第一变量的最近数据采集时间早于其本身的最新需求时间时,说明需要进行新的采集,则执行步骤S13,在所述第一变量的最近数据采集时间晚于其本身的最新需求时间时,说明针对所述第一变量在进行最后一次采集数据后,还未有新的采集需求,则执行步骤S14。

在本实施例中,所述第一变量为各个所述变量中的某一个变量。

步骤S13:从所述第一变量对应的底层设备中采集所述第一变量对应的数据,并更新所述第一变量的最近数据采集时间。

步骤S14:执行心跳间隔数据采集任务。

在本申请中,由于需求度高的变量被访问的频率高,因此需求度高的变量的最新需求时间相比于需求度低的变量的最新需求时间,更新速度快,由于需求度高的变量的最新需求时间更新速度快,因此通过比较各个所述变量各自的最新需求时间和最近数据采集时间的先后顺序时,需求度高的变量会被优先比较出最近数据采集时间早于其本身的最新需求时间,从而使各个变量中需求度高的变量对应的数据会被优先采集,从而保证实时采集需求度高的变量对应的数据。

在本实施例中,执行心跳间隔数据采集任务的具体过程,请参见图2,可以包括以下步骤:

步骤S21:判断所述第一变量的最近数据采集时间是否比其本身的最新需求时间晚一个心跳周期。

在本实施例中,设定心跳周期是为了避免某一个变量对应的数据长时间不被采集,从而避免在需要该变量对应的数据时,该变量对应的数据因是长时间前采集的数据而使该变量对应的数据为无效数据的情况发生。

若是,执行步骤S22,若否,执行步骤S23。

步骤S22:从所述第一变量对应的设备中采集所述第一变量对应的数据,并更新所述第一变量的最近数据采集时间。

在所述第一变量的最近数据采集时间比其本身的最新需求时间晚一个心跳周期时,从所述第一变量对应的设备中采集所述第一变量对应的数据,可以避免所述第一变量对应的数据长时间不被采集。

步骤S23:结束判断。

在本实施例中,在实现图1示出的数据采集方法的基础上,可以按照数据需求频率方式采集数据,若按照数据需求频率方式采集数据,则数据采集的具体过程请参见图3,其示出了本申请提供的数据采集方法的另一种流程图,可以包括以下步骤:

步骤S31:在用户请求按照数据需求频率方式采集数据时,统计各个所述变量各自在当前预设时间段内的需求次数,并将各个所述变量各自在所述当前预设时间段内的需求次数进行相加运算,得到总需求次数。

步骤S32:分别将各个所述变量各自在所述当前预设时间段内的需求次数除以所述总需求次数,得到各个所述变量各自在所述当前预设时间段内的需求频率。

步骤S33:在所述当前预设时间段之后的下一个预设时间段内,按照各个所述变量各自在所述当前预设时间段内的需求频率,分别从各个所述变量对应的设备中采集各个所述变量对应的数据。

在本实施例中,按照各个所述变量各自在所述当前预设时间段内的需求频率,分别从各个所述变量对应的设备中采集各个所述变量对应的数据的具体过程为:

将各个所述变量各自在所述当前预设时间段内的需求频率乘以上位机设定的采集数据总次数,得到各个所述变量的采集次数,并按照各个所述变量的采集次数,从各个所述变量对应的底层设备中采集各个所述变量对应的数据。如变量A的在当前预设时间段内的需求频率为10%,上位机设定的采集数据总次数为100,则变量A的采集次数为100*10%即10,则从变量A对应的底层设备中采集变量A对应的数据且采集10次。

在本实施例中,按照各个所述变量各自在所述当前预设时间段内的需求频率,分别从各个所述变量对应的设备中采集各个所述变量对应的数据,可以使需求度高的变量对应的数据被采集的次数更多,从而使需求度高的变量对应的数据更新的机会更多,提高采集需求度高的变量对应的数据的实时性。

实施例二

在本实施例中,与上述方法实施例相对应,本实施例提供了一种数据采集装置,请参见图4,数据采集装置包括:记录单元41、比较单元42、第一采集单元43、第一更新单元44和第一执行单元45。

记录单元41,用于在用户请求按照数据需求时间方式采集数据时,实时记录各个变量各自的最新需求时间和最近数据采集时间,所述最新需求时间为上位机请求访问变量的最新时间,所述最近数据采集时间为上位机最后一次采集变量对应的数据的时间。

比较单元42,用于比较各个所述变量各自的最新需求时间和最近数据采集时间的先后顺序,在第一变量的最近数据采集时间早于其本身的最新需求时间时,执行第一采集单元43,在所述第一变量的最近数据采集时间晚于其本身的最新需求时间时,执行第一执行单元45。

所述第一采集单元43,用于从所述第一变量对应的底层设备中采集所述第一变量对应的数据。

第一更新单元44,用于更新所述第一变量的最近数据采集时间;

第一执行单元45,用于执行心跳间隔数据采集任务。

其中,所述第一变量为各个所述变量中的某一个变量。

在本实施例中,第一执行单元45具体可以包括:判断子单元451、采集子单元452和更新子单元453,如图5所示。

判断子单元451,用于判断所述第一变量的最近数据采集时间是否比其本身的最新需求时间晚一个心跳周期,若是,执行采集子单元452,若否,结束判断。

所述采集子单元452,用于从所述第一变量对应的设备中采集所述第一变量对应的数据。

更新子单元453,用于更新所述第一变量的最近数据采集时间。

在本实施例中,上述数据采集装置还可以包括:统计单元46、第一计算单元47、第二计算单元48和第二采集单元49,如图6所示。

统计单元46,用于在用户请求按照数据需求频率方式采集数据时,统计各个所述变量各自在当前预设时间段内的需求次数。

第一计算单元47,用于将各个所述变量各自在所述当前预设时间段内的需求次数进行相加运算,得到总需求次数。

第二计算单元48,用于分别将各个所述变量各自在所述当前预设时间段内的需求次数除以所述总需求次数,得到各个所述变量各自在所述当前预设时间段内的需求频率。

第二采集单元49,用于在所述当前预设时间段之后的下一个预设时间段内,按照各个所述变量各自在所述当前预设时间段内的需求频率,分别从各个所述变量对应的设备中采集各个所述变量对应的数据。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的一种数据采集方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1