CN116976057A - 一种装置布置图自动排布方法 - Google Patents
一种装置布置图自动排布方法 Download PDFInfo
- Publication number
- CN116976057A CN116976057A CN202311037427.4A CN202311037427A CN116976057A CN 116976057 A CN116976057 A CN 116976057A CN 202311037427 A CN202311037427 A CN 202311037427A CN 116976057 A CN116976057 A CN 116976057A
- Authority
- CN
- China
- Prior art keywords
- layout
- interface
- node
- algorithm
- electrical control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000002922 simulated annealing Methods 0.000 claims abstract description 16
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 238000011160 research Methods 0.000 claims abstract description 4
- 238000010586 diagram Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 8
- 238000013461 design Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000013499 data model Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000000137 annealing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000005491 wire drawing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/16—Cables, cable trees or wire harnesses
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Architecture (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种装置布置图自动排布方法,针对现有工程中存在的问题,结合智能算法和布局优化技术,采用改进的力引导布局算法、智能模拟退火算法和DBSCAN聚类算法等多种算法结合,实现自动确定布置图中装置位置和布局,以实现最佳系统功能、可读性和效率。提供一种可以根据电气系统中装置、线缆、接口等信息,实现一种二维装置布置图自动排布方法,以降低绘制电气系统线缆布置图模型的巨大工作量,以方便地对整个电气控制系统的分析与研究。减少人工工作量,提高布置图的精确性和一致性,满足多个约束条件和优化目标,为电气控制系统等领域的装置布置图设计和规划提供高效智能的方法。
Description
技术领域
本发明涉及智能算法技术领域,尤其是涉及一种装置布置图自动排布方法。
背景技术
布局问题在系统设计和规划中一直是重要且具有挑战性的任务,其质量和效率对系统性能和可靠性至关重要。在电气控制系统、通信网络、软件界面设计等领域,布局问题是关键任务,需要有效的优化和自动化方法。传统的手动装置布置图方法存在诸多问题。手动布置图耗时费力,尤其针对大规模和复杂布局;容易出现错误和不精确,影响系统功能和效率;无法处理多个约束条件和优化目标。
发明内容
本发明的目的是提供一种装置布置图自动排布方法,减少人工工作量,提高布置图的精确性和一致性,满足多个约束条件和优化目标,为电气控制系统等领域的装置布置图设计和规划提供高效智能的方法;实现自动布局和自动布线算法平台接口封装、支持多装置多接口多电缆的布置图绘制、支持系统装置布置图自动生成、支持布置图手动修改。
为实现上述目的,本发明提供了一种装置布置图自动排布方法,包括以下步骤:
S1、采集需要生成装置布置图的电气控制系统信息;
S2、根据所采集要素构建系统整体抽象数据结构模型;
S3、建立布置图扩展力学模型,基于该模型斥力-张力的模拟退火算法进行循环迭代,生成装置抽象拓扑图并得到装置矩阵中心坐标;
S4、根据所述抽象模型生成系统无向图数据结构和已生成的装置抽象拓扑图,并根据节点出度得到每个装置的尺寸大小和接口数量,通过装置尺寸生成算法、接口排布算法、接口布局坐标分析绘制布置图中装置与接口的轮廓图像;
S5、根据接口坐标采用基于迷宫算法的避让算法进行布线绘制,生成系统整体装置布置图。
优选的,在步骤S2中,采集要素包括电气控制系统内存在的装置信息、接口信息和连接电缆信息。
优选的,在步骤S1中,具体步骤如下:
S11、搭建电气控制系统数字化平台,通过电气控制系统数字化平台获取电气控制系统的相关要素;
S12、将需要生成装置布置图的电气控制系统内存在的装置信息、接口信息和连接电缆信息通过UI交互式界面输入电气控制系统数字化平台,电气控制系统数字化平台内部将电气控制系统内存在的装置信息、接口信息和连接电缆信息构造为JSON格式的结构体,并将JSON格式结构体存储于高效的数据库中。
优选的,在步骤S2中,通过数据库解析工程整体Json结构体,将所绘制元素划分为3种信息,3种信息分别为步骤S1中输入的电气控制系统中的装置、接口、以及连接电缆,通过元素之间的映射关系来描述系统的整体情况,抽象的数据结构为无向图结构,无向图结构G(V,N)作为装置布置图自动排布方法的输入,将装置视为无向图中的节点V,接口视为无向图中每个节点的出度,连接电缆视为节点之间的边N。
优选的,在步骤S3中,斥力-张力模型算法的具体实现步骤是在斥力-张力布局每一次迭代的过程中添加三步:
(1)计算每个顶点所受邻近顶点的引力;
(2)计算出顶点所受邻近顶点的斥力大小;
(3)在每一步迭代过程中顶点都会在合力的作用下运动,最后顶点达到静止状态,完成无向图的自动布局。
优选的,在步骤S3中,得到装置矩阵中心坐标的具体方法为:
将步骤S2中生成的电气控制系统信息无向图数据结构G(V,N)作为数据输入,使用上述的斥力-张力模型算法进行迭代循环坐标布局,具体步骤为:
(1)确定布局区域的x、y的坐标范围,遍历G中的每一个节点V,对每个节点V赋予随机坐标(x,y)并绘制在布局区域,绘制每个节点V之间的边N;
(2)进行迭代布局,判断每个节点间的斥力与引力,进行节点V的坐标指定方向移动,并通过模拟退火算法中的温度函数判断布局迭代循环是否结束;
(3)如果温度函数得出的温度小于设定阈值k则停止迭代布局,并得到无向图G中的每个节点V的当前坐标值(xn,yn)并保存在数组L中。
优选的,在步骤S4中,具体包括以下步骤:
S41、装置尺寸生成与绘制
假设装置的最小宽度为WS,装置出度值为a,单个接口宽度为wc,接口最小间距为ls,装置矩形宽高比例设置为固定值1.33,装置矩形的宽高分别用W和H表示,得出装置矩形尺寸生成的表达式如下所示:
当得出的W小于最小宽度WS时,取值为最小宽度WS,取值为最小高度HS;并根据尺寸并以步骤S3生成的点作为中心坐标进行装置的矩形绘制;
S42、接口布局分析
分析步骤S3生成的拓扑图,对每个节点进行接口排布分析;节点为坐标中心点建立直角坐标系并顺时针旋转45°,判断从该节点发射坐标所在的象限范围,第一、二、三、四象限分别对应装置矩形的右、上、左、下四条边;
以中心节点建立直角坐标系并旋转45°后可以看到该节点上的边有两条边在坐标系的第一象限,三条边在第二象限,第三、四象限分别有一条边存在,因此绘制该节点的轮廓模型时,该节点的矩形左侧上会有2个接口,上侧会有3个接口,右侧与下侧分别有1个接口;
S43、接口排布算法
确定好每个边有多少个接口之后,需要确定每个接口在边上分布情况,本研究提出了两种接口分配类型,从内到外和从外到内方式,得到每条边的接口坐标后并进行接口的绘制;
最终通过对步骤S3生成的拓扑图中的每一个节点进行以上的三个步骤可以得到最终成图中的装置与接口元素在布置图区域的分布与图像信息,生成步骤S3到步骤S4实现的装置布置图排布效果。
优选的,在步骤S5中,采用避让算法进行布线绘制,在所有装置与接口已确定的情况下,进行电缆线路的走线操作,形成一个完整的布局方案;
布线采用基于迷宫算法的避让算法,按照一定的顺序依次布线,布一条新线路时,避让算法先进行识别判断:
当线路按第一条线路的常规布线方法所布置的路径上是否已经有线路存在,避免线路重叠,要在原有的线路路径上增加一定的避让值,重复这个步骤一直到线路所布的路径上没有之前的线路,不需要避让为止,最终生成装置布置图。
因此,本发明采用上述一种装置布置图自动排布方法,其技术效果如下:
(1)结合智能算法和布局优化技术,采用改进的力引导布局算法、智能模拟退火算法和DBSCAN聚类算法等多种算法结合,实现自动确定装置位置和布局,以实现最佳系统功能、可读性和效率。
(2)提供一种可以根据电气系统中装置、线缆、接口等信息,实现一种二维装置布置图自动排布方法,以降低绘制电气系统线缆布置图模型的巨大工作量,寻找最美观的布局方案,使布置图图形清晰直观,增强图形的可读性,以方便地对整个电气控制系统的分析与研究。
(3)减少人工工作量,提高布置图的精确性和一致性,满足多个约束条件和优化目标,为电气控制系统等领域的装置布置图设计和规划提供高效智能的方法。
(4)实现自动布局和自动布线算法平台接口封装、支持多装置多接口多电缆的布置图绘制、支持系统装置布置图自动生成、支持布置图手动修改。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1是方法整体思想示意图;
图2是采集元素信息原理图;
图3是输入的电气控制系统无向图结构;
图4是斥力-张力模型算法伪代码;
图5是模拟退火算法思想;
图6是结合斥力-张力模型算法和模拟退火算法流程图;
图7是算法生成的抽象拓扑图;
图8是Sequence Pair序列对模型;
图9是DBSCAN聚类算法;
图10是接口出线分析示意图;
图11是接口排布算法流程图;
图12是步骤3、4到步骤5的装置布置图转变;
图13是布线避让算法;
图14是最终装置布置图效果;
图15是本发明的整体布局和布线算法的综合算法框架示意图。
具体实施方式
以下通过附图和实施例对本发明的技术方案作进一步说明。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
实施例一
如图1和图15所示,本发明提供了一种装置布置图自动排布方法,是基于以搭建好的电气可视化平台上对需要生成装置布置图的电气控制系统进行系统内装置信息输入,并将最终生成布置图抽象化,将布局问题转换为拓扑图布局问题,通过引力-斥力模型布线算法并加入模拟退火算法判断迭代结束条件,在此基础上为了减少后续走线复杂度选择性的添加了步骤1.4增加拓扑图正交属性,在拓扑图基础上进行步骤1.5对图中的每个点去抽象化绘制设备与接口的元素图形形状,最后进行步骤1.6进行布线避让算法,生成最终装置布置图,包括以下步骤:
步骤1.1、采集需要生成装置布置图的电气控制系统信息
具体包括以下步骤:
步骤1.1.1、搭建电气控制系统数字化平台,通过电气控制系统数字化平台获取电气控制系统的相关要素。采集要素包括电气控制系统内存在的装置信息、接口信息和连接电缆信息。
电气控制系统数字化平台基于MVC架构,MVC架构的主要特征包括:分离数据模型(Model)、用户界面(View)和业务逻辑(Controller),使得它们之间的关注点清晰分离,提高代码的可维护性和复用性。
步骤1.1.2、将需要生成装置布置图的电气控制系统内存在的装置信息、接口信息和连接电缆信息通过UI交互式界面输入电气控制系统数字化平台,电气控制系统数字化平台内部将电气控制系统内存在的装置信息、接口信息和连接电缆信息构造为JSON格式的结构体,并将JSON格式结构体存储于高效的SQLite数据库中,如下图2。突出了技术上的优势,通过采用结构化的数据表示和可扩展的数据库解决方案,实现了对系统要素的可靠管理和持久化存储。同时,利用MVC的分层结构,我们能够清晰地区分数据模型、用户界面和业务逻辑,使得系统的开发、测试和维护更加灵活、高效。
步骤1.2、根据所采集要素构建系统整体抽象数据结构模型
抽象数据结构模型的生成是采用装置-接口-电缆构建无向图方式。
通过SQlite数据库解析工程整体Json结构体,将所绘制元素划分为3种信息,3种信息分别为步骤1.1中输入的电气控制系统中的装置、接口、以及连接电缆,通过元素之间的映射关系来描述系统的整体情况,结合图3示例所示,抽象的数据结构为无向图结构,无向图结构G(V,N)作为装置布置图自动排布方法的输入,将装置视为无向图中的节点V,接口视为无向图中每个节点的出度,连接电缆视为节点之间的边N。
步骤1.3、建立布置图扩展力学模型,基于该模型斥力-张力的模拟退火算法进行循环迭代,生成装置抽象拓扑图并得到装置矩阵中心坐标
基于无向图数据结构的扩展力学模型的构建过程为:输入无向图数据结构,输入图G(V,E),V为节点集合,E为边集合。G视为一个空间,节点视为带电粒子其互相排斥。当节点之间存在边时,其互相吸引。
结合图4和图5所示,在在张力-斥力模型算法中加入了模拟退火的算法思想,张力-斥力模型算法的具体实现步骤是在张力-斥力布局每一次迭代的过程中添加了三步:
首先,计算每个顶点所受邻近顶点的引力;
其次,计算出顶点所受邻近顶点的斥力大小;
最后,在每一步迭代过程中顶点都会在合力的作用下运动,模拟退火的思想是“温度”会影响顶点运动的幅度大小以及频率多少,温度会随着迭代过程的进行而逐渐下降,完成“退火”,最后顶点达到静止状态,完成无向图的自动布局。
如图6和图7,得到装置矩阵中心坐标的具体方法为:
将步骤1.2中生成的电气控制系统信息无向图数据结构G(V,N)作为数据输入,使用上述的张力-斥力模型算法进行迭代循环坐标布局,具体步骤为:
(1)确定布局区域的x、y的坐标范围,遍历G中的每一个节点V,对每个节点V赋予随机坐标(x,y)并绘制在布局区域,绘制每个节点V之间的边N。
(2)进行迭代布局,判断每个节点间的斥力与引力,进行节点V的坐标指定方向移动,并通过模拟退火算法中的温度函数判断布局迭代循环是否结束(3)如果温度函数得出的温度小于设定阈值k则停止迭代布局,并得到无向图G中的每个节点V的当前坐标值(xn,yn)并保存在数组L中。
步骤1.4、将每个装置的矩形中心坐标进行对比分析与优化组合,采用基于X、Y坐标密度的DBSCAN聚类算法进行坐标分组,建立矩形中心坐标的Sequence Pair序列对模型;
本步骤主要是为了减少后续布线算法的计算量并对步骤1.3产生的坐标值进行优化修改,增加拓扑图的正交属性。
Sequence Pair是指在一个矩形块布局中所有矩形块的两个排列构成的序列对。
Sequence Pair序列对是指是一种用于比较两个序列之间相似性的方法,它基于序列对之间的匹配长度来衡量两个序列的相似程度。
用两个包含模块单元相互位置关系的序列来确定一个布局,按照序列对所包含的矩形块位置关系,可以唯一确定矩形块间的水平约束关系和垂直约束关系,从而确定一个布局。具体为:
对一个所有矩形块位置确定的布局,序列对通过两组步线+和-来产生两个所有矩形块排列:正序列和负序列。正序列描述的是序列中前面模块在后面模块左边或者上边的关系;负序列描述的是序列中前面模块在后面模块左边或者下边的关系。
图8所示,DBSCAN是一种基于密度的聚类算法,它能够将数据点分成若干个具有高密度的簇,并将那些孤立的数据点归为噪声。DBSCAN算法可以自动识别不同密度的簇,并且不需要预先设定簇的数量。
具体实现方式如下:对步骤1.3生成的数组L(包含无向图G中的每个节点V的坐标)进行坐标排序。为了减少计算量,分别对x、y坐标使用DBSCAN聚类算法,初始化密度阈值MinPts为理想布置图装置间平均距离x,密度半径Eps选择范围100,即若两个节点的x或y轴坐标值相近,则将该两个节点的x或y坐标值相同。进而减少后续布线算法的计算量。
根据上述介绍的正序列和负序列,构建Sequence Pair序列对,假设数组L中节点的个数为n,则需要构建n×n的交叉线模型,分别对n个节点的x、y坐标值进行排序,并按照排序位次将其放置在Sequence Pair序列对模型上。并对每条边进行连线,获得新的坐标数组L。并根据新的坐标值将其绘制在布置区域中并绘制连接线,增加拓扑图中的正交属性。
步骤1.5、根据所述抽象模型生成系统无向图数据结构和已生成的装置抽象拓扑图,并根据节点出度得到每个装置的尺寸大小和接口数量,通过装置尺寸生成算法、接口排布算法、接口布局坐标分析绘制布置图中装置与接口的轮廓图像
具体实现方法如下:
1.5.1、装置尺寸生成与绘制
假设装置的最小宽度为WS,装置出度值为a,单个接口宽度为wc,接口最小间距为ls,装置矩形宽高比例设置为固定值1.33,装置矩形的宽高分别用W和H表示,得出装置矩形尺寸生成的表达式如下所示:
当得出的W小于最小宽度WS时,取值为最小宽度WS,取值为最小高度HS。并根据尺寸并以步骤1.3或1.4生成的点作为中心坐标进行装置的矩形绘制。
1.5.2、接口布局分析
分析步骤1.3和步骤1.4生成的拓扑图如图7,对每个节点进行接口排布分析。节点为坐标中心点建立直角坐标系并顺时针旋转45°,判断从该节点发射坐标所在的象限范围,第一、二、三、四象限分别对应装置矩形的右、上、左、下四条边。装置出线接口布局示意图如10所示。
以中心节点建立直角坐标系并旋转45°后可以看到该节点上的边有两条边在坐标系的第一象限,三条边在第二象限,第三、四象限分别有一条边存在,因此绘制该节点的轮廓模型时,该节点的矩形左侧上会有2个接口,上侧会有3个接口,右侧与下侧分别有1个接口。
1.5.3、接口排布算法
确定好每个边有多少个接口之后,需要确定每个接口在边上分布情况,本研究提出了两种接口分配类型,从内到外和从外到内方式,算法流程图如图11所示,得到每条边的接口坐标后并进行接口的绘制。
最终通过对步骤1.3或1.4生成的拓扑图中的每一个节点进行以上的三个步骤可以得到最终成图中的装置与接口元素在布置图区域的分布与图像信息。步骤1.3或1.4到步骤1.5实现的装置布置图排布效果如图12所示。
步骤1.6、根据接口坐标采用基于迷宫算法的避让算法进行布线绘制,生成系统整体装置布置图
结合图13采用避让算法进行布线绘制,在所有装置与接口已确定的情况下,进行电缆线路的走线操作,形成一个完整的布局方案。布线目标为:
(1)线路走线不允许重合,不允许交差;
(2)线路走线尽可能的短。
布线采用了基于迷宫算法的避让算法,即后续走线将已布置的线路当成障碍避让,按照一定的顺序依次布线,布一条新线路时,先要做是否避让的判断:即对这条线路按第一条线路的常规布线方法所布置的路径上是否已经有线路存在了,如果是,则为了避免线路重叠,要在原有的线路路径上增加一定的避让值。重复这个步骤一直到线路所布的路径上没有之前的线路,不需要避让为止。
生成装置布置图,支持布置图生成dxf、dwg、pdf格式查看,支持布置图手动修改。
步骤1.5中实现了装置布置图的初步结构,确定了装置与接口的坐标与图像,但走向形式为直线走线,通过布线避让算法实现装置布置图的合理走线,最终成图如图14所示。
实施例二
本实施例是在实施例一的基础上选择性的删除了步骤1.4,从步骤1.3直接跳转到步骤1.5,因为步骤1.4的实际意义为提高最终装置布置图成图的正交性,使最终成图更加美观工整,但实际应用中主要考虑整体方法的简洁性与高效性,因此本示例选择性删除了步骤1.4。包括以下步骤:
步骤2.1、采集需要生成装置布置图的电气控制系统信息
采集要素包括电气控制系统内存在的装置信息、接口信息和连接电缆信息;
搭建电气控制系统数字化平台,通过电气控制系统数字化平台获取电气控制系统的相关要素。
电气控制系统数字化平台基于MVC架构,MVC架构的主要特征包括:分离数据模型(Model)、用户界面(View)和业务逻辑(Controller),使得它们之间的关注点清晰分离,提高代码的可维护性和复用性。
将需要生成装置布置图的电气控制系统内存在的装置信息、接口信息和连接电缆信息通过UI交互式界面输入电气控制系统数字化平台,电气控制系统数字化平台内部将电气控制系统内存在的装置信息、接口信息和连接电缆信息构造为JSON格式的结构体,并将JSON格式结构体存储于高效的SQLite数据库中如下图2。突出了技术上的优势,通过采用结构化的数据表示和可扩展的数据库解决方案,实现了对系统要素的可靠管理和持久化存储。同时,利用MVC的分层结构,我们能够清晰地区分数据模型、用户界面和业务逻辑,使得系统的开发、测试和维护更加灵活、高效。
步骤2.2、根据所采集要素构建系统整体抽象数据结构模型
抽象数据结构模型的生成是采用装置-接口-电缆构建无向图方式。
通过SQlite数据库解析工程整体Json结构体,将所绘制元素划分为3种信息,3种信息分别为步骤2.1中输入的电气控制系统中的装置、接口、以及连接电缆,通过元素之间的映射关系来描述系统的整体情况,结合图3示例所示,抽象的数据结构为无向图结构(构造工程整体无向图数据结构),无向图结构G(V,N)作为装置布置图自动排布方法的输入,将装置视为无向图中的节点V,接口视为无向图中每个节点的出度,连接电缆视为节点之间的边N。
步骤2.3、建立布置图扩展力学模型,基于该模型斥力-张力的模拟退火算法进行循环迭代,得到装置抽象拓扑图和装置矩阵中心坐标
基于无向图数据结构的扩展力学模型的构建过程为:输入无向图数据结构,输入图G(V,E),V为节点集合,E为边集合。G视为一个空间,节点视为带电粒子其互相排斥。当节点之间存在边时,其互相吸引。实现
结合图4和图5所示,在在斥力-张力模型算法中加入了模拟退火的算法思想,斥力-张力模型算法的具体实现步骤是在斥力-张力布局每一次迭代的过程中添加了三步:
(1)计算每个顶点所受邻近顶点的引力;
(2)计算出顶点所受邻近顶点的斥力大小;
(3)在每一步迭代过程中顶点都会在合力的作用下运动,模拟退火的思想是“温度”会影响顶点运动的幅度大小以及频率多少,温度会随着迭代过程的进行而逐渐下降,完成“退火”,最后顶点达到静止状态,完成无向图的自动布局。
如图6和图7,得到装置矩阵中心坐标的具体方法为:
将步骤2.2中生成的电气控制系统信息无向图数据结构G(V,N)作为数据输入,使用上述的张力-斥力模型算法进行迭代循环坐标布局,具体步骤为:
(1)确定布局区域的x、y的坐标范围,遍历G中的每一个节点V,对每个节点V赋予随机坐标(x,y)并绘制在布局区域,绘制每个节点V之间的边N。
(2)进行迭代布局,判断每个节点间的斥力与引力,进行节点V的坐标指定方向移动,并通过模拟退火算法中的温度函数判断布局迭代循环是否结束。
(3)如果温度函数得出的温度小于设定阈值k则停止迭代布局,并得到无向图G中的每个节点V的当前坐标值(xn,yn)并保存在数组L中。
步骤2.4、根据所述抽象模型生成系统无向图数据结构和步骤2.3生成的装置抽象拓扑图,并根据节点出度得到每个装置的尺寸大小和接口数量,通过装置尺寸生成算法、接口排布算法、接口布局坐标分析绘制布置图中装置与接口的轮廓图像
具体实现方法如下:
2.4.1、装置尺寸生成与绘制
假设装置的最小宽度为WS,装置出度值为a,单个接口宽度为wc,接口最小间距为ls,装置矩形宽高比例设置为固定值1.33,装置矩形的宽高分别用W和H表示,得出装置矩形尺寸生成的表达式如下所示:
当得出的W小于最小宽度WS时,取值为最小宽度WS,取值为最小高度HS。并根据尺寸并以步骤3生成的点作为中心坐标进行装置的矩形绘制。
2.4.2、接口布局分析
分析步骤2.3生成的拓扑图如图7,对每个节点进行接口排布分析。节点为坐标中心点建立直角坐标系并顺时针旋转45°,判断从该节点发射坐标所在的象限范围,第一、二、三、四象限分别对应装置矩形的右、上、左、下四条边。装置出线接口布局示意图如10所示。
以中心节点建立直角坐标系并旋转45°后可以看到该节点上的边有两条边在坐标系的第一象限,三条边在第二象限,第三、四象限分别有一条边存在,因此绘制该节点的轮廓模型时,该节点的矩形左侧上会有2个接口,上侧会有3个接口,右侧与下侧分别有1个接口。
2.4.3、接口排布算法
确定好每个边有多少个接口之后,需要确定每个接口在边上分布情况,本研究提出了两种接口分配类型,从内到外和从外到内方式,算法流程图如图11所示,得到每条边的接口坐标后并进行接口的绘制。
最终通过对步骤2.3生成的拓扑图如图7中的每一个节点进行以上的2.4.1、2.4.2、2.4.3三个步骤可以得到最终成图中的装置与接口元素在布置图区域的分布与图像信息。步骤2.3到步骤2.4实现的装置布置图排布效果如图12所示。
步骤2.5、根据接口坐标采用基于迷宫算法的避让算法进行布线绘制,生成系统整体装置布置图
结合图13采用避让算法进行布线绘制,在所有装置与接口已确定的情况下,进行电缆线路的走线操作,形成一个完整的布局方案。布线目标为:
(1)线路走线不允许重合,不允许交差;
(2)线路走线尽可能的短。
布线采用了基于迷宫算法的避让算法,即后续走线将已布置的线路当成障碍避让,按照一定的顺序依次布线,布一条新线路时,先要做是否避让的判断:即对这条线路按第一条线路的常规布线方法所布置的路径上是否已经有线路存在了,如果是,则为了避免线路重叠,要在原有的线路路径上增加一定的避让值。重复迭代避让算法一直到线路所布的路径上没有之前的线路,不需要避让为止。
生成装置布置图,支持布置图生成dxf、dwg、pdf格式查看,支持布置图手动修改。
在步骤2.4中实现了装置布置图的初步结构,确定了装置与接口的坐标与图像,但走向形式为直线走线,通过布线避让算法实现装置布置图的合理走线,最终成图如图14所示。
因此,本发明采用上述一种装置布置图自动排布方法,减少人工工作量,提高布置图的精确性和一致性,满足多个约束条件和优化目标,为电气控制系统等领域的装置布置图设计和规划提供高效智能的方法;实现自动布局和自动布线算法平台接口封装、支持多装置多接口多电缆的布置图绘制、支持系统装置布置图自动生成、支持布置图手动修改。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (8)
1.一种装置布置图自动排布方法,其特征在于,包括以下步骤:
S1、采集需要生成装置布置图的电气控制系统信息;
S2、根据所采集要素构建系统整体抽象数据结构模型;
S3、建立布置图扩展力学模型,基于该模型斥力-张力的模拟退火算法进行循环迭代,生成装置抽象拓扑图并得到装置矩阵中心坐标;
S4、根据所述抽象模型生成系统无向图数据结构和已生成的装置抽象拓扑图,并根据节点出度得到每个装置的尺寸大小和接口数量,通过装置尺寸生成算法、接口排布算法、接口布局坐标分析绘制布置图中装置与接口的轮廓图像;
S5、根据接口坐标采用基于迷宫算法的避让算法进行布线绘制,生成系统整体装置布置图。
2.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S2中,采集要素包括电气控制系统内存在的装置信息、接口信息和连接电缆信息。
3.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S1中,具体步骤如下:
S11、搭建电气控制系统数字化平台,通过电气控制系统数字化平台获取电气控制系统的相关要素;
S12、将需要生成装置布置图的电气控制系统内存在的装置信息、接口信息和连接电缆信息通过UI交互式界面输入电气控制系统数字化平台,电气控制系统数字化平台内部将电气控制系统内存在的装置信息、接口信息和连接电缆信息构造为JSON格式的结构体,并将JSON格式结构体存储于高效的数据库中。
4.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S2中,通过数据库解析工程整体Json结构体,将所绘制元素划分为3种信息,3种信息分别为步骤S1中输入的电气控制系统中的装置、接口、以及连接电缆,通过元素之间的映射关系来描述系统的整体情况,抽象的数据结构为无向图结构,无向图结构G(V,N)作为装置布置图自动排布方法的输入,将装置视为无向图中的节点V,接口视为无向图中每个节点的出度,连接电缆视为节点之间的边N。
5.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S3中,斥力-张力模型算法的具体实现步骤是在斥力-张力布局每一次迭代的过程中添加三步:
(1)计算每个顶点所受邻近顶点的引力;
(2)计算出顶点所受邻近顶点的斥力大小;
(3)在每一步迭代过程中顶点都会在合力的作用下运动,最后顶点达到静止状态,完成无向图的自动布局。
6.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S3中,得到装置矩阵中心坐标的具体方法为:
将步骤S2中生成的电气控制系统信息无向图数据结构G(V,N)作为数据输入,使用上述的斥力-张力模型算法进行迭代循环坐标布局,具体步骤为:
(1)确定布局区域的x、y的坐标范围,遍历G中的每一个节点V,对每个节点V赋予随机坐标(x,y)并绘制在布局区域,绘制每个节点V之间的边N;
(2)进行迭代布局,判断每个节点间的斥力与引力,进行节点V的坐标指定方向移动,并通过模拟退火算法中的温度函数判断布局迭代循环是否结束;
(3)如果温度函数得出的温度小于设定阈值k则停止迭代布局,并得到无向图G中的每个节点V的当前坐标值(xn,yn)并保存在数组L中。
7.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S4中,具体包括以下步骤:
S41、装置尺寸生成与绘制
假设装置的最小宽度为WS,装置出度值为a,单个接口宽度为wc,接口最小间距为ls,装置矩形宽高比例设置为固定值1.33,装置矩形的宽高分别用W和H表示,得出装置矩形尺寸生成的表达式如下所示:
当得出的W小于最小宽度WS时,取值为最小宽度WS,取值为最小高度HS;并根据尺寸并以步骤S3生成的点作为中心坐标进行装置的矩形绘制;
S42、接口布局分析
分析步骤S3生成的拓扑图,对每个节点进行接口排布分析;节点为坐标中心点建立直角坐标系并顺时针旋转45°,判断从该节点发射坐标所在的象限范围,第一、二、三、四象限分别对应装置矩形的右、上、左、下四条边;
以中心节点建立直角坐标系并旋转45°后可以看到该节点上的边有两条边在坐标系的第一象限,三条边在第二象限,第三、四象限分别有一条边存在,因此绘制该节点的轮廓模型时,该节点的矩形左侧上会有2个接口,上侧会有3个接口,右侧与下侧分别有1个接口;
S43、接口排布算法
确定好每个边有多少个接口之后,需要确定每个接口在边上分布情况,本研究提出了两种接口分配类型,从内到外和从外到内方式,得到每条边的接口坐标后并进行接口的绘制;
最终通过对步骤S3生成的拓扑图中的每一个节点进行以上的三个步骤可以得到最终成图中的装置与接口元素在布置图区域的分布与图像信息,生成步骤S3到步骤S4实现的装置布置图排布效果。
8.根据权利要求1所述的一种装置布置图自动排布方法,其特征在于,在步骤S5中,采用避让算法进行布线绘制,在所有装置与接口已确定的情况下,进行电缆线路的走线操作,形成一个完整的布局方案;
布线采用基于迷宫算法的避让算法,按照一定的顺序依次布线,布一条新线路时,避让算法先进行识别判断:
当线路按第一条线路的常规布线方法所布置的路径上是否已经有线路存在,避免线路重叠,要在原有的线路路径上增加一定的避让值,重复这个步骤一直到线路所布的路径上没有之前的线路,不需要避让为止,最终生成装置布置图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311037427.4A CN116976057B (zh) | 2023-08-17 | 2023-08-17 | 一种装置布置图自动排布方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311037427.4A CN116976057B (zh) | 2023-08-17 | 2023-08-17 | 一种装置布置图自动排布方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116976057A true CN116976057A (zh) | 2023-10-31 |
CN116976057B CN116976057B (zh) | 2024-03-19 |
Family
ID=88485015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311037427.4A Active CN116976057B (zh) | 2023-08-17 | 2023-08-17 | 一种装置布置图自动排布方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116976057B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013923A (zh) * | 2024-04-02 | 2024-05-10 | 江西理工大学 | 一种基于OpenGL的PCB自动化排版结果检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220522A1 (en) * | 2006-03-14 | 2007-09-20 | Paul Coene | System and method for runtime placement and routing of a processing array |
CN101820357A (zh) * | 2010-02-11 | 2010-09-01 | 哈尔滨工业大学 | 网络安全事件可视化系统 |
CN104616207A (zh) * | 2015-01-27 | 2015-05-13 | 中国科学院计算机网络信息中心 | 电网拓扑可视化系统和方法 |
CN108629061A (zh) * | 2017-03-23 | 2018-10-09 | 南京南瑞继保电气有限公司 | 一种混合式布局的配电网单线图自动生成方法 |
CN111444587A (zh) * | 2020-02-27 | 2020-07-24 | 国网信通亿力科技有限责任公司 | 一种基于自动绘图技术的电力图形绘制方法 |
CN113783926A (zh) * | 2021-06-21 | 2021-12-10 | 中国舰船研究设计中心 | 一种基于嵌入式软件应用框架的船舶数字信息交互系统 |
US11711270B1 (en) * | 2022-04-19 | 2023-07-25 | Ciena Corporation | Creating an optimal node interconnect topology given certain constraints |
-
2023
- 2023-08-17 CN CN202311037427.4A patent/CN116976057B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070220522A1 (en) * | 2006-03-14 | 2007-09-20 | Paul Coene | System and method for runtime placement and routing of a processing array |
CN101820357A (zh) * | 2010-02-11 | 2010-09-01 | 哈尔滨工业大学 | 网络安全事件可视化系统 |
CN104616207A (zh) * | 2015-01-27 | 2015-05-13 | 中国科学院计算机网络信息中心 | 电网拓扑可视化系统和方法 |
CN108629061A (zh) * | 2017-03-23 | 2018-10-09 | 南京南瑞继保电气有限公司 | 一种混合式布局的配电网单线图自动生成方法 |
CN111444587A (zh) * | 2020-02-27 | 2020-07-24 | 国网信通亿力科技有限责任公司 | 一种基于自动绘图技术的电力图形绘制方法 |
CN113783926A (zh) * | 2021-06-21 | 2021-12-10 | 中国舰船研究设计中心 | 一种基于嵌入式软件应用框架的船舶数字信息交互系统 |
US11711270B1 (en) * | 2022-04-19 | 2023-07-25 | Ciena Corporation | Creating an optimal node interconnect topology given certain constraints |
Non-Patent Citations (3)
Title |
---|
梁晟 等: "基于节点属性的启发式网络拓扑图布局算法", 《计算机工程与应用》, vol. 52, no. 20, 8 June 2016 (2016-06-08), pages 122 - 126 * |
王文清 等: "大尺寸部件测量信息高速并行处理系统设计", 《电子测量技术》, vol. 39, no. 09, 15 September 2016 (2016-09-15), pages 108 - 113 * |
陆欣星 等: "一种优化的二次接线自动生成方法研究", 《工程图学学报》, no. 04, 28 August 2006 (2006-08-28), pages 31 - 37 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118013923A (zh) * | 2024-04-02 | 2024-05-10 | 江西理工大学 | 一种基于OpenGL的PCB自动化排版结果检测方法 |
CN118013923B (zh) * | 2024-04-02 | 2024-07-09 | 江西理工大学 | 一种基于OpenGL的PCB自动化排版结果检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116976057B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
De Floriani et al. | Morse complexes for shape segmentation and homological analysis: discrete models and algorithms | |
CN102346795B (zh) | 电工电子类虚拟实验快速自动布线方法 | |
CN106919769B (zh) | 一种基于多层次方法和赋权超图的层次式fpga布局布线方法 | |
CN112257597B (zh) | 一种点云数据的语义分割方法 | |
CN116976057B (zh) | 一种装置布置图自动排布方法 | |
CN105046363B (zh) | 一种区域配电系统单线图布局和优化方法 | |
CN105488269A (zh) | 一种基于cim模型的输配电网自动成图系统 | |
CN115859899B (zh) | 一种多驱动能力的集成电路标准单元版图迁移的方法 | |
CN107480409B (zh) | 一种电力系统可视化仿真模型拓扑分层布局方法 | |
CN108900320B (zh) | 一种互联网测试床拓扑结构大比例规模缩减方法及装置 | |
CN102637217B (zh) | 基于云计算平台的大规模集成电路布线系统 | |
CN112100450A (zh) | 一种图计算数据分割方法、终端设备及存储介质 | |
CN115329411A (zh) | 基于先验规则和深度神经网络的舰船电气图纸布局方法 | |
Gyulassy et al. | Practical considerations in Morse-Smale complex computation | |
CN104090945B (zh) | 一种地理空间实体构建方法及系统 | |
CN114254467B (zh) | 电网环网图生成方法 | |
Strodthoff et al. | Layered Reeb graphs for three-dimensional manifolds in boundary representation | |
Miller et al. | Embedding-based placement of processing element networks on FPGAs for physical model simulation | |
CN116702689A (zh) | 量子芯片版图的构建方法和装置及存储介质 | |
Ding et al. | Study on the automatic modeling method of 3D information model for substations | |
JP2008299641A (ja) | 連立一次方程式の並列求解方法およびノード順序付け方法 | |
CN109767489A (zh) | 一种机载LiDAR点云电力线矢量化建模方法以及存储介质 | |
CN108280574A (zh) | 一种配电网结构成熟度的评价方法及装置 | |
CN103927377A (zh) | 基于虚拟关联能量的电网潮流图厂站节点排布方法 | |
CN115618542B (zh) | 一种基于gis单线图的配电网环网图生成方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |