一种数据采集方法技术

技术编号:38041654 阅读:5 留言:0更新日期:2023-06-30 11:08
本发明专利技术涉及数据采集技术领域,公开了一种数据采集方法,该方法用于对多个采集参数进行采集,每个采集参数包括起始地址和数据长度,其中通过将多个采集参数分为至少一个采集块,然后基于采集块生成块采集指令来采集采集块内所有采集参数的数据,最后对采集到的数据进行解析来获得采集参数的数据,从而能同一批次采集多个采集参数的数据,不用基于每个采集参数一一轮询被采集设备,从而提供进行数据采集的控制器的采集时间、提高控制器的实时性。提高控制器的实时性。提高控制器的实时性。

【技术实现步骤摘要】
一种数据采集方法


[0001]本专利技术涉及数据采集
,具体涉及一种数据采集方法。

技术介绍

[0002]在主从设备之间或者主主设备之间,都需要进行设备间的数据采集来获取所需要的参数信息,例如变频器或者伺服驱动器中都存有电机的运行状态参数信息,而PLC为了获取这些参数信息就需要一个一个的访问变频器或者伺服驱动器的存储单元,从而获取这些参数信息;另外对于有些参数信息,其并不是提前存储在某一个固定的存储单元中,而是由起始地址和参数长度组成。
[0003]目前参数信息存储在设备中的存储单元中,每个存储单元都有其物理地址。在需要获取多个参数信息时,大多是发送不同的采集指令来逐个访问每个参数信息所对应的存储单元,从而获取这些参数信息,而这种采集方式在实际使用时存在以下不足:
[0004]由于是发送不同的采集指令来逐个访问对应的存储单元,而每次指令发送完成后存在校验时间、数据应答时间,从而导致整个的采集周期变成,进而使设备的控制器的处理周期变长,实时性较差。

技术实现思路

