一种控制系统建模中的功能块智能布线方法

文档序号:6321650阅读:250来源:国知局
专利名称:一种控制系统建模中的功能块智能布线方法
技术领域
本发明涉及人工智能技术、计算机技术和自动控制技术,具体是一种功能块智能 布线技术。
背景技术
随着现代工业的生产技术、工艺过程日趋复杂,生产设备和装置的规模不断扩大, 人们对控制系统的需求越来越高。根据应用对象及控制任务的不同要求,用户需要灵活配 置、合理组合各个功能模块,以完善和逼真的显示方式正确地表达出目标系统所要求的控 制逻辑,并且保证生成系统的实用性和高效率性。控制系统组态是工业控制技术的核心技 术之一,它主要是针对不同工程应用进行系统建模、控制逻辑建模和监控图元建模,而控制 系统控制逻辑建模是由功能块及功能块之间的连线组成,主要完成工业控制系统输入、输 出变量参数的配置,构成数据传输路线。常见的工业控制系统都是采取“搭积木式”对话框形式,或在控制系统控制对象少 的情况下通过简单的连线生成相应的链接对象进行组态配置,而在复杂多回路控制系统的 情况下,这些配置方式存在工作量大、表述不直观等缺陷,同时在仿真测试软件中也很难寻 找直观的连接关系。在这种情形下,功能块布线工作变得越来越繁重,因此提供一种智能布 线方法是至关重要的。现有技术中针对布线方法的研究有很多,目前已经提出的有VI^R布局功能(基于 模拟退火功能)、PCP布局功能、迷路法、斯坦纳(Steiner)树算法、贪婪算法等,它们都是 以提高设计的可制造性、信号的完整性、使用资源少、能耗低、布通率高、布线面积(即通道 数)或通孔数最小等为目标函数进行考虑。上述的布线功能都是基于多层电路板及集成电 路线网或电网系统而设计的,而针对工业控制系统自动化领域很少涉及到,同时在工业控 制系统建模领域中,所提及到的布线目标强调的是布线版图的可操作性及灵活性,对布线 面积的要求并不高,因此在工业控制系统建模领域中,寻求一种适应的智能布线方法成为 技术发展的必要。本发明正是在这样的背景下提出的,主要是结合工业控制系统建模过程中复杂控 制关系、多功能块、多控制回路的特点,以及高效率、高灵活性的建模需求等特点,创新性地 提出了一种适合复杂工业控制系统建模过程中的功能块智能布线方法。该方法把人工智能 应用到自动布线领域中,这是一种新的探索,也是一个重要的、大有发展前途的领域,将对 传统的布线方式的创新产生积极的影响。

