一种黑盒工业控制系统模块化代码还原方法

文档序号:26759224发布日期:2021-09-25 05:15阅读:194来源:国知局
一种黑盒工业控制系统模块化代码还原方法

1.本发明涉及工业功能块模型逆向构建技术领域,尤其涉及一种黑盒工业控制系统模块化代码还原方法。


背景技术:

2.现有工业自动化控制系统建模主要基于工程师的经验性知识,将工业软硬件系统分模块分阶段抽象为离散的模型,再分析运行数据填写所需参数。对于内部逻辑、结构未知的黑盒系统,现阶段常用的方法是将采集变量全部转化为布尔量,将系统理想化为输入输出均为布尔量的单一执行模块,通过决策树、贝叶斯、最小二乘法等一种或多种机器学习算法,分析测试输入输出数据,挖掘系统变量之间的关联,从而生成系统对象的状态描述和跳转条件,最终以有限状态机的形式对系统行为建模。
3.在缺少源代码的情况下,无法自动还原黑盒系统行为模型;现有建模方法无法有效分析非布尔量的系统数据;现有方法仅生成单个模块内部的逻辑,无法还原包含多个模块间的关系,即无法还原复杂系统内部结构。
4.因此,本领域的技术人员致力于开发一种黑盒工业控制系统模块化代码还原方法。可在系统源码未知的情况下,自动还原生成系统行为模型;搭建数据预处理框架,提出常量、布尔量、时间量等多种类型变量的分析方法,匹配存在时移的变量,减少采集数据冗余度并提高后续分析效率;引入动态时间规整、变化序列聚类等方法,还原生成复合系统的内部连接结构。


技术实现要素:

5.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是基于输入、输出以及运行数据自动生成黑盒系统行为模型;分析处理非布尔量数据,还原生成不同类型数据之间的关系;将输入输出数据分组封装为模块,分析还原各模块间的关系。
6.为实现上述目的,本发明提供了一种黑盒工业控制系统模块化代码还原方法,包括如下步骤:
7.步骤1、数据预处理;
8.步骤2、内部逻辑还原;
9.步骤3、系统结构还原。
10.进一步地,所述数据预处理包括对采集到的数据进行类型划分、相似匹配和模式聚类。
11.进一步地,所述类型划分中,若采集序列的差分序列接近全零序列,则序列对应参数为常量;否则为变量。
12.进一步地,所述变量序列若仅取值0或1,则序列对应变量为布尔量;否则为数值变量。
13.进一步地,所述数值变量的变化序列若可划分为差分序列值为1的计数阶段以及
离散的置位、复位点,则序列对应变量为时间量。
14.进一步地,所述相似匹配采用动态时间规整计算同类型序列之间的相似度以及时间差,生成独立变量集。
15.进一步地,所述内部逻辑还原将输入变量视为条件变量,输出变量视为状态变量,通过匹配状态变量与条件变量,生成状态机要素。
16.进一步地,所述状态机要素包括初始状态、状态描述、状态变化序列、可跳转状态间的跳转条件。
17.进一步地,所述系统结构还原使用数据和时间双驱动的模型描述系统功能块。
18.进一步地,所述系统功能块间的内在逻辑和物理关系用事件连接线的方式建模表示。
19.在本发明的较佳实施方式中,本发明提供一种基于数据的系统行为模型还原方法。如附图1所示,输入量为黑盒系统的输入数据、中间状态以及输出数据,输出量为通过事件量和数据量相连的功能块。模型还原包含数据预处理、内部逻辑还原、系统结构还原三个步骤。
20.首先,对采集到的数据进行类型划分、相似匹配以及模式聚类。采集数据为系统运行过程中可观测到的输入输出以及状态变量的时序序列。因为原系统内部可能包含多个互联的子模块,所以同一数据变量可能被多次采集,需要进行预处理以去冗余。参照iec 61131标准,常见的系统数据类型包括常量、布尔量、时间量等,因此按照采集序列的变化规律,将不发生变化的数据定义为常量,将0