[0005]鉴于
技术介绍
的不足,本专利技术是提供了一种数据采集方法,所要解决的技术问题是目前在需要获取多个参数信息时,都是发送不同的采集指令来轮询被采集设备,进而导致数据采集周期变长。
[0006]为解决以上技术问题,本专利技术提供了如下技术方案:一种数据采集方法,用于对多个采集参数进行采集,每个采集参数包括起始地址和数据长度,包括如下步骤:
[0007]S1:对所有采集参数的起始地址进行排序,生成采集地址列表;
[0008]S2:沿排序方向对所述采集地址列表进行切割,生成至少一个采集块,每个采集块包括至少一个起始地址;
[0009]S3:基于所述采集块生成块采集指令,向被采集设备发送所述块采集指令,所述块采集指令用于采集被采集设备中地址大于等于第一地址且小于等于第二地址的存储单元中的数据;所述第一地址为采集块的首采集参数的起始地址,所述第二地址为采集块的首采集参数的起始地址、采集块的尾采集参数的起始地址与采集块的首采集参数的起始地址的偏移量和采集块的尾采集参数的数据长度之和;
[0010]S4:对步骤S3采集的数据进行解析,获取所述采集参数对应的采集数据。
[0011]在某种实施方式中,在步骤S1中,将所有采集参数的起始地址按照从小到大的顺序或者从大到小的顺序进行排序。
[0012]在某种实施方式中,在步骤S2中,沿排序方向对所述采集地址列表进行切割的步骤如下:
[0013]S20:设置每次采集数据的最大采集量;
[0014]S21:依次将采集地址列表中除首采集参数的起始地址之外的其余起始地址进行以下处理:
[0015]如果采集地址列表中只有一个起始地址,则将该起始地址作为一个采集块;
[0016]将进行计算的其余起始地址作为当前起始地址,计算当前起始地址与首采集参数的起始地址的偏移量和当前起始地址对应的采取参数的数据长度之和,记为切割判断值;
[0017]判断所述切割判断值是否大于所述最大偏移量,如果所述切割判断值大于所述最大偏移量,则将当前起始地址作为一个切割点,将当前起始地址前面的所有起始地址作为一个采集块,将当前起始地址和当前起始地址后面的所有起始地址作为新的采集地址列表,其中当前起始地址所对应的采集参数为新的首采集参数;
[0018]如果最后一个起始地址对应的切割判断值小于等于所述最大偏移量,将所有起始地址作为一个采集块;
[0019]S22:循环执行步骤S21,直至将所有起始地址分割到对应的采集块中。
[0020]在某种实施方式中,在步骤S3中,先基于所述采集块生成信息包,然后基于所述信息包生成所述块采集指令;所述信息包包括以下信息:首采集参数的起始地址信息、采集长度信息、采集参数个数信息、采集块中除首采集参数外的其余采集参数的起始地址与首采集参数的起始地址的偏移量和每个采集参数数据格式信息;
[0021]所述采集长度信息的计算方式如下:将采集块的尾采集参数的起始地址与采集块的首采集参数的起始地址的偏移量加上尾采集参数的数据长度得到所述采集长度信息;
[0022]所述采集块中除首采集参数外的其余采集参数的起始地址与首采集参数的起始地址的偏移量信息的计算方式如下:将除首采集参数外的其余采集参数的起始地址依次减去首采集参数的起始地址,从而得到首采集参数外的其余采集参数的起始地址与首采集参数的起始地址的偏移量信息。
[0023]在某种实施方式中,所述块采集指令包括以下信息:被采集设备地址信息、首采集参数的起始地址信息、采集长度信息和校验信息。
[0024]在某种实施方式中,所述校验信息包括第一校验信息和第二校验信息,所述第一校验信息的生成方式如下:
[0025]将被采集地址信息与所述采集首地址信息相加得到第一校验信息、
[0026]第二校验信息的生成方式如下:将首采集地址与采集偏移量信息进行CRC校验得到第二校验信息;或者将首采集地址信息和采集偏移量信息进行异或校验得到第二校验信息。
[0027]在某种实施方式中,根据所述信息包中的采集首地址信息的大小将所述信息包组成单向链表,依据单向链表依次向被采集设备发送块采集指令;
[0028]在向所述被采集设备发送完块采集指令后,如果有应答数据回复,则基于所述块采集指令对应的信息包进行数据解析,获取被采集数据,在数据解析完成后向被采集设备发送下一个信息包所对应的块采集指令;
[0029]如果没有应答数据回复,则开始应答超时计时,在应答超时计时完成后如果仍然没有应答数据回复,则向被访问设备发送下一个信息包所对应的块采集指令。
[0030]在某种实施方式中,所述数据解析的过程如下:依据采集参数的起始地址找到对应的起始采集数据,依据采集参数的数据长度找到采集参数对应的剩余采集数据。
[0031]在某种实施方式中,依据采集参数的起始地址找到对应的起始采集数据的方式如下:
[0032]将首采集参数起始地址加上采集块中除首采集参数外的其余采集参数的起始地址与首采集参数的起始地址的偏移量便得到采集参数的起始地址。
[0033]在某种实施方式中,所述信息包还包括采集数据存储单元,在得到所述应答数据后,将所述应答数据放到所述采集数据存储单元中,在进行数据解析时,从所述采集数据存储单元中取出所述应答数据进行数据解析。
[0034]本专利技术与现有技术相比所具有的有益效果是:本专利技术通过将多个采集参数分为至少一个采集块,然后基于采集块生成块采集指令来采集采集块内所有采集参数的数据,最后对采集到的数据进行解析来获得采集参数的数据,从而能同一批次采集多个采集参数的数据,不用基于每个采集参数一一轮询被采集设备,从而提供进行数据采集的控制器的采集时间、提高控制器的实时性。
附图说明
[0035]图1为本专利技术的流程图;
[0036]图2为本专利技术的步骤S2的流程图。
具体实施方式
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据采集方法,用于对多个采集参数进行采集,每个采集参数包括起始地址和数据长度,其特征在于,包括如下步骤:S1:对所有采集参数的起始地址进行排序,生成采集地址列表;S2:沿排序方向对所述采集地址列表进行切割,生成至少一个采集块,每个采集块包括至少一个起始地址;S3:基于所述采集块生成块采集指令,向被采集设备发送所述块采集指令,所述块采集指令用于采集被采集设备中地址大于等于第一地址且小于等于第二地址的存储单元中的数据;所述第一地址为采集块的首采集参数的起始地址,所述第二地址为采集块的首采集参数的起始地址、采集块的尾采集参数的起始地址与采集块的首采集参数的起始地址的偏移量和采集块的尾采集参数的数据长度之和;S4:对步骤S3采集的数据进行解析,获取所述采集参数对应的采集数据。2.根据权利要求1所述的一种数据采集方法,其特征在于,在步骤S1中,将所有采集参数的起始地址按照从小到大的顺序或者从大到小的顺序进行排序。3.根据权利要求1所述的一种数据采集方法,其特征在于,在步骤S2中,沿排序方向对所述采集地址列表进行切割的步骤如下:S20:设置每次采集数据的最大采集量;S21:依次将采集地址列表中除首采集参数的起始地址之外的其余起始地址进行以下处理:如果采集地址列表中只有一个起始地址,则将该起始地址作为一个采集块;将进行计算的其余起始地址作为当前起始地址,计算当前起始地址与首采集参数的起始地址的偏移量和当前起始地址对应的采取参数的数据长度之和,记为切割判断值;判断所述切割判断值是否大于所述最大偏移量,如果所述切割判断值大于所述最大偏移量,则将当前起始地址作为一个切割点,将当前起始地址前面的所有起始地址作为一个采集块,将当前起始地址和当前起始地址后面的所有起始地址作为新的采集地址列表,其中当前起始地址所对应的采集参数为新的首采集参数;如果最后一个起始地址对应的切割判断值小于等于所述最大偏移量,将所有起始地址作为一个采集块;S22:循环执行步骤S21,直至将所有起始地址分割到对应的采集块中。4.根据权利要求1所述的一种数据采集方法,其特征在于,在步骤S3中,先基于所述采集块生成信息包,然后基于所述信息包生成所述块采集指令;所述信息包包括以下信息:首采集参数的起始地址信息、采集长度信息、采集参数个数信息、采集块中除首采集参数外的其余采集参数的起始地址与首采集参数的起始地址的偏移量和每个采集参数数据格式信息;所述采集...

【专利技术属性】
技术研发人员:黄志明印泽南韩兵李乐王炳杰郭良云许斌
申请(专利权)人:上海挚达科技发展股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1