发明内容
本发明所要解决的问题是,针对复杂工业控制系统控制对象数量多、数据结构复 杂的特点,以集成电路线网布线设计和电网系统中的布线方法为参考,结合分析面向区域 和面向网格的布线功能及控制策略组态的结构特点,综合多种算法模式来设计,充分考虑 了布线版图的可操作性和灵活性,能够高效率、更合理的对布局版图进行布线,为此提出了一种适合复杂工业控制系统的智能布线方法。要求线路绕过视图上已有的各种不同的功能 块,实现线路连线路径短,拐点少、整齐美观的设计效果。本发明解决其技术问题所采用的技术方案是采用基于IEC61131-3国际标准的 图形化功能块方式对控制逻辑进行建模,用以在计算机平台上布设具有多功能块、多线路 的布线版图,将整个布线版图区域划分为若干个大小可变排列整齐的虚拟单元网格,从布 线起点开始,一直沿着水平方向或竖直方向探索目标点,借助图1所给出的连线折点个数 的判断方法、连线走向的确定方法、连线索引的确定方法、连线折点坐标的求解方法以及布 线版图区域中状态空间的转移过程,采用了智能搜索技术、迷宫探路思想,通过映射、逆映 射方法,自动确定一条功能块之间的最优路线,到达目标点。连线折点个数判断模块根据功能块的位置、连线点之间的位置关系以及功能块之 间是否存在其它功能块,确定连线折点个数;连线走向模块根据连线的折点个数、功能块之 间存在的其它功能块位置及数量,确定连线的走向;连线索引模块结合网络区域中的已有 布线状态信息,及连线的走向确定连线的索引值;位置模块根据连线之间的间距、连线的索 引值确定连线的折点坐标,由此确定连线的具体位置。状态空间转移模块结合连线的具体 位置对组态界面布局进行更新。 连线折点个数判断方法是控制系统布线算法的关键环节,为控制系统布线过程中 不出现交叉、重叠问题提供了保障,它的设计思想为根据功能块左上顶点、连线点的坐标判 断它们之间的位置关系以及功能块之间是否存在其它功能块,同时结合具体实施方式
中的 连线折点个数选取情况表1,确定连线折点个数。连线走向确定方法采用映射策略和探索思想,为控制系统布线提供合理的、最优 的布线途径和方法。其基本思想是以网格区域中的网格线为映射目标,采用映射策略,将连 线的两布线点映射到网格线上,同时借助迷宫探索思想,根据已知的连线折点个数,采用退 化的k*算法,求解网格线上任意两点之间的最优路径,再借助布线点逆映射策略,以最优路 径原则完成所有布线点的逆映射过程,从而构成相应连线的走向。连线索引值求解方法步骤如下I、计算连线中横线段所在的网格区域的行数。II、在连线数据库中查询上述行中已存在的所有横线段,获取每条横线段所连接 的功能块、端子点信息,并确定横线段的影响实体是线头功能块或是线尾功能块。III、寻求该横线段与该行中其它横线段的上下位置关系的一种匹配模式。IV、获取两横线段的索引大小关系。V、通过二叉树排序法,两两比较,确定该横线段索引的取值范围。VI、通过逐步逼近,直至缩小到最小范围,从而获取该横线段的索引值。νπ、同横线段索引求解方法,计算连线中左竖线段、右竖线段的索引值。连线折点坐标求解方法步骤如下I、初始化布线版图中功能块等对象的数据信息及其间距;II、判断功能块、布线点之间的位置关系,确定连线的折点个数;III、参照连线索引的求解方法,计算连线中横线段、左竖线段、右竖线段的索引 值;IV、根据连线的走向及折点个数,结合折点坐标公式,获取连线的具体位置。
布线版图区域状态空间转移是针对控制系统模型中功能块等控制对象发生改变 时,整个控制系统模型状态空间同时发生相应转移的过程,例如当添加、删除或者移动系统 中某一功能块对象时,引起整个布线版图区域中信息素发生相应的变化,其中包括改变布 线版图区域大小、网格区域大小、功能块位置、连线位置及折点数等。本发明提出的一种适合控制系统建模的规模自适应的、高效率的功能块智能布线 方法,可有效解决工业控制系统网络结构复杂、设备繁多、组态关系复杂情形下工程师组态 工作量大、组态界面凌乱的问题,避免了一般布线系统中障碍物在布线过程中位置固定不 变和布通率不高的情况,并能够更好地为用户提供直观友好的界面以及灵活操作的建模环 境,快速地完成不同功能块之间的互连。本发明方法思路简捷,易于编程,求解速度快,连线质量高,当功能块达到一定规 模时,时间复杂度及空间复杂度都很高,其优越性尤其显著,有一定的推广价值。