1取值的变量定义为布尔量,将存在计数、置位、复位固定变化模式的数据定义为时间量。在确定各变量类型后,运用改进的动态时间规整算法计算同类型数据间的相似度和相似数据间的时间差,从而合并或关联相似数据。最后,将非重复采集的各独立变量的变化情况用布尔序列表示,以1指代模式变化的时刻,以0指代模式与前一时刻相同,通过时序系列聚类,将独立变量划分为指定个数的簇,从而实现黑盒系统内部模块的划分。
21.数据预处理结束后,原始数据按照其变化同步率划分为多个相对独立的簇。一个簇对应黑盒系统内部的一个模块,即一个可通过功能块描述的行为元模型。功能块内部的逻辑通过有限状态机进行描述,包含状态描述、跳转条件和执行算法,如附图2所示。状态机可通过匹配观测到的系统状态与输入变量生成。系统的输入变量即表示状态跳转的条件变量,跳转时刻所有输入变量的取值即为当前状态跳转需满足的条件。系统的输出变量可视作描述状态的状态变量。算法即对输入变量和输出变量进行运算。经由上述步骤可初步生成各聚类簇的状态机。状态机的可行性验证主要基于顺次非并行执行的原则。若状态机中同一时刻有两组状态跳转条件被满足,则根据系统状态的观测结果标定优先级,以保证顺次非并行执行的原则。在确保可行性后,通过类贪心算法的方式,依次删除各状态跳转中的变量条件。若删除后不影响状态机有效性和可行性,则删除;否则保留。
22.该步骤还原生成了各组变量的内部逻辑,并按组封装为对外仅保留输入/输出事件和数据接口的功能块,如附图2所示。第三步系统结构还原需要将这些分散功能块间的数据、事件接口分别相连,生成数据事件双驱动的系统行为模型。数据连接规则可参照第一步数据预处理中分析得到的相似数据组,连接不同功能块内部的相似数据。事件连接规则主要基于各离散功能块的物理含义和变化次序。
23.第一步数据预处理不局限于方案中的算法,可采用多种数据挖掘算法进行分析;变量的分组与聚类不是必须步骤,原系统可仅包含一个功能块;系统行为模型可用iec61499功能块进行描述。
24.本发明提出了一种在系统源码未知的情况下,通过采集的运行数据分步还原复合黑盒系统内部逻辑和结构,即先聚类划分模块、再还原各模块内部逻辑、最后连接各模块;通过数据模式判断、变化序列聚类分析包含非布尔量的黑盒系统,实现布尔量与非布尔量的统一分析;在动态时间规整算法的基础上,引入动态时间规整路径分析,有效辨识存在时间差的相似序列;使用数据和时间双驱动的模型描述系统功能块。
25.本发明与现有技术相比较,具有如下显而易见的实质性特点和显著优点:
26.1.本发明提供了一种黑盒系统行为模型的还原方法,可在系统源码未知的情况下,减少对专业技术人员经验的依赖,自动还原生成系统行为模型;
27.2.搭建数据预处理框架,提出常量、布尔量、时间量等多种类型变量的分析方法,匹配存在时移的变量,减少采集数据冗余度并提高后续分析效率;
28.3.引入动态时间规整、变化序列聚类等方法,还原生成复合系统的内部连接结构。
29.以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
30.图1是本发明的一个较佳实施例的行为模型还原框架图;
31.图2是本发明的一个较佳实施例的行为模型还原各步骤示意图。
具体实施方式
32.以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
33.在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
34.本发明涉及一种黑盒系统行为模型还原方法,特别是涉及一种基于运行数据的工业系统行为功能块模型的逆向构建方法。
35.本方法的分析处理包含数据预处理、内部逻辑还原、系统结构还原三个步骤。
36.数据预处模块输入采集的原始数据,经过类型划分、相似匹配和模式聚类三步将数据划分为指定数量的模块。
37.在第一步类型划分中,若采集序列的差分序列接近全零序列,则该序列对应参数为常量;否则为变量。若变量序列仅取值0或1,则该序列对应变量为布尔量;否则为数值变量。若数值变量的变化序列可划分为差分序列值为1的计数阶段以及离散的置位、复位点,则该序列对应变量为时间量。其他单独定义的变量类型可根据自身变化规律,分析一阶或高阶差分序列辨识。
38.第二步相似匹配采用动态时间规整计算同类型序列之间的相似度以及可能的时
间差,生成独立变量集。判别规则定义如下:
39.1)若两输入序列dtw距离接近0,则对应变量为不同模块相连数据接口对应的输入输出数据对。将其中任一变量从独立变量集中删除。
40.2)若两输入序列dtw距离较大,且匹配路径拟合曲线近似斜率为1的直线,则对应变量为存在时移的输入输出数据对;否则为两不存在连接关系的独立变量。
41.动态时间规整dtw是一个典型的优化问题,它用满足一定条件的的时间规整函数w(n)描述测试模板和参考模板的时间对应关系,求解两模板匹配时累计距离最小所对应的规整函数。
42.假设有两个长度为n的时间序列q和c,首先计算两个序列中特定时间窗内时间点对应数值之间的距离作为相似度。例如若时间窗为w,则计算q(t1)与c(t1

w)和c(t1+w)之间所有时间点对应数值的欧式距离;c(t1)同理。
43.基于计算结构,可以构造一个n x n的矩阵网络,矩阵元素(i,j)表示q(i)和c(j)两点间的距离d(qi,cj),距离越小则相似度越高。动态时间规整规划算法即寻找一条顺次经过两序列中所有点的路径,满足路径经过点的距离之和最小。
44.第三步模式聚类采用时序序列k

means聚类,若簇数未预设,则从簇数为2开始每次递增1簇进行测试,直到某一变量被单独分为一簇,将簇内匹配度最高的解作为聚类结果。
45.第二部分内部逻辑还原将同一簇内的输入变量视为条件变量,输出变量视为状态变量,通过匹配变化前后的状态变量与条件变量,生成状态机的四个要素:初始状态、状态描述、状态变化序列、可跳转状态间的跳转条件。初始状态可根据系统观测情况自行定义,状态机的生成步骤如下:
46.1)若初始状态未定义,则将初始观测时刻的系统状态作为系统初始状态;
47.2)将簇内输出变量视为状态变量,结合观测到的系统状态,生成状态描述;
48.3)记录系统状态变量的变化过程,生成状态变化序列;
49.4)记录系统状态变化时刻的条件变量取值,将系统变化前的状态作为原状态,变化后的状态作为目标状态,生成一条完整的时序跳转链;
50.5)合并步骤4生成状态链中的相同状态,将原状态与目标状态完全相同的跳转条件以“或”的关系组合。若同一时刻多组对应不同目标状态的跳转条件被满足,则根据时序跳转链中的顺序标明优先级。
51.针对生成状态机优化的类贪心算法如下:
52.1)尝试删除每一跳转条件中的每一个条件变量判断式;
53.2)若删除后状态跳转不受影响且与原状态机跳转情况相同,则保留删除;否则取消删除;
54.3)重复步骤1和步骤2,直到遍历所有跳转条件中的所有条件变量。
55.第三部分系统结构还原将第二部分生成的离散模块通过驱动事件和数据相互关联。功能块间的事件连接即系统状态传递,即将功能间的内在逻辑和物理关系用事件连接线的方式建模表示。功能块间的数据连接即数据通信,可通过连接第一部分数据预处理中分析得到的存在时差的序列对进行还原。
56.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创
造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1