CN117631618A - 一种dcs逻辑组态画面连线的实时优化方法及系统 - Google Patents
一种dcs逻辑组态画面连线的实时优化方法及系统 Download PDFInfo
- Publication number
- CN117631618A CN117631618A CN202311478928.6A CN202311478928A CN117631618A CN 117631618 A CN117631618 A CN 117631618A CN 202311478928 A CN202311478928 A CN 202311478928A CN 117631618 A CN117631618 A CN 117631618A
- Authority
- CN
- China
- Prior art keywords
- path
- point
- coordinates
- orthogonal
- cost
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000005457 optimization Methods 0.000 title claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims abstract description 42
- 230000008859 change Effects 0.000 claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001131 transforming effect Effects 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 10
- 230000004888 barrier function Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种DCS逻辑组态画面连线的实时优化方法及系统包括,利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;并在计算路径完成后变换坐标为原始坐标系;本发明方法能够在保证连线正交的同时对连线进行多目标优化,通过在连线较少的交点及较少的拐点中综合取优,以及连线路径具有自动和动态避开不可通行区域的特点,大幅度减少了人工操作;且相较于其他正交路径规划算法具有功能全面,算法体量小,时间复杂度低的优点。
Description
技术领域
本发明涉及电力控制系统技术领域,尤其涉及一种DCS逻辑组态画面连线的实时优化方法及系统。
背景技术
随着我国电厂机组容量的提升以及发电技术的进步,电厂的分散控制系统控制逻辑日趋复杂,对分散控制系统算法组态软件的要求也越来越高。复杂的控制系统通常需要数百页的功能块图来实现,为提高功能块图的制作效率,对于功能块之间的连线的自动路由方式提出了较高的要求。比如连线采用直角布局,要智能地避障并绕开功能块、保证连线交点最少,画面版面美观并且算法应具有较短的计算时间使连线工作快速进行,最大程度减少人工干预调整的工作量,提高工作效率,优化显示效果。但在当前国内外各厂家的DCS控制系统中,各过程控制子系统组态使用的图形编辑软件对于元素布局及连线的处理方法较简单,没有对于连线进行以上各方面的优化处理,且部分系统连线不具有避障功能,功能块布局移动后连线不会随之变化,需要手动调整以达到整齐的效果,当连线非常复杂的情况下,软件提供的手动调节功能也收效甚微。连线线路的杂乱会造成现场工作人员检查复杂逻辑组态造成巨大困难,对过程控制站乃至整个电厂的安全运行埋下隐患,也会占用组态人员的图形编辑时间,降低组态可读性。
图形之间的连线路由算法大致有下面几种:拐点路由、最短路路由和曼哈顿路由。其中曼哈顿路由算法是常见的正交连线算法。曼哈顿路由可以最大程度地减少线长和交叉点,但如何按照均匀分布、重心平衡、版面美观的标准优化布局和仍然需要一些规则和智能算法的辅助,且当连线线路中插入其他图形时,曼哈顿算法需要重新计算路径,增加了计算时间。常用的路径规划方法大致可分为三类:传统算法(Dijkstra算法、A*算法等)、智能算法(PSO算法、遗传算法、强化学习等)、传统与智能相结合的算法。智能算法计算时间长,计算复杂度高,不适用于图形的快速连线。传统算法中D*通过维护一个优先队列(openlist)来对场景中的路径节点进行搜索,D*不是由起始点开始搜索,而是以目标点为起始,通过将目标点置于openlist中来开始搜索,直到当前位置节点由队列中出队为止,如果中间某节点状态有动态改变,只需在变化节点之后重新寻路,相较于Dijkstra算法、A*算法此方法提高了寻路效率,所以是一个动态寻路算法。而在当前流行的流程图编辑应用软件中,连线路由功能的代码体量较大,逻辑复杂。离线操作组态软件时,连线路径计算时间过长会影响软件使用体验,延长工程时间。当组态软件在线调试时对计算机CPU性能要求较高,在线修改拥有庞大计算量和几十万个信号量的控制系统组态逻辑是一项危险的操作,由于操作同时连线需要随功能块位置变化动态改变,此时连线过程占用的时间和CPU内存过多会对其他过程造成影响。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。因此,本发明提供了一种DCS逻辑组态画面连线的实时优化方法,用来解决实际问题中,连线无法兼顾自适应功能块位置、过程占用时间长以及过程占用CPU内存过多影响其他进程的问题。
为解决上述技术问题,本发明提供如下技术方案:
第一方面,本发明提供了一种DCS逻辑组态画面连线的实时优化方法,包括:
利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;
根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;
所述计算路径完成后变换坐标为原始坐标系。
作为本发明所述的DCS逻辑组态画面连线的实时优化方法的一种优选方案,所述通过建立规则判断画面变化场景,包括:
根据画面变化类型,判断是否需要重新规划路径;
从前端获取画面信息,若画面中的连线端点坐标发生变化或页面大小发生变化,则需重新规划路径;若画面中的连线线路上放置功能块及其他图形,则无需重新规划路径。
作为本发明所述的DCS逻辑组态画面连线的实时优化方法的一种优选方案,还包括:
若需要重新规划路径,则调用图形信息,利用OCR算法生成图形连接点之间的正交寻路网络;获得目标点坐标,在原始坐标中利用D*算法,进行该条路径的首次计算;计算过程中保存路径原始坐标并变换为VectorPoint坐标;保存计算过程中每点生成的代价函数值h(x)及k(x)存为该路径代价矩阵H;计算代价函数过程中规定了正交网络的生成以及拐点数计算的规则;
若无需重新规划路径,则通过调用该路径代价矩阵中保存的代价函数值,调用D*算法的代价修改函数,在正交寻路网络坐标下修改断点及周围邻接点的代价函数,以断点为起始点重新计算路径,重新保存计算后的路径;将路径坐标变换为原始坐标。
作为本发明所述的DCS逻辑组态画面连线的实时优化方法的一种优选方案,其中:利用OCR算法生成图形连接点之间的正交寻路网络,包括:
图形设置,设置图纸的大小为长L×宽W,则图中每点的坐标为(x,y),其中(0<x<L,0<y<W),画面中所有点的坐标组成一个二维数组,将其命名为barrier,并通过所述数组建立图形对象;
在获取有效图形对象后,将连接点坐标加入连接点集合,连接点的x值集合为XI={x1,x2,…,xlenx},连接点的y值集合为YI={y1,y2,…,yleny};
对XI和YI分别进行处理,删除其中的重复值,并将集合中的值按照从小到大排序;
根据以上的处理结果,计算XI和YI的笛卡尔积,生成原始正交网络,公式为:
XI×YI={(xi,yj)|xi∈XI,yj∈YI}
={(x1,y1),(x1,y2),…,(x1,yleny),(x2,y1),(x2,y2),…,(x2,yleny),…,(xlenx,yleny)}
其中,lenx为XI的长度,leny为YI的长度;
变换原始正交网络坐标为正交寻路网络矩阵坐标,正交寻路网络矩阵坐标X值集合为Y值集合为/>
计算两者的笛卡尔乘积为:
初始化连接点,在生成原始正交网络时,同时判断网络内坐标点的所有原始坐标(xi,yj)是否落在有效区域内,若落于有效区域(非障碍物区域)则将该点进行坐标转换为正交寻路网络内的坐标点(i,j),加入寻路矩阵VectorPoint。
作为本发明所述的DCS逻辑组态画面连线的实时优化方法的一种优选方案,其中:在原始坐标中利用D*算法,进行该条路径的首次计算,包括:
初始化目标点G与起始点S,从目标点G开始,把所述目标点G加入到一个由有效连接点组成的openlist中,G的h(X)=k(X)=0;
扩展所述目标点G的周围节点,查找与其相邻的连接点X,如果有则计算该点的h(X)和k(X),保存于路径代价矩阵H中;
其中,路径代价矩阵为一维数组格式为:H(X)={(Xi,Xj,h(X),k(X))},Xi为该点横坐标,Xj为该点纵坐标,h(X),k(X)为该点代价函数;
执行函数PROCESS_STATE()的逻辑,若t(X)=new,那么k(X)=h(X);若t(X)≠new,表示节点的K已经有代价,需继续判断;
将终点G放入close list里面,即不再遍历;找出代价最小的节点作为新节点,重复搜索直到起始点S从openlist中弹出进入了close list;从起点开始找父节点,一直搜索到终点将路径中的每个节点保存在该路径path数组中;
将path数组中的坐标变换为正交寻路矩阵中的坐标。
作为本发明所述的DCS逻辑组态画面连线的实时优化方法的一种优选方案,其中:表示节点的K已经有代价,需继续判断,包括:
当K_old<h(X),则该节点x处于raise状态,说明原路径不是最优路径;若在x周围能够找到一个点y,使得h(Y)+C(X,Y)更小,则修改X的父节点为Y,重置其h(X)的值,并更新路径代价矩阵H;
当K_old=h(X),则该节点X处于lower的状态,说明并没有受到障碍影响,或者还在初始遍历的阶段。
在原始坐标网络下,障碍处坐标属性Value=0,查找障碍物处的路径点X,X的h值变为无穷大;通过计算b(X),找到其父节点Y;此时的寻路方向是从(S—Y—X—G)。
作为本发明所述的DCS逻辑组态画面连线的实时优化方法的一种优选方案,其中:计算路径完成后变换坐标为原始坐标系,包括:
调用OCR算法重新生成正交寻路网络坐标,但保留原始坐标的属性;
变换(S—Y)路径为新的正交寻路网络坐标,并在该坐标下调用代价修改:MODIFY_COST(),将节点Y重新放入openlist中;
MODIFY_COST()的逻辑为,若父节点Value=0,Y点h值会变为无穷大,则将其放入到openlist中;此时该节点的k还是是原来的h值,需重新计算Y走邻域的点到终点G的代价,h(Y)=C(Y,Z)+h(Z),找到最小值Z变为其父节点;同时将周围Y的子节点的h值更新,h(U)=更新过后的h(Y)-C;
直到K_min(openlist中所有节点最小的k值)>=hx(当前点X的h值),计算过程更新的h值保存至路径代价矩阵H;
重新执行PROCESS_STATE()的逻辑计算路径,获得修改后的路径,修改后路径坐标为正交寻路网络坐标,通过查找反向查找每点坐标属性值,将坐标转换后保存至path中。
第二方面,本发明提供了DCS逻辑组态画面连线的实时优化系统,其包括:
规则建立模块,利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;
调用处理与计算模块,根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;
替换模块,所述计算路径完成后变换坐标为原始坐标系。
第三方面,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中:所述处理器执行所述计算机程序时实现上述方法的任一步骤。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其中:所述计算机程序被处理器执行时实现上述方法的任一步骤。
与现有技术相比,发明有益效果为:本发明利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;并在计算路径完成后变换坐标为原始坐标系;本发明方法能够在保证连线正交的同时对连线进行多目标优化,通过在连线较少的交点及较少的拐点中综合取优,以及连线路径具有自动和动态避开不可通行区域的特点,大幅度减少了人工操作;且相较于其他正交路径规划算法具有功能全面,算法体量小,时间复杂度低的优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例所述的DCS逻辑组态画面连线的实时优化方法的总体流程图;
图2为本发明一个实施例所述的DCS逻辑组态画面连线的实时优化方法的具体实施流程图;
图3为本发明一个实施例所述的DCS逻辑组态画面连线的实时优化方法生成的正交路由网络图;
图4为本发明一个实施例所述的DCS逻辑组态画面连线的实时优化方法的画面首次路径计算两点连线线路图(原坐标系下);
图5为本发明一个实施例所述的DCS逻辑组态画面连线的实时优化方法的画面添加功能块后二次路径计算两点连线线路图(正交网络坐标系下);
图6为本发明一个实施例所述的DCS逻辑组态画面连线的实时优化方法的功能效果图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1,为本发明第一个实施例,该实施例提供了一种DCS逻辑组态画面连线的实时优化方法,包括:
S1、利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;
进一步的,建立规则判断画面变化场景,并根据画面变化类型,判断是否需要重新规划路径;
更进一步的,从前端获取画面信息,若画面中的连线端点坐标发生变化或页面大小发生变化或新增连线,则需重新规划路径;若画面中的连线线路中移入功能块及其他图形,则无需重新规划路径;
更进一步的,若需要重新规划路径,则调用图形信息,利用OCR算法生成图形连接点之间的正交寻路网络;获得目标点坐标,在原始坐标中利用D*算法,进行该条路径的首次计算;计算过程中保存路径经过坐标点并变换为VectorPoint坐标;保存计算过程中每点生成的代价函数值h(x)及k(x)存为该路径代价矩阵H;计算代价函数过程中规定了正交网络的生成以及拐点数计算的规则;
更进一步的,若无需重新规划路径,则通过调用该路径代价矩阵中保存的代价函数值,调用D*算法的代价修改函数,在正交寻路网络坐标下修改断点及周围邻接点的代价函数,以断点为起始点重新计算路径,重新保存计算后的路径;将路径坐标变换为原始坐标;
进一步的,图形设置,设置图纸的大小为长L×宽W,则图中每点的坐标为(x,y),其中(0<x<L,0<y<W),画面中所有点的坐标组成一个二维数组,将其命名为barrier;
应当说明的是,数组中的每点作为一个对象具有如下属性:在图中的实际坐标位置;在正交寻路网络中的坐标位置;若点不存在于正交网络中,则属性值为NULL;连通属性,设置值Value,表示为:
该点到终点G的代价h(X)(距离+拐点数+连线交点数+边界值),初始为无限大;k(X)的初始值为:k(X)=h(X);
进一步的,通过数组建立图形对象;
应当说明的是,图形对象包括以下属性:左上角点的坐标为(x0,y0);矩形宽w,矩形高h;所占区域的Value值(规定图形为障碍物,Value=0);设置图形不可连通区域为:该图形区域及将该图形向外扩大10个像素后图形的外围区域以防止连线贴着图形移动;不可连通区域Value先全部取0,随后在区域内图形连接点取特殊值,Value=1;图形连接点坐标依据功能块图形模板文件中的功能块管脚分布进行连接点坐标设置;例如,图形模板文件中选图形左上角点的相对坐标为原点(0,0),管脚1的坐标为(0,-yc),则实际连接点坐标计算方法为:左上角点的实际坐标+管脚的相对坐标=(x0,y0-yc);
进一步的,在获取有效图形对象后,将连接点坐标加入连接点集合,连接点的x值集合为XI={x1,x2,…,xlenx},连接点的y值集合为YI={y1,y2,…,yleny};
进一步的,对XI和YI分别进行处理,分别删除其中的重复值,并将集合中的值按照从小到大排序;
进一步的,根据以上的处理结果,计算XI和YI的笛卡尔积,生成正交网络,公式为:
XI×YI={(xi,yj)|xi∈XI,yj∈YI}
={(x1,y1),(x1,y2),…,(x1,yleny),(x2,y1),(x2,y2),…,(x2,yleny),…,(xlenx,yleny)}
其中,lenx为XI的数组长度,leny为YI的数组长度;
进一步的,变换原始正交网络坐标为正交寻路网络矩阵坐标,正交寻路网络矩阵坐标X值集合为Y值集合为/>
进一步的,计算两者的笛卡尔乘积为:
进一步的,初始化连接点,在生成原始正交网络时,同时判断网络内坐标点的所有原始坐标(xi,yj)是否落在有效区域内,若落于有效区域(非障碍物区域)则将该点进行坐标转换为正交寻路网络内的坐标点(i,j),加入寻路矩阵VectorPoint;
应当说明的是,VectorPoint内的坐标点具有如下属性:该点的实际坐标位置(映射到barrier数组中的坐标);该点的进入方向OR;在路径中的父节点parent;该点到终点G的代价h(X)(距离+拐点数+连线交点数+边界值),初始为无限大;k(X)的初始值为:k(X)=h(X);
S2、根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;
进一步的,利用D*路由算法进行连线两端点间首次正交路径计算并存入连线集合中,步骤如下:
规定算法中参数及符号:
D*算法以有向图作为前提,即在A、B节点间,“A到B”与“B到A”表示两个弧,因此对应的权重不一定一样;
X、Y、Z、S、G:称为节点具体表现为坐标,也称为state,其中S表示Start即起始点,G表示Goal即目标点;由于D*是以目标点为起始点,所以D*的目标点DG=S,DS=G;
{S,……,G}:表示一条路径,该路径以S为起点,G为终点,简记为{S};
b(X)=Y:用来记录反向指针(backpointer),即X->Y,当处于X位置时可以根据b(X)获得下一个要到达的节点Y,以使得路径最优;
t(X):节点的访问标记位(tag),支持3个类型:NEW、OPEN、CLOSED
NEW:节点从未访问过,最初的设置,可能存在部分节点永远处于改状态;
OPEN:节点正在访问中,存储在openlist中,以待访问扩展;
CLOSED:节点已经被访问过,从优先队列中移除,并完成了相邻节点的扩展,一般找到了到达终点G的最优路径;
h(X):用来估算节点X到达终点G的路径({G,……X})代价;
其中,代价值h(X)=两点的曼哈顿距离H+拐点数gd+连线交点数jd+边界值nc+方向d;
曼哈顿距离:若存在两点(x1,y1),(x2,y2),曼哈顿距离表示为:
H=|x2-x1|+|y2-y1|
拐点数计算:若存在两点A(x1,y1),B(x2,y2)由A到B;
应当说明的是,拐点数判断条件如下:当A到B的方向同A的进入方向相同,且y2=y1时,拐点数为0;当A到B的方向同A的进入方向相同,且B的进入方向同A相同时,拐点数为2;当A到B的方向同A的进入方向相反,但B的进入方向同A相同时,拐点数为4;
边界值nc:nc越大表示离障碍物越近;当点的实际坐标位于不可连通区域(矩形边界)向外扩大10个像素的范围内时,nc=500,当位于10个以内像素及障碍物范围时,nc=1/Value;
方向d:当方向为上下左右时的代价为0,为斜向时的代价为500;
k(X):用来记录自X节点被加入到openlist中后的最小h(X)值;k的计算在更新过本节点的h后,如果本点t(X)=new,k(X)=h(X);如果本点t(X)=open,那就取一下当前k和new_h(选择其它父节点后的h)最小值,如果本点是t(X)=closed,取当前h和new_h最小值;由以上过程,k将会保持到最小,它表示了本点在全图环境中到G点的最小代价;
应当说明的是,c(X,Y)从X到Y的代价,计算方法同h(X);
优先级:根据点的位置和前进方向,得到其周围邻近的连接点,优先级为前进方向>右边>左边;
进一步的,进行第一次路径的计算,计算的所有坐标均在原始坐标系下,算法计算逻辑如下:
初始化目标点G与起始点S,从目标点G开始,把它加入到一个由有效连接点组成的openlist中,现在openlist里只有一项,即目标点G,G的h(X)=k(X)=0;
扩展该点的周围节点,查找与其相邻的连接点X,如果有则计算该点的h(X)和k(X);保存于路径代价矩阵H中,路径代价矩阵为一维数组;
应当说明的是,数组中数据格式如下:H(X)={(Xi,Xj,h(X),k(X))},Xi为该点横坐标,Xj为该点纵坐标,h(X),k(X)为该点代价函数;
进一步的,执行函数PROCESS_STATE()的逻辑:若t(X)=new,那么k(X)=h(X);若t(X)≠new,节点的K已经有代价,进行如下判断:
更进一步的,当K_old<h(X):说明该节点x处于raise状态,当前h(X)升高说明原来的路径已经不是最优的了,如果在x周围能找到一个点y,h(Y)+C(X,Y)更小,那就修改X的父节点为Y,重置其h(X)的值,并更新路径代价矩阵H;
更进一步的,若K_old=h(X):该节点X处于lower的状态,并没有受到障碍影响,或者还在第一遍遍历的阶段;
进一步的,把终点G放入close list里面(不再遍历);然后找出代价最小的节点作为新节点,继续重复搜索直到起点S从open list中弹出进入了close list;随后从起点开始找父节点,一路搜索到终点将路径中的每个节点保存在该路径path数组中;
将path数组中的坐标变换为正交寻路矩阵中的坐标;
S3、计算路径完成后变换坐标为原始坐标系;
进一步的,搜寻路径断点位置:在原始坐标网络下,障碍处坐标属性Value=0,查找障碍物处的路径点X,X的h值变为无穷大;通过计算b(X),找到其父节点Y;此时的寻路方向是从(S—Y—X—G);
调用OCR算法重新生成正交寻路网络坐标,但保留原始坐标的属性;
变换(S—Y)路径为新的正交寻路网络坐标,并在该坐标下调用代价修改:MODIFY_COST(),将节点Y重新放入openlist中;
应当说明的是,调用过程中所需h()从路径代价矩阵H中调用,计算过程中所需参数从原坐标系的中调用;
MODIFY_COST()的逻辑为,若父节点Value=0,Y点h值会变为无穷大,则将其放入到openlist中;此时该节点的k还是是原来的h值,需重新计算Y走邻域的点到终点G的代价,h(Y)=C(Y,Z)+h(Z),找到最小值Z变为其父节点;同时将周围Y的子节点的h值更新,h(U)=更新过后的h(Y)-C;
直到K_min(openlist中所有节点最小的k值)>=hx(当前点X的h值),计算过程更新的h值保存至路径代价矩阵H;
重新执行PROCESS_STATE()的逻辑计算路径,获得修改后的路径,修改后路径坐标为正交寻路网络坐标,通过查找反向查找每点坐标属性值,将坐标转换后保存至path中;
应当说明的是,由于重新执行PROCESS_STATE()的逻辑计算路径后面点到目标点的h及k值是之前计算过的,所以不必计算;这样能够保证对动态障碍物再规划的效率。
进一步的,本实施例还提供一种DCS逻辑组态画面连线的实时优化系统,包括:
规则建立模块,利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;
调用处理与计算模块,根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;
替换模块,所述计算路径完成后变换坐标为原始坐标系。
本实施例还提供一种计算机设备,适用于DCS逻辑组态画面连线的实时优化方法的情况,包括:
存储器和处理器;存储器用于存储计算机可执行指令,处理器用于执行计算机可执行指令,实现如上述实施例提出的DCS逻辑组态画面连线的实时优化方法。
该计算机设备可以是终端,该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提出的DCS逻辑组态画面连线的实时优化方法。
本实施例提出的存储介质与上述实施例提出的数据存储方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
实施例2
参照图2至图6,为本发明第二个实施例,该实施例提供了一种DCS逻辑组态画面连线的实时优化方法,包括:
判断条件1:连线端点坐标发生变化;
判断条件2:页面大小发生变化;
判断条件3:新增连线;
判断条件4:连线线路中移入功能块及其他图形;
首先,判断图形变化场景,若满足判断条件1~3,则进行如下步骤:
根据图形信息初始化Barrier和XI,YI数组;
计算XI,YI的笛卡尔乘积生成VectorPoint,即正交寻路网络(如图3所示,黑色表示功能块所在不可连通区域,灰色表示功能块外围不可连通区域,黑色网格线表示正交寻路网络坐标系,灰色网格线表示原始坐标系),网络中每个坐标点都具有原始坐标点的属性;
通过鼠标点击获取起点终点的坐标信息获得目标点G与起始点S,将目标节点存入Open表中,初始化节点,目标节点初始化后h(X)=k(x);
在原始坐标(如图4所示,黑色正交线代表原始网络坐标系,带箭头的连线代表连线路径)的基础上,调用D*算法进行该路径首次计算方式同Dijkstra相同,规定上下左右的代价为0,斜着方向的代价为500;每个坐标包含有三个量(节点名,代价,父节点),从终点G开始,搜索周围的邻节点,给它们周围坐标分别标号:B,C,D,E,F,代价按照规定的计算,保存于H矩阵中;调用PROCESS_STATE()函数,然后找出代价最小的节点作为新节点,并把终点G放入closelist里面(不再遍历);继续搜索,搜索结束条件就是终点从openlist中弹出进入了closelist;随后从起点开始按照h值最小找父节点,一路搜索到终点,保存路径至path;
若满足判断条件4,则进行如下步骤:
搜寻受到影响的路径,即搜索路径矩阵path中Value=0的坐标点;例如为path1,从path中提取该路径为一数组path1;
在path1中查找到障碍物处的断路点X,计算b(X),找到其父节点Y;调用OCR算法重新生成正交寻路网络坐标(如图5所示,图中黑色交线区域代表正交网络坐标系,带箭头的连线代表连线路径,灰色区域代表不可连接区域),但保留原始坐标的属性;
变换S—Y路径为新的正交寻路网络坐标,在该坐标下调用代价修改:MODIFY_COST(),将节点Y重新放入openlist中,调用过程中所需h()从路径代价矩阵H中调用,计算过程中所需参数从原坐标系的中调用;
重新执行PROCESS_STATE()的逻辑计算路径,获得修改后的路径,坐标转换后保存至path(如图6所示)。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种DCS逻辑组态画面连线的实时优化方法,其特征在于,包括:
利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;
根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;
所述计算路径完成后变换坐标为原始坐标系。
2.如权利要求1所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,所述通过建立规则判断画面变化场景,包括:
根据画面变化类型,判断是否需要重新规划路径;
从前端获取画面信息,若画面中的连线端点坐标发生变化或页面大小发生变化或新增连线,则需重新规划路径;若画面中的连线线路上放置功能块及其他图形,则无需重新规划路径。
3.如权利要求2所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,还包括:
若需要重新规划路径,则调用图形信息,利用OCR算法生成图形连接点之间的正交寻路网络;获得目标点坐标,在原始坐标中利用D*算法,进行该条路径的首次计算;计算过程中保存路径经过坐标点并变换为VectorPoint坐标;保存计算过程中每点生成的代价函数值h(x)及k(x)存为该路径代价矩阵H;计算代价函数过程中规定了正交网络的生成以及拐点数计算的规则;
若无需重新规划路径,则通过调用该路径代价矩阵中保存的代价函数值,调用D*算法的代价修改函数,在正交寻路网络坐标下修改断点及周围邻接点的代价函数,以断点为起始点重新计算路径,重新保存计算后的路径;将路径坐标变换为原始坐标。
4.如权利要求3所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,利用OCR算法生成图形连接点之间的正交寻路网络,包括:
图形设置,设置图纸的大小为长L×宽W,则图中每点的坐标为(x,y),其中(0<x<L,0<y<W),画面中所有点的坐标组成一个二维数组,将其命名为barrier,并通过所述数组建立图形对象;
在获取有效图形对象后,将连接点坐标加入连接点集合,连接点的x值集合为XI={x1,x2,…,xlenx},连接点的y值集合为YI={y1,y2,…,yleny};
对XI和YI分别进行处理,删除其中的重复值,并将集合中的值按照从小到大排序;
根据以上的处理结果,计算XI和YI的笛卡尔积,生成正交网络,公式为:
XI×YI={(xi,yj)|xi∈XI,yj∈YI}
={(x1,y1),(x1,y2),…,(x1,yleny),(x2,y1),(x2,y2),…,(x2,yleny),…,(xlenx,yleny)}
其中,lenx为XI的数组长度,leny为YI的数组长度;
变换原始正交网络坐标为正交寻路网络矩阵坐标,正交寻路网络矩阵坐标X值集合为Y值集合为/>
计算两者的笛卡尔乘积为:
初始化连接点,在生成原始正交网络时,同时判断网络内坐标点的所有原始坐标(xi,yj)是否落在有效区域内,若落于有效区域,则将该点进行坐标转换为正交寻路网络内的坐标点(i,j),加入寻路矩阵VectorPoint。
5.如权利要求3或4所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,在原始坐标中利用D*算法,进行该条路径的首次计算,包括:
初始化目标点G与起始点S,从目标点G开始,把所述目标点G加入到一个由有效连接点组成的openlist中,G的h(X)=k(X)=0;
扩展所述目标点G的周围节点,查找与其相邻的连接点X,如果有则计算该点的h(X)和k(X),保存于路径代价矩阵H中;
其中,路径代价矩阵为一维数组格式为:H(X)={(Xi,Xj,h(X),k(X))},Xi为该点横坐标,Xj为该点纵坐标,h(X),k(X)为该点代价函数;
执行函数PROCESS_STATE()的逻辑,若t(X)=new,那么k(X)=h(X);若t(X)≠new,表示节点的K已经有代价,需继续判断;
将终点G放入close list里面,即不再遍历;找出代价最小的节点作为新节点,重复搜索直到起始点S从open list中弹出进入了close list;从起点开始找父节点,一直搜索到终点将路径中的每个节点保存在该路径path数组中;
将path数组中的坐标变换为正交寻路矩阵中的坐标。
6.如权利要求5所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,表示节点的K已经有代价,需继续判断,包括:
当K_old<h(X),则该节点x处于raise状态,说明原路径不是最优路径;若在x周围能够找到一个点y,使得h(Y)+C(X,Y)更小,则修改X的父节点为Y,重置其h(X)的值,并更新路径代价矩阵H;
当K_old=h(X),则该节点X处于lower的状态,说明并没有受到障碍影响,或者还在初始遍历的阶段;
在原始坐标网络下,障碍处坐标属性Value=0,查找障碍物处的路径点X,X的h值变为无穷大;通过计算b(X),找到其父节点Y;此时的寻路方向是从(S—Y—X—G)。
7.如权利要求3或5或6所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,计算路径完成后变换坐标为原始坐标系,包括:
调用OCR算法重新生成正交寻路网络坐标,但保留原始坐标的属性;
变换(S—Y)路径为新的正交寻路网络坐标,并在该坐标下调用代价修改:MODIFY_COST(),将节点Y重新放入openlist中;
MODIFY_COST()的逻辑为,若父节点Value=0,Y点h值会变为无穷大,则将其放入到openlist中;此时该节点的k还是是原来的h值,需重新计算Y走邻域的点到终点G的代价,h(Y)=C(Y,Z)+h(Z),找到最小值Z变为其父节点;同时将周围Y的子节点的h值更新,h(U)=更新过后的h(Y)-C;
直到K_min(openlist中所有节点最小的k值)>=hx(当前点X的h值),计算过程更新的h值保存至路径代价矩阵H;
重新执行PROCESS_STATE()的逻辑计算路径,获得修改后的路径,修改后路径坐标为正交寻路网络坐标,通过反向查找每点坐标属性值,将坐标转换后保存至path中。
8.一种DCS逻辑组态画面连线的实时优化系统,基于权利要求1~7任一所述的DCS逻辑组态画面连线的实时优化方法,其特征在于,包括:
规则建立模块,利用OCR算法生成图形连接点之间的正交网络,通过建立规则判断画面变化场景;
调用处理与计算模块,根据变化场景将D*算法的主函数PROCESS_STATE和MODIFY_COST分别在原始图形坐标和正交寻路网络坐标中调用计算路径;
替换模块,所述计算路径完成后变换坐标为原始坐标系。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1~7任一所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1~7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311478928.6A CN117631618A (zh) | 2023-11-08 | 2023-11-08 | 一种dcs逻辑组态画面连线的实时优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311478928.6A CN117631618A (zh) | 2023-11-08 | 2023-11-08 | 一种dcs逻辑组态画面连线的实时优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117631618A true CN117631618A (zh) | 2024-03-01 |
Family
ID=90034803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311478928.6A Pending CN117631618A (zh) | 2023-11-08 | 2023-11-08 | 一种dcs逻辑组态画面连线的实时优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117631618A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145173A (zh) * | 2012-03-02 | 2014-11-12 | 高通股份有限公司 | 用于定位的视觉ocr |
CN108444482A (zh) * | 2018-06-15 | 2018-08-24 | 东北大学 | 一种无人机自主寻路避障方法及系统 |
KR20220102684A (ko) * | 2021-01-13 | 2022-07-21 | 건국대학교 산학협력단 | 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치 |
CN115390565A (zh) * | 2022-09-01 | 2022-11-25 | 东南大学 | 一种基于改进d星算法的无人艇动态路径规划方法与系统 |
-
2023
- 2023-11-08 CN CN202311478928.6A patent/CN117631618A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104145173A (zh) * | 2012-03-02 | 2014-11-12 | 高通股份有限公司 | 用于定位的视觉ocr |
CN108444482A (zh) * | 2018-06-15 | 2018-08-24 | 东北大学 | 一种无人机自主寻路避障方法及系统 |
KR20220102684A (ko) * | 2021-01-13 | 2022-07-21 | 건국대학교 산학협력단 | 무인이동체를 위한 인공지능 기반의 경로 재계획 방법 및 장치 |
CN115390565A (zh) * | 2022-09-01 | 2022-11-25 | 东南大学 | 一种基于改进d星算法的无人艇动态路径规划方法与系统 |
Non-Patent Citations (2)
Title |
---|
ANTHONY STENTZ: "The Focussed D* Algorithm for Real-Time Replanning", 《IEEE》, 31 August 1995 (1995-08-31), pages 1 * |
郝泽兴;郭改枝;: "基于改进Canny算子和Hough变换的表格图像校正方法", 内蒙古师范大学学报(自然科学汉文版), no. 05, 15 September 2020 (2020-09-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825375B (zh) | 一种量子程序的转化方法、装置、存储介质和电子装置 | |
US5278983A (en) | Boundary representation solid modeling system | |
US5987173A (en) | Interactive drawing recognition processing method and apparatus thereof | |
CN103838829A (zh) | 一种基于分层次边界拓扑搜索模型的栅格转矢量系统 | |
CN107679276B (zh) | 电力系统潮流接线图的生成方法、装置及电子设备 | |
EP4116935A2 (en) | High-definition map creation method and device, and electronic device | |
CN110926491A (zh) | 一种用于最短路径的规划方法和系统 | |
CN112818626B (zh) | 一种基于多重掩膜版的版图布线方法 | |
CN103839222A (zh) | 一种基于分层次边界拓扑搜索模型的栅格转矢量并行系统 | |
US20230147594A1 (en) | Method for integratedly updating map data, device and storage medium | |
CN109388843B (zh) | 一种基于vtk的桁架天线的可视化系统及方法、终端 | |
CN114970439A (zh) | 自动布线方法、装置、计算机设备、存储介质 | |
CN115270500A (zh) | 一种布尔求差运算方法、装置及电子设备 | |
CN105867930A (zh) | 一种函数调用关系的显示方法、装置及终端 | |
CN112734900A (zh) | 阴影贴图的烘焙方法、装置、设备及计算机可读存储介质 | |
EP0361787A2 (en) | A boundary representation solid modelling system | |
CN117631618A (zh) | 一种dcs逻辑组态画面连线的实时优化方法及系统 | |
CN117095138A (zh) | 总平面规划图的生成方法、装置、电子设备及存储介质 | |
KR20030035890A (ko) | 적절한 네트워크형상인 준-최소 트리의형성·탐색·생성방법 및 그 프로그램을 기록한정보기록매체 | |
CN116521782A (zh) | 一种数据资产地图获取方法、装置、设备、介质及产品 | |
CN115688341A (zh) | 基于多叉树碰撞检测的配网专题图布局方法及存储介质 | |
CN113470145B (zh) | 地图数据处理方法、装置、设备以及存储介质 | |
JP6248445B2 (ja) | Lsi設計装置 | |
Tang et al. | Hexagon‐Based Generalized Voronoi Diagrams Generation for Path Planning of Intelligent Agents | |
CN116888599A (zh) | 一种集成电路的电路单元布局方法及装置 |
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 |