图1布线方法总体流程2基于功能块和连线的概念模型图3路径探索方向选取4连线最优路径搜索流程5连线中横线段索引求解流程6横线段的位置关系比较模式7左竖线段的位置关系比较模式8右竖线段的位置关系比较模式9功能块、网格线、连线之间间距示意图
具体实施例方式以下结合附图和具体实例对本发明的实施作具体说明。系统组态是工业控制系统的核心技术之一,它主要是针对不同工业控制系统不同 工程应用来进行建模,通过功能块输入输出端口之间的相互连接,完成系统输入、输出变量 参数的配置,构成数据传输路线。将整个布线版图区域划分为一个个大小可变的虚拟单元网格,把功能块看做布线 版图中的障碍物,从起点开始,一直沿着水平方向或竖直方向探索,借助连线折点个数的判 断方法、连线的走向确定方法、连线索引的确定方法、连线折点坐标的求解步骤以及布线版 图区域中状态空间的转移过程,采用了智能搜索技术、迷宫探路思想,通过映射、逆映射方 法,自动确定一条功能块之间的最优路线直至到达目标点。建立图2所描述的符合IEC61131-3国际标准的功能块和连线的概念模型,将功能 块视作具有输入、输出端口和内部控制算法的模型,将连线视作“拷贝”操作,实现从一个功 能块的输出端口到另一个功能块输入端口的数据拷贝,连线内记忆了连线两端的功能块的 定位信息和线头功能块输出端口的定位信息及线尾功能块输入端口的定位信息。在工业控制系统建模过程中,按照系统组态控制策略,功能块之间的任意两个布线点连接关系是确定的,而布线点位置是可变的,则在布线点位置变化的模式下,采用自动选择最优路径成为核心问题。该问题可以描述如下在二维多功能块、多连线的布线版图区域中,依据组态控制策略中功能块关系网 表,寻找功能块端子点之间连线的最优路径,其中功能块作为连线的障碍物。为了便于描 述,现以寻求布线版图区域中任意点A、B之间的最优路径,其中起点A位于功能块FB2的输 出端子点上,目标点B位于功能块FB1的输入端子点上,如图3所示。
该布线问题是一个多目标优化问题,其优化目标如下(A)布线满足控制系统功能块并行性特点。即功能块中的每个输出端子点可以与 多个输入端子点相连,每个输入端子点最多只能与一个输出端子点相连。(B)布通率要达到100%。即任意两个布线点都可以找到一条最优布线路径,并且 不影响已布线集合中任意连线的连接关系。(C)布线总长度尽可能短,折点数不多于4个。即任意两点布线时,连线的折点数 不多于4个,并且保证已布线集合中任意连线的折点数也不多于4个。(D)布线版图力求美观。即控制系统建模过程中布线版图区域中的障碍物、连线始 终分布均勻,相等区域包含的功能块数量偏差不小于2,每个功能块只能位于一个格子中。(E)布线具有自动规避障碍能力。即任意两个布线点的布线路径与所有已布线的 布线路径之间最多有5个交点,不能重叠,且与障碍物无交点。(F)障碍物及已布线可根据实际需求位置发生变化。即当对控制系统建模过程中 的布线版图区域中任意对象进行某种操作(诸如添加、删除、移动等)时,所有障碍物及已 布连线的位置可能发生变化。(G)布线速度尽可能快。对于上述布线问题及优化目标,本发明提出一种智能布线方法,用以在计算机平 台上布设具有多功能块、多线路的布线版图,将整个布线版图区域划分为若干个大小可变 排列整齐的虚拟单元网格,从布线起点开始,一直沿着水平方向或竖直方向探索目标点,如 图1所示,描述了布线方法总体流程图,连线折点个数判断模块根据功能块的位置、连线点 之间的位置关系以及功能块之间是否存在其它功能块,确定连线折点个数;连线走向模块 根据连线的折点个数、功能块之间存在的其它功能块位置及数量,确定连线的走向;连线索 引模块结合网络区域中的已有布线状态信息,及连线的走向确定连线的索引值。布线状态 信息包括连线中横线段所在的网格区域的行数,行中所有横线段,每条横线段所连接的功 能块、端子点信息,横线段的影响实体是线头功能块还是线尾功能块。位置模块根据连线之 间的间距、连线的索引值确定连线的折点坐标,由此确定连线的具体位置。状态空间转移模 块结合连线的具体位置对组态界面布局进行更新,在此过程中,采用了智能搜索技术、迷宫 探路思想,通过映射、逆映射方法,自动确定一条功能块之间的最优路线,到达目标点。结合 图1所示的几种方法1.连线折点个数判断表1描述了连线折点个数选取情况表。对布线区域中任意的两个布线点,将它们 所在的功能块记为fbp fb2,根据功能块之间和布线点之间的不同位置关系,规定了两布线 点连线的折点数只能为0、2、4个。连线折点个数判断模块对两端子点A、B之间连线的折点 个数进行选取判断,具体为,连线折点个数判断模块首先根据功能块FBp FB2的位置关系、 端子点A、B的位置关系以及FB1JB2之间是否存在其它功能块,计算相应的横纵坐标大小,并进行比较,再根据连线折点个数选取情况表1,确定A、B两点连线的折点个数。表1连线折点个数选取情况
fbi在fb2 ^在^^同 迅1在伪2
方与伪2之间存在其它功能块 4个4个4个2.确定连线走向对连线的走向的确定,首先采用布线点映射策略,将需要连线的两布线点A、B映 射到网格区域中的网格线上,然后借助迷宫探索思想,可采用退化的A*算法,根据已知的连 线折点个数,求解网格线上任意两点之间的最优路径,再借助布线点逆映射策略,将确定的 上述最优路径逆映射到网格区域中,形成逆映射点,并将所有逆映射点、布线起点、布线目 标点按顺序水平或竖直连接,构成A、B两点之间的连线的走向。图3描述了功能块FB2的 输出端子点A与功能块FB1的输出端子点B之间的路径探索方向选取流程,其中,A1, B1为 A、B在网格线上的映射点,Cp D1为Ap B1在网格线上的折点,P1^ P2> P3、P4为A、B两点连线 的折点,A — P1 — P2 — P3 — P4 — B组成了连线的具体走向。其详细流程如下①布线点映射策略将布线点A、B分别向对应的功能块所在的网格区域中的网格线上水平投影,如, 点A向右投影,点B向左投影,将映射关系记为f,并记它们在格子线上的投影点为布线端映 射点q^ q2。如图3所示,Q1 = A1, q2 = B1,A-^Ar B^jB1。特别地,若两映射点屮、 %重合,则该连线的探索路径为由起点、终点构成的无折点的直线段。下面均考察上述两映 射点不重合的情形。②网格线上任意两点的最优路径的确定图4描述了网格线上任意两点的最优路径搜索流程。根据布线点目标点坐标(xe, ye),可能搜索点的坐标(X,y),算法模块调用评价函数f (n) = (|xe-x| + |ye-y|) (Hamilton 距离),表示可能搜索点到目标点的距离值,采用退化的k*算法,根据已知的A、B两点之间 连线折点个数,确定^、Q2之间连线的最优路径。寻求Ql、Q2之间连线的最优路径,每次选 择下一个当前搜索点时,从所有已探知但未搜索过的点中,选取评价函数f (η)值最小的结 点进行展开。其中,所有“已探知的但未搜索过点”,是指沿着网格线水平方向或竖直方向探 索所选取的可行点(该点均是由网格线与网格线的交点构成),并把这些点加入到未搜索 过的点的列表中。反复遍历已探知的点并查找f (η)值最小的点,并根据线路要素判断该点为合理点还是障碍点,移除障碍点。将所有合理点进行连接。可以用冒泡排序或快速排序 等方法进行从低到高排序查找f (η)值最小的点,作为当前搜索点,并设定为C点。同时需 要判断C点是否为连线要素点,即线路要素垂直相交,但非平行重叠的点。其判断方法为 若当前搜索点C位于已经存在的线路要素上,则把C点与它的父结点相连成一直线,判断已 经存在的线路要素是否与该直线平行或重叠,如果平行或重叠,则可以判定C点是障碍点, 否则,视它为垂直相交点,为合理点。如果是障碍点,则移除C点,重新遍历已探知的点并选 择f(n)值最小的点作为C点,以此类推。不断反复探索,只至搜索到目标点为止。
如针对f(n)值最小条件下的探索路径可能仍然存在多条,需进一步判断连线的 折点个数是否为O或1或2,在连线队列中,如找到折点个数为0或1的连线,则该连线为最 优路径;若存在多条连线折点个数为2,且连线路径长度为最优且相等,根据优先级原则, 选取需连线的两点中较上方的点,找出该选取点所在的行网格区域,选择连线折点落在该 区域的下网格线上的一条路径为最优路径。进一步保存路径,从布线终点开始,每个结点沿 着其父结点移动直至连线起点,这条路径即为连线最优路径。为下面叙述方便,若连线中存 在折点,则记为q3、q4,若仅有一个折点,则记为q3。如图3所示,q3 = C1^q4 = D1.探索过程中所经过的水平线与竖直线之间的交点构成连线的折点,根据折点之间 的连线段与所在网格区域中的功能块位置关系,构成了布线版图区域中的横线段、左、右竖 线段。如图3所示,P1P2, P2P3、P3P4分别为A、B两点连线的右竖线段、横线段、右竖线段,它 们所在的区域为右竖线段区域、横线段区域、右竖线段区域。③布线点逆映射策略布线点逆映射是指将上述最优路径确定模块中所探索到的网格线 上的点根据逆映射原则重新映射到网格区域中,其中网格线上的点包括映射 点Qi、q2以及折点q3、q4,这种映射关系记为f ‘,它为一对多映射。如图3, 下面具体说明映射关系f'如下I、建立映射点(如点qi、q2)逆映射原则,必须满足下述两要素之一 两映射点所对应的逆映射点分别与布线起点、布线目标点在同一水平方向上。 两映射点所对应的逆映射点必须位于布线起点或布线目标点所在列的左、右竖 线段区域中,当两映射点不在同一网格线上时,则布线起点所对应的映射点逆映射到右竖 线段区域中,目标点所对应的映射点逆映射到左竖线段区域中;当两映射点在同一网格线 上时,起点所对应的映射点逆映射到右竖线段区域中,而终点所对应的映射点如何逆映射, 其决定因素在于终点所在列,起点所在行中是否存在功能块。若存在功能块,且起点、目标 点位于不同行时,目标点的映射点逆映射到目标点所在列的左竖线段区域中。其它情况,均 逆映射到起点所在列的右竖线段区域中。特别地,若两映射点重合,则起点、目标点直接相 连。II、建立折点(即点q3、q4)逆映射原则折点逆映射到所对应的网格线上方行的 横线段区域中。布线点逆映射具体实施方案如下首先将映射点、折点分别按照相应的逆映射原则进行逆映射,获取逆映射点;然后 将逆映射点顺序连接,构成两布线点的连线走向,并确定连线所引起的横线段、左竖线段、右竖线段的存在状态及存在区域。其探测结果如下当Q1 = Q2时,起点、终点直接相连,无折点,此时连线中不存在 横线段、左竖线段、右竖线段;当Α Φ q2时,分如下三种情况讨论当q3、q4不存在时,连线 存在2个折点或4个折点;当q3存在、q4不存在时,连线存在2个折点或4个折点;当q3、q4 存在时,该起点、终点的连线有4个折点。对于有2个折点的情形,连线中可存在一条左竖线段、不存在横线段、右竖线段; 对于有4个折点的情形,连线中可存在一条横线段、一条左竖线段、一条右竖线段。3确定连线索引连线索引的确定目标是确定构成连线的横线段、左竖线段、右竖线段索引。在已布 线中,连线的横线段、竖线段的位置与已布线集合中的横线段、竖线段有关,结合网格区域 中功能块和连线状态信息,利用搜索方法根据线段在行网格区域和列网格区域中的位置关 系来确定各线段索引值。对各线段索引的定义如下各线段的索引是针对行网格区域、列网格区域的,随着 线段之间的位置关系的不同而改变。对于横线段而言,比较同行网格区域中的各横线段的 上下位置关系,索引值越小,其对应的横线段越位于上方。同理,对于左、右竖线段而言,比较同列左、右竖线段区域中的各竖线段的左右位 置关系,左竖线段索引越小,越位于右边;右竖线段索引越小,越位于左边。若连线中的某横 或竖线段索引为0,则表示该线段不存在。图5描述了连线中横线段索引的求解过程,其具体步骤为I、根据连线的走向,计算A、B两点连线中横线段所在的网格区域的行数,记为m。II、在连线数据库中查询横线段所在的网格区域的行数中所有横线段,获取每条 横线段所连接的功能块、端子点信息,并确定横线段的影响实体是线头功能块还是线尾功 能块。在连线数据库中查询m行中已存在的所有横线段,获取已存在的每条横线段的相 关信息,包括横线段相连的线头功能块、线尾功能块、线头端子点、线尾端子点以及横线段 的影响实体是线头功能块还是线尾功能块。其中,连线数据库中保存着每条连线段的相关 信息,对于横线段的影响实体是线头功能块还是线尾功能块,其判定法则是当FBp FB2的 行数不同时,若横线段所在行数与其中之一相等时,与其相等的功能块就称为影响实体;当 FBpFB2的行数相同时,取其列数大的功能块为影响实体。III、寻求该横线段与该行中的其它横线段位置关系的一种匹配模式,匹配原则是 比较两条横线段的影响实体及相关信息。图6描述了两横线段的上下位置关系比较的七种 匹配模式,在m行中,横线段Ll是由算法块FB1的输出端子点A引起的,横线段L2是由算法 块FB2的输入端子点B引起的,根据FBp FB2, A、B之间的位置关系来判断选择适宜的模式。IV、根据上述所求的判断模式及其所对应的条件,查找表2连线索引大小比较情况,获取两横线段的索引大小关系。如在图6中的模式1-1中所对应的不同功能块FB的排 列顺序是从左到右,其相应的横线段的索引值是从小到大,即在FB2在F81的右方,则L2的索 引值比Ll大。表2连线索引大小比较情况表 V、通过二叉树排序法,两两比较,确定该横线段的索引的取值范围。VI、通过逐步逼近,直至缩小到最小范围,从而获取该横线段的索引值。同理,对于左竖线段、右竖线段的索引值,根据图7和图8所给出的左、右竖线段位 置关系判断模式及表2以类似的方法来求解。图7描述了两左竖线段的位置关系比较的两种匹配模式,根据各左竖线段的影响 实体的位置关系,确定它们之间的位置关系。模式2-1是在两左竖线段的影响实体为不同 功能块FB时,确定两左竖线段的位置关系;模式2-2是在两左竖线段的影响实体为同一功 能块FB,而所连接的输入端子点不同时,确定它们的位置关系。图8描述了右竖线段的位置 关系比较的五种匹配模式,根据各右竖线段的影响实体的位置关系,确定它们之间的位置 关系。4.连线折点坐标的求解根据布线版图中功能块的具体位置、布线区域的各布局对象之间的间距,结合连 线的走向、索引求解方法来确定连线的具体位置,其连线折点坐标的计算步骤如下I .布线版图各对象数据的初始化对于每一个功能块FB都可包含着如下静态属性名字Name、大小(HeightF, WidthF)、左顶点位置Pos (X,Y)、输入端子点IP、输出端子点0P、所在网格区域中行数RowF、 列数ColF,同时这些静态属性可唯一构成一个功能块,为此将功能块表示为 对于每一条连线LINE都包含着如下静态属性起点的坐标HPt、起点所在功 能块HFb,终点的坐标TPt、终点所在功能块TFb,折点坐标CrossPt (Pti i = 1、...、 CrossPt(NumPt))、折点个数CrossPt(NumPt),同时这些静态属性可唯一构成一条连线,为 此将连线表示为
(HPt, HFb,CrossPtJ, 0、LINE=(HPT,HFB,CROSSPT,TPT,TFB)(2)其中折点集合为CR0SSPT = {NumPt, Pti | i = 1、· · ·、NumPt},且 CrossPt e CR0SSPT。i.首先将FB1, FB2的相关信息设定为Fbi = (FbiL, FbiR, FbiD)τ,其中
Jb1D J IvFB1-Pos-Y+ FB1-Heighty 且这些数据均为已知数据。
ii.初始化布线版图中各对象之间的间距。图9描述了功能块、网格线、连线之间间距,其中Cl1-Cl6的具体含义如下Cl1 表示功能块的左(右)端子点与该列中左(右)竖线段区域中最右(左)边 的左(右)竖线段之间的水平距离;d2 表示左(右)竖线段区域中任意两相邻左(右)竖线段之间的水平距离;d3 表示左(右)竖线段区域中最左(右)边的左(右)竖线段与该左(右)竖 线段所在列的网格区域的左(右)边网格线之间的水平距离;d4:表示功能块的底部与该行中下横线段区域中最上边的下横线段之间的竖直距 罔;d5 表示下横线段区域中任意两相邻下横线段之间的竖直距离;d6:表示下横线段区域中最下边的下横线段与该下横线段所在行中的网格区域的 下方网格线之间的竖直距离。II .判断FBi、FB2、A、B之间的位置关系,查找表1,确定连线L的折点个数,即获取 CrossPt. NumPt 的值。III.参照连线索引的求解方法,计算连线中横线段、左竖线段、右竖线段的索引 值,即获取 IndexLhLine、IndexRhLine, IndexLvLine, IndexRvLine 的具体值,其中,这些变 量依次表示连线L中左横线段、右横线段、左竖线段、右竖线段的索引值。IV、根据L的走向及折点个数的不同,分如下三种情形来构建获取各折点坐标公 式如下i.当连线的折点个数为O时CrossPt. NumPt = 0,且L中不存在横线段、左、右竖线段,L是A、B相连的无折点 的直线段。ii.当连线的折点个数为2时CrossPt. NumPt = 2,且L中只存在一条右竖线段,不存在横线段和左竖线段,L中 折点坐标分别为 iii.当连线的折点个数为4时CrossPt. NumPt = 4,且L中存在一条横线段、一条左竖线段、一条右竖线段,L中 第一个折点、第四个折点坐标分别为 当连线中所存在的横线段为左下横线段时,L中第二个折点、第三个折点坐标分别 为

(6)
^Pt3 J ^Fb1L ) ^IndexLvLine) I^-I)y当连线中所存在的横线段为右下横线段时,L中第二个折点、第三个折点坐标分别

