基于PLC的数据处理方法、系统、电子设备及存储介质与流程

文档序号:23727762发布日期:2021-01-26 17:50阅读:79来源:国知局
基于PLC的数据处理方法、系统、电子设备及存储介质与流程
基于plc的数据处理方法、系统、电子设备及存储介质
技术领域
[0001]
本发明涉及通信技术领域,尤其涉及一种基于plc的数据处理方法、系统、电子设备。


背景技术:

[0002]
工业应用中为了保证数据的准确性和可靠性,通常会遵循某个协议,不同协议之间差异甚大,因此plc基于某个协议与其它设备通信时,必须要在plc内部用代码实现该协议。但是plc在工业现场的应用范围极广,必须支持的不同种类的现场协议,这势必加大plc开发的复杂度。目前,厂商一般采用协议转换器将现场协议转换为plc可以识别的协议,这样即可将对现场协议支持的问题转换为协议转换器的开发问题,另一方面也可降低plc的开发难度。但这种方式在现场协议尚未得到协议转换器支持,协议内容尚不明确的情况下时,需要根据现场抓取的报文进行分析比对,按照报文协议规则进行代码实现,需要很长的开发周期,不利于plc在现场的快速应用。


技术实现要素:

[0003]
本发明的目的在于解决上述背景技术中的至少一个问题,提供一种基于plc的数据处理方法、系统、电子设备。
[0004]
为实现上述目的,本发明提供一种基于plc的数据处理方法,包括:获取训练数据集,所述训练数据集包括协议传输数据,每条协议传输数据包括接收报文和应答报文;利用协议传输数据和接收报文作为输入,通过智能算法解析出接收报文所需协议传输数据的起始地址和数据长度;以协议的接收报文作为输入,对应起始地址和结束地址的类别为输出,用分类算法解析出接收报文所需要请求的数据起始地址和数据长度。
[0005]
根据本发明的一个方面,所述利用所述训练数据集通过算法解析出所述接收报文要求所述应答报文的数据起始地址和数据长度:以协议传输数据和应答报文作为输入,通过动态规划算法计算两个输入数据集的最大公共子集,得到公共子集在协议传输数据中的起始地址和结束地址;以起始地址和结束地址进行分类。
[0006]
根据本发明的一个方面,所述动态规划算法使用的动态规划表的定义为:采用3维数组,第1维度索引i表示协议传输数据的结束索引,第2维度索引j表示应答报文数据的结束索引,第3维度索引k表示公共数据长度。
[0007]
根据本发明的一个方面,所述动态规划表的初始状态都为0。
[0008]
根据本发明的一个方面,所述动态规划的状态转移为:
当公共数据长度为时,如果所述协议传输数据结束索引前一个数据与所述应答报文数据结束索引前一个数据相同,则,否则;当公共数据长度为时,如果协议传输数据结束索引前一个数据与应答报文数据结束索引前一个数据相同,并且,则,否则。
[0009]
根据本发明的一个方面,所述以起始地址和结束地址进行分类,两者之间是逻辑与的关系,当两个起始地址和结束地址都相同时,认为是同一类。
[0010]
根据本发明的一个方面,所述分类算法,用于解析出接收报文所需要请求的数据起始地址和数据长度,以协议的请求报文作为输入,对应起始地址和结束地址的类别为输出。
[0011]
为实现上述目的,本发明还提供一种基于plc的数据处理系统,包括:数据获取模块,用于获取训练数据集,所述训练数据集包括协议传输数据,每条协议传输数据包括接收报文和应答报文;第一数据处理模块,利用协议传输数据和接收报文作为输入,通过智能算法解析出接收报文所需协议传输数据的起始地址和数据长度;第二数据处理模块,以协议的接收报文作为输入,对应起始地址和结束地址的类别为输出,用分类算法解析出接收报文所需要请求的数据起始地址和数据长度。
[0012]
为实现上述目的,本发明还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述基于plc的数据处理方法。
[0013]
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述基于plc的数据处理方法。
[0014]
根据本发明的基于plc的数据处理方法、系统、电子设备及计算机可读存储介质,将协议本身看作是数据的函数映射关系,那么对协议的解析就可以认为是对映射解析,利用智能算法,解析这种映射关系,从而分析出接收报文中的协议规则。这种模型着眼于数据联系,完全不需要人工逐个字节对比分析即可完成对协议的解析,从而大大提高协议开发效率。
附图说明
[0015]
图1示意性表示根据本发明的基于plc的数据处理方法的流程图;图2示意性表示根据本发明的基于plc的数据处理系统的结构框图;图3表示实施例1的协议规则及示例图;图4表示实施例1的动态规划算法流程图;
图5表示实施例1的模型输出结果图。
具体实施方式
[0016]
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护范围。
[0017]
图1示意性表示根据本发明的基于plc的数据处理方法的流程图。如图1所示,根据本发明的基于plc的数据处理方法,包括以下步骤:a.获取训练数据集,所述训练数据集包括协议传输数据,每条协议传输数据包括接收报文和应答报文;b.利用协议传输数据和接收报文作为输入,通过智能算法解析出接收报文所需协议传输数据的起始地址和数据长度;c.以协议的接收报文作为输入,对应起始地址和结束地址的类别为输出,用分类算法解析出接收报文所需要请求的数据起始地址和数据长度。
[0018]
根据本发明的一种实施方式,在上述a步骤中,获取被请求设备中的协议传输数据,并对应实时的协议传输数据得到相对应的接收报文和应答报文数据的总对数(接收报文和与其对应的应答报文组成一个报文对,总对数即所有报文对的总数量)。
[0019]
根据本发明的一种实施方式,在上述b步骤中,利用训练数据集通过算法解析出接收报文要求应答报文的数据起始地址和数据长度为:以协议传输数据和应答报文作为输入,通过动态规划算法计算两个输入数据集的最大公共子集,得到公共子集在协议传输数据中的起始地址和结束地址(结束地址=起始地址+数据长度),以起始地址和结束地址进行分类。其中,在本实施方式中,动态规划算法使用的动态规划表的定义为:采用3维数组,第1维度索引i表示协议传输数据的结束索引,第2维度索引j表示应答报文数据的结束索引,第3维度索引k表示公共数据长度。动态规划的状态转移为:当公共数据长度为时,如果协议传输数据结束索引前一个数据与应答报文数据结束索引前一个数据相同,则,否则。当公共数据长度为时,如果协议传输数据结束索引前一个数据与应答报文数据结束索引前一个数据相同,并且,则,否则。
[0020]
在本实施方式中,动态规划表的初始状态都为0。以起始地址和结束地址进行分类,两者之间是逻辑与的关系,当两个起始地址和结束地址都相同时,认为是同一类。
[0021]
根据本发明的一种实施方式,在上述c步骤中,利用分类算法解析接收报文所需请求的协议传输数据起始地址和数据长度进行处理为:
将接收报文作为分类算法的输入,输出为对应协议传输数据起始地址和结束地址的类别。
[0022]
根据本发明的一种实施方式,对动态规划得出的起始地址和结束地址分类,两者之间是逻辑与的关系,当两个起始地址和结束地址都相同时,认为是同一类。
[0023]
在本实施方式中,使用的分类算法能够表征出输入数据各维度对分类结果的影响程度。
[0024]
使用多个智能算法相互协调来解析出接收报文所要求协议传输数据中的。
[0025]
根据本发明的基于plc的数据处理方法,将协议本身看作是数据的函数映射关系,那么对协议的解析就可以认为是对映射解析,利用智能算法,解析这种映射关系,从而分析出接收报文中的协议规则。这种模型着眼于数据联系,完全不需要人工逐个字节对比分析即可完成对协议的解析,从而大大提高协议开发效率。
[0026]
不仅如此,本发明还提供一种基于plc的数据处理系统,系统结构框图如图2所示,该系统包括:数据获取模块,用于获取训练数据集,训练数据集包括协议传输数据,每条协议传输数据包括接收报文和应答报文;第一数据处理模块,利用协议传输数据和接收报文作为输入,通过智能算法解析出接收报文所需协议传输数据的起始地址和数据长度;第二数据处理模块,以协议的接收报文作为输入,对应起始地址和结束地址的类别为输出,用分类算法解析出接收报文所需要请求的数据起始地址和数据长度。
[0027]
根据本发明的一种实施方式,数据获取模块获取被请求设备中的协议传输数据,并对应实时的协议传输数据得到相对应的接收报文和应答报文数据的总对数(接收报文和与其对应的应答报文组成一个报文对,总对数即所有报文对的总数量)。
[0028]
第一数据处理模块以协议传输数据和接收报文作为输入,通过动态规划方法计算出接收报文所需的起始地址和数据长度。具体为:以协议传输数据和应答报文作为输入,通过动态规划算法计算两个输入数据集的最大公共子集,得到公共子集在协议传输数据中的起始地址和结束地址(结束地址=起始地址+数据长度),以起始地址和结束地址进行分类。其中,在本实施方式中,动态规划算法使用的动态规划表的定义为:采用3维数组,第1维度索引i表示协议传输数据的结束索引,第2维度索引j表示应答报文数据的结束索引,第3维度索引k表示公共数据长度。动态规划的状态转移为:当公共数据长度为时,如果协议传输数据结束索引前一个数据与应答报文数据结束索引前一个数据相同,则,否则。当公共数据长度为时,如果协议传输数据结束索引前一个数据与应答报文数据结束索引前一个数据相同,并且,则,否则。
[0029]
在本实施方式中,动态规划表的初始状态都为0。以起始地址和结束地址进行分
类,两者之间是逻辑与的关系,当两个起始地址和结束地址都相同时,认为是同一类。
[0030]
根据本发明的一种实施方式,第二数据处理模块利用分类算法解析接收报文所需请求的协议传输数据起始地址和数据长度进行处理为:将接收报文作为分类算法的输入,输出为对应协议传输数据起始地址和结束地址的类别。
[0031]
根据本发明的一种实施方式,对动态规划得出的起始地址和结束地址分类,两者之间是逻辑与的关系,当两个起始地址和结束地址都相同时,认为是同一类。
[0032]
在本实施方式中,使用的分类算法能够表征出输入数据各维度对分类结果的影响程度。
[0033]
使用多个智能算法相互协调来解析出接收报文所要求协议传输数据中的。
[0034]
根据本发明的一种实施方式,采用决策树分类算法进行计算,其最大深度应接近似总类别数。
[0035]
在本实施方式中,使用多个智能算法相互协调来解析出接收报文所要求协议传输数据中的起始地址和数据长度。
[0036]
为实现上述目的,本发明还提供一种电子设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现上述基于plc的数据处理方法。
[0037]
为实现上述目的,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述基于plc的数据处理方法。
[0038]
根据本发明的基于plc的数据处理系统、电子设备及计算机可读存储介质,将协议本身看作是数据的函数映射关系,那么对协议的解析就可以认为是对映射解析,利用智能算法,解析这种映射关系,从而分析出接收报文中的协议规则。这种模型着眼于数据联系,完全不需要人工逐个字节对比分析即可完成对协议的解析,从而大大提高协议开发效率。
[0039]
根据本发明的上述设置,以下结合表格提供一种具体实施例进行说明:实施例1以工业上某一私有协议为例,协议规则及示例如图3所示,请求数据的内同依赖于功能码和帧序号。通过动态规划算法计算每条应答报文与协议传输数据的最大公共子集,算法如图4所示,其中dataset1传入协议传输数据,dataset2传入应答报文数据。则最大公共子集在协议传输数据的起始地址为i-k,结束地址为i。以这两个地址建立类别,输入的32种不同的报文共得到24类输出。再以接收报文作为输入,类别作为输出传入决策树模型,模型最大树深度设置为20,得到模型各维度重要性的输出结果如图5所示,其中模型的预测精度在0.913附近,但模型的维度重要性预测正确的反应了协议的规则,可见该种方法的可行性。
[0040]
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1