(7)
^Fb1L) ^IndexLvLineJ Iv-IjJ5.状态空间的转移表3描述了添加一条连线时,该连线对控制系统建模中布线版图各信息素的影响 情况表。对控制系统建模中的某一个对象进行操作时,其它布局对象也会受到相应的影响。 当添加、删除或者移动功能块或连线时,整个布线版图区域中的信息素会发生相应的变化, 主要包括布线版图区域大小、网格区域大小、功能块位置、连线位置及折点数。表3连线对布线版图各信息素的影响情况表 当在布线版图区域中加入一个布线对象后,状态空间转移模块在所述位置进行组 态界面布局更新,查询连线对布线版图各信息素的影响情况表,确定布线版图区域中信息 素的变化,包括布线版图区域高度、宽度的变化,网格区域、功能块、连线的变化情况,如,增 加一条横线段,则网格区域中大于该行的区域左顶点纵坐标相应的增加。
权利要求
一种功能块智能布线方法,其特征在于连线折点个数判断模块根据功能块的位置、连线点之间的位置关系以及功能块之间是否存在其它功能块,确定连线折点个数;连线走向模块根据连线的折点个数、功能块之间存在的其它功能块位置及数量,确定连线的走向;连线索引模块根据网络区域中的已有布线状态信息及连线的走向,确定连线的索引值;位置模块根据连线之间的间距、连线的索引值确定连线的折点坐标,由此确定连线的具体位置。状态空间转移模块结合连线的具体位置对组态界面布局进行更新。
2.根据权利要求1所述的功能块智能布线方法,其特征在于所述确定连线的走向具 体包括,将需要连线的布线起点A、布线目标点B映射到网格区域中的网格线上,采用退化 的A*算法,根据已知的连线折点个数,求解映射到网格线上两点之间的最优路径,将确定的 上述最优路径逆映射到网格区域中,形成逆映射点,并将所有逆映射点、布线起点、布线目 标点按顺序水平或竖直连接,构成A、B两点连线的具体走向。
3.根据权利要求1所述的功能块智能布线方法,其特征在于确定连线的索引值的步 骤具体包括,计算连线中横线段所在的网格区域的行数;在连线数据库中查询上述行中所 有横线段,获取每条横线段所连接的功能块、端子点信息,并确定横线段的影响实体是线头 功能块还是线尾功能块;寻求该横线段与该行中所有横线段上下位置关系的匹配模式;获 取两横线段的索引关系;通过二叉树排序法,两两比较,确定该横线段的索引的取值范围; 通过逐步逼近,直至缩小到最小范围,从而获取该横线段的索引值;同理,计算连线中左竖 线段、右竖线段的索引值。
4.根据权利要求2所述的功能块智能布线方法,其特征在于在逆映射中,当两映射点 不在同一网格线上时,则布线起点所对应的映射点逆映射到右竖线段区域中,目标点所对 应的映射点逆映射到左竖线段区域中;当两映射点在同一网格线上时,起点所对应的映射 点逆映射到右竖线段区域中,而终点所对应的映射点根据终点所在列,起点所在行中是否 存在功能块确定。
5.根据权利要求2所述的功能块智能布线方法,其特征在于网格线上两点之间的最 优路径的确定方法为,每次选择下一个当前搜索点时,从所有未搜索过的点中,选取评价函 数f(n)值最小的结点进行,反复遍历已探知的点并查找f(n)值最小的点,并根据线路要素 判断该点为合理点还是障碍点,移除障碍点,连接合理点。
6.根据权利要求5所述的功能块智能布线方法,其特征在于如根据评价函数f(n)值 最小的结点确定的路径有多条,寻找折点个数为0或1的连线为最优路径;若存在多条连线 折点个数为2,且连线路径长度为最优且相等,选取需连线的两点中较上方的点,找出该选 取点所在的行网格区域,选择连线折点落在该区域的下网格线上的一条路径为最优路径。
全文摘要
本发明请求保护一种适用于复杂工业控制系统建模中的功能块智能布线方法,涉及智能布线技术。本发明根据工业控制系统建模过程中复杂控制关系、多功能块、多控制回路的特点,以及高效率、高灵活性的建模需求,设计出了一种智能布线方法,通过对连线折点个数的判断、连线的走向选取、连线索引确定、连线折点坐标以及布线版图区域中状态空间的转移过程,通过映射、逆映射方法,有效解决了工业控制网络结构复杂、设备繁多、组态关系复杂、组态界面凌乱的问题,并实现了不同功能块之间的互连问题,有较高的灵活性和适用性。本发明布线速度快,连线质量高,功能块达到一定规模时,时间复杂度及空间复杂度都很高,其优越性尤其显著,有一定的推广价值。
文档编号G05B13/04GK101840202SQ20101018179
公开日2010年9月22日 申请日期2010年5月25日 优先权日2010年5月25日
发明者关学进, 刘娟, 刘思东, 梁孟芹, 王平, 王颋, 蔡林沁, 陈学军 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1