CN109408916A - 一种图形逻辑组态的识别方法 - Google Patents
一种图形逻辑组态的识别方法 Download PDFInfo
- Publication number
- CN109408916A CN109408916A CN201811181330.XA CN201811181330A CN109408916A CN 109408916 A CN109408916 A CN 109408916A CN 201811181330 A CN201811181330 A CN 201811181330A CN 109408916 A CN109408916 A CN 109408916A
- Authority
- CN
- China
- Prior art keywords
- logical node
- line segment
- node
- logical
- line
- 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 33
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 238000001914 filtration Methods 0.000 claims abstract description 4
- 238000009877 rendering Methods 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 11
- 230000011664 signaling Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 238000003708 edge detection Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 230000007812 deficiency Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种图形逻辑组态的识别方法,具体为,绘制逻辑图,所绘制的逻辑图由逻辑节点和连接线构成,将绘制好的逻辑图进行拍照或扫描,生成一个图像文件,对所生成的图像文件进行中值滤波和二值化处理,识别图像文件中的逻辑节点和连接线,遍历逻辑节点,找到输出逻辑节点,采用递归算法求出该输出逻辑节点的逻辑表达式。本发明极大的减少重新组态的时间成本,并能够减少错误的发生。
Description
技术领域
本发明涉及一种图形逻辑组态的识别方法,属于电气自动化技术领域。
背景技术
逻辑组态是相对于逻辑编程而存在的一种技术,逻辑编程通过将固定的逻辑以高级语言控制语句的形式,编译成可执行程序,进而实现逻辑控制。比如AVC子站的闭锁逻辑(PLC、DCS、继电保护),如果使用硬编码方式计算闭锁信号,那么一旦闭锁逻辑发生改变(如引入新的闭锁条件),那么就要重新编写程序。这种通过硬编码形式的控制程序,一旦开发完毕,将无法更改,如果想对逻辑进行调整,就必须重新编写代码,并导入到设备中。重新编码会带来新的bug,并且开发成本极高。面对逻辑编程带来的问题,出现了一种通过编辑配置文件方式来进行逻辑配置的方法,起初是表格形式的逻辑组态,通过预先设置一系列可编辑的参数来开放给工程人员进行定制化的编辑。以发电厂额定有功功率为例,电厂A的额定有功功率为600MW,电厂B的额定有功功率为300MW,都是可以通过编辑这个配置表格中的参数,来实现各个电厂的定制化配置。表格式配置与硬编码相比,减少了程序代码编译的次数,如果程序测试充分,那么这个代码在很长时间内都可以保持稳定。这减少了设备厂家的开发成本和维护成本。但表格式的配置方法也存在很多不足,比如不够直观,有的逻辑配置参数很多,一屏看不全,要前后翻页。也很难理解各个参数间的关联关系,无法在一个屏幕上检查多个逻辑组态的内容。因此又有了图形逻辑组态,图形逻辑组态相比表格式逻辑组态,更直观,编辑更加灵活。通过添加输入节点、输出节点、运算符等元素,就可以生成复杂的逻辑表达式。以AVC闭锁逻辑为例,如果需要加入一个通信状态异常引发的闭锁条件,只需将通信状态异常这个输入信号和原有的闭锁信号进行一个<或>运算就能够实现。现有的图形逻辑组态都是通过控制鼠标来进行节点选取和绘制连线的,整个配置工作必须都在计算机运行环境下进行。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种图形逻辑组态的识别方法,
为解决上述技术问题,本发明提供一种图形逻辑组态的识别方法,包括以下步骤:
1)绘制逻辑图,所绘制的逻辑图由逻辑节点和连接线构成,逻辑节点之间通过连接线连接;所述逻辑节点是一个封闭的矩形,在封闭的矩形内部标注信号类型标识符,在矩形的正下方标注信号名;
2)将绘制好的逻辑图进行拍照或扫描,生成一个图像文件;
3)对所生成的图像文件进行中值滤波和二值化处理;
4)识别图像文件中的逻辑节点,并将获取的每一个逻辑节点的信息保存,所述逻辑节点的信息包括:逻辑节点的信号类型标识符,信号名和逻辑节点ID;
5)识别连接线,并将连接线两端的逻辑节点信息记录保存下来;
6)遍历逻辑节点,找到输出逻辑节点,求出该输出逻辑节点的逻辑表达式。
前述的步骤1)中,所述信号类型包括:遥信,遥测,输出和运算符,其中,遥信标识符采用D,遥测标识符采用A,输出标识符采用O,运算符的标识符采用惯用数学符号;所述信号名采用一对中括号包围的字符串表示。
前述的步骤4)中,识别图像文件中的逻辑节点具体过程如下:
41)使用KNN算法对逻辑图中所使用的字体进行图形标记;
42)对二值化图像进行Canny边缘检测,再进行统计概率霍夫变换,识别出所有完整线段;
43)遍历线段,识别出所有的矩形;
44)使用KNN算法识别逻辑节点矩形内的标识符,并给逻辑节点一个唯一的ID编号;
45)识别信号名;
46)计算每一个逻辑节点的矩形底边中点与每一个信号名顶部中点的距离,将距离最小的那对组合关联起来,即为逻辑节点及其对应的信号名。
前述的步骤45)识别信号名过程如下:
44a)识别所有的字符,将识别到的字符进行遍历,记录下所有的 [ 字符;
44b)以每个 [ 字符为起点,寻找y坐标与之相差2个像素内,x坐标大于该[字符x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成;
44c)继续下一个字符,寻找y坐标与[相差2个像素内,x坐标大于步骤44b)找到的字符的x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成;直到找到了一个] 字符,则该信号名查找结束;
44d)返回步骤44b),将所有的信号名都找到。
前述的步骤5)连接线识别过程如下:
51)从识别的线段中取出一条线段,如果该线段没有标记为已完成,则将该线段与其余线段进行相交检测;
52)当选择的线段的任意一个端点与另一个线段的任意一个端点的坐标相等时,将选择的该线段的相交计数器加一;
53)循环遍历结束之后,如果线段的计数器等于0或1,则将该线段标记为端线段;
54)遍历相交计数器为0的端线段,创建一个连接线对象,检测每个端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,则在连接线对象中保存该逻辑节点信息;
55)遍历计数器为1的端线段,检测端点与其余线段的相交情况,如果找到了一个线段与端线段相交,则将该线段标记为已完成,并且将该线段的另一个端点与其余线段进行相交检测,直到找到一个端线段为止,这样,就构成了一条连接线,遍历后,将所有相连的线段都标记为已完成;
56)检测步骤55)的连接线的端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,则在连接线对象中保存该逻辑节点信息。
前述的步骤6)输出逻辑节点的逻辑表达式求解过程如下:
61)遍历逻辑节点,找到输出节点;
62)根据输出节点所在的连接线对象,找出与该输出节点对应的输入信号运算符逻辑节点;
63)对该运算符逻辑节点调用递归函数,并将该递归函数的返回表达式外部加一对括号,作为输出节点的表达式;
64)遍历所有的连接线对象,找出与该运算符逻辑节点对应的所有的输入信号逻辑节点,并对这些输入信号逻辑节点调用递归函数;如果逻辑节点为信号节点,则转入步骤65);如果该节点为运算符逻辑节点,则返回步骤64);
65)返回该逻辑节点的信号名;
66)将每个递归函数返回的表达式外部加一对括号;
67)将这些带括号的表达式使用步骤63)的运算符相连,即该逻辑图所要表达的逻辑表达式。
本发明所达到的有益效果:
本发明的逻辑图可以不受限于具体的图形组态软件,可以使用word、Photoshop、CAD等绘制图形的软件来制作逻辑图。本发明极大的减少重新组态的时间成本,并能够减少错误的发生。
附图说明
图1为本发明方法流程图;
图2为逻辑节点示例;
图3为逻辑节点的矩形的四种识别方式;
图4为连接线对象示意图;
图5为实施例中绘制的逻辑图。
具体实施方式
下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,本发明的图形逻辑组态的识别方法,包括以下步骤:
步骤1:绘制逻辑图,所绘制的逻辑图由逻辑节点和连接线构成,逻辑节点之间通过连接线连接。参见图2,逻辑节点是一个封闭的矩形,在封闭的矩形内部标注信号类型标识符,在矩形的正下方标注遥信信号名或遥测信号名。
信号类型包括:遥信,遥测,输出和运算符,其中遥信标识符采用D,遥测标识符采用A,输出标识符采用O,运算符包括与、或、加减乘除、大于、小于、等,其标识符采用各自的惯用数学符号,如:+(相加)、-(相减)、*(相乘)、/(相除)、%(取余)、&(逻辑与)、|(逻辑或)、>(大于)、<(小于)等。
遥信信号名或遥测信号名采用一对中括号包围的字符串表示,如:[ yx1 ]。
步骤2:将绘制好的逻辑图进行拍照或扫描,生成一个图像文件。
步骤3:对所生成的图像文件进行中值滤波和二值化处理。
步骤4:识别逻辑节点,并将获取的每一个逻辑节点的信息保存,逻辑节点的信息包括:逻辑节点的信号类型标识符和逻辑节点ID,对于遥信信号和遥测信号还保存遥信信号名或遥测信号名。
逻辑节点的矩形的识别过程为:
41)使用KNN算法对逻辑图中所使用的字体进行图形标记;
42)对二值化图像进行Canny边缘检测,再进行统计概率霍夫变换,识别出所有完整线段。
43)根据线段的组合情况,识别出所有的矩形,参见图3,一共有4种识别过程。
431)从检测到的线段中,按顺序取出一个线段(未标记为已完成),如果该线段的两个端点的x坐标相等,那么该线段就为垂直线段,如果该线段的两个端点的y坐标相等,那么该线段就为平行线段。记录该线段为线段1。
432)然后寻找线段2,
对于线段1为垂直线段的情况,存在两种方式寻找线段2:
a、将线段1的顶部坐标x和y与所有未标记为已完成的水平线段的左侧端点坐标x和y进行对比,如果某个水平线段左侧端点坐标x与y,同线段1的顶部坐标x与y相比,坐标x相差在2像素内,坐标y相差2像素内,那么该水平线段就是所要检测的线段2,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则按照情况b的方式进行寻找。
b、将线段1的底部坐标x和y与所有未标记为已完成的水平线段的右侧端点坐标x和y进行对比,如果某个水平线段右侧端点坐标x与y,同线段1的底部坐标x与y相比,坐标x相差在2像素内,坐标y相差2像素内,那么该水平线段就是所要检测的线段2 ,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则跳过该线段1,返回步骤431)重新开始寻找,直至找到线段2或者遍历完所有的线段。
对于线段1为水平线段的情况,同样存在两种方式寻找线段2:
c、将线段1的右侧坐标x和y与其余未标记为已完成的垂直线段的顶部端点坐标x和y进行对比,如果某个垂直线段的顶部端点坐标x与y,同线段1的右侧端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该垂直线段就是所要检测的线段2 ,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则按照情况d的方式进行寻找。
d、将线段1的左侧坐标x和y与其余未标记为已完成的垂直线段的底部端点坐标x和y进行对比,如果某个垂直线段的底部端点坐标x与y,同线段1的左侧端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该垂直线段就是所要检测的线段2 ,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则跳过该线段1,返回步骤431)重新开始寻找,直至找到线段2或者遍历完所有的线段。
433)根据步骤432)的四种情况,继续寻找线段3。
a、将线段2的右侧端点坐标与其余所有未标记为已完成的垂直线段的顶部端点坐标进行比较,如果某个垂直线段的顶部端点坐标x与y,同线段2的右侧端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该垂直线段就是所要检测的线段3,本步骤结束,进入下一步骤;如果检测不到满足条件的垂直线段,则按照情况b的方式进行寻找。
b、将线段2的左侧端点坐标与其余所有未标记为已完成的垂直线段的底部端点坐标进行比较,如果某个垂直线段的底部端点坐标x与y,同线段2的左侧端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该垂直线段就是所要检测的线段3,本步骤结束,进入下一步骤;如果检测不到满足条件的垂直线段,则跳过该线段2,返回步骤431)重新开始寻找,直至找到线段3或者遍历完所有的线段。
c、将线段2的底部端点坐标与其余所有未标记为已完成的水平线段的右侧端点坐标进行比较,如果某个水平线段的右侧端点坐标x与y,同线段2的底部端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该水平线段就是所要检测的线段3,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则按照情况d的方式进行寻找。
d、将线段2的顶部端点坐标与其余所有未标记为已完成的水平线段的左侧端点坐标进行比较,如果某个水平线段的左侧端点坐标x与y,同线段2的顶部端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该水平线段就是所要检测的线段3,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则跳过该线段2,返回步骤431)重新开始寻找,直至找到线段3或者遍历完所有的线段。
434)根据步骤432)的四种情况,继续寻找线段4。
a、将线段3的底部端点坐标与其余所有未标记为已完成的水平线段的右侧端点坐标进行比较,如果某个水平线段的右侧端点坐标x与y,同线段3的底部端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该水平线段就是所要检测的线段4,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则按照情况b的方式进行寻找。
b、将线段3的顶部端点坐标与其余所有未标记为已完成的水平线段的左侧端点坐标进行比较,如果某个水平线段的左侧端点坐标x与y,同线段3的顶部端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该水平线段就是所要检测的线段4,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则跳过该线段3,返回步骤431)重新开始寻找,直至找到线段4或者遍历完所有的线段。
c、将线段3的左侧端点坐标与其余所有未标记为已完成的垂直线段的底部端点坐标进行比较,如果某个垂直线段的底部端点坐标x与y,同线段3的左侧端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该垂直线段就是所要检测的线段4,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则按照情况d的方式进行寻找。
d、将线段3的右侧端点坐标与其余所有未标记为已完成的垂直线段的顶部端点坐标进行比较,如果某个垂直线段的顶部端点坐标x与y,同线段3的右侧端点坐标x与y相比,x相差在2像素内,y相差2像素内,那么该垂直线段就是所要检测的线段4,本步骤结束,进入下一步骤;如果检测不到满足条件的水平线段,则跳过该线段3,返回步骤431)重新开始寻找,直至找到线段4或者遍历完所有的线段。
435)则将线段1到4标记为已完成,并使用KNN算法识别该逻辑节点矩形内的标识符,标识符可以为A(遥测)、D(遥信)、+(相加)、-(相减)、*(相乘)、/(相除)、%(取余)、&(逻辑与)、|(逻辑或)、>(大于)、<(小于)、O(输出)等等,并给逻辑节点一个唯一的ID编号。
44)识别信号名,具体过程为:
44a)将识别到的字符进行遍历,记录下所有的 [ 字符。
44b)以每个 [ 字符为起点,寻找y坐标与之相差2个像素内,x坐标大于该[字符的x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成。
44c)继续下一个字符,寻找y坐标与[相差2个像素内,x坐标大于步骤44b)找到的字符的x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成。直到找到了一个 ] 字符,则该信号名查找结束。
44d)返回步骤44b),将所有的信号名都找到。
44e)计算每一个逻辑节点的矩形底边中点与每一个信号名顶部中点的距离,将距离最小的那对组合关联起来,这就是逻辑节点及其对应的信号名。
步骤5:识别连接线,并将连接线两端的逻辑节点信息记录保存下来。由于组成矩形的线段已经全部被标记为已完成,剩下的线段就都是连接线了,连接线的起点与终点都是只和一条线段相交的。识别过程如下:
51)从识别的线段中取出一条线段,如果该线段没有标记为已完成,则将该线段与其余线段进行相交检测。
52)当选择的线段的任意一个端点与另一个线段的任意一个端点的坐标相等时,为该选择线段的相交计数器加一。
53)循环遍历结束之后,如果该选择线段的计数器等于0或1,则将该线段标记为端线段,回到步骤51),将所有的端线段找到。
54)遍历相交计数器为0的端线段,创建一个连接线对象,检测每个端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,就在连接线对象中保存该逻辑节点的信息(逻辑节点信号类型和逻辑节点名和逻辑节点ID)。
55)遍历计数器为1的端线段,检测端点与其余线段的相交情况,如果找到了一个线段与端线段相交,就将该线段标记为已完成,并且将该线段的另一个端点与其余线段进行相交检测,直到找到一个端线段为止,这样,就构成了一条连接线,遍历后,将所有相连的线段都标记为已完成。
56)检测连接线的端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,就在连接线对象中保存该逻辑节点的信息(逻辑节点信号类型和逻辑节点名和逻辑节点ID)。连接线对象的左侧存放的为输入信号,右侧为输出信号。具体参见图4。
步骤6:遍历逻辑节点,找到输出逻辑节点,求出该输出逻辑节点的逻辑表达式。
具体为采用递归求解的方式,具体如下:
61)遍历逻辑节点,找到输出节点;
62)根据输出节点所在的连接线对象,找出与该输出节点对应的输入信号运算符逻辑节点;
63)对该运算符逻辑节点调用递归函数,并将该递归函数的返回表达式外部加一对括号,作为输出节点的表达式;
64)遍历所有的连接线对象,找出与该运算符逻辑节点对应的所有的输入信号逻辑节点,并对这些输入信号逻辑节点调用递归函数;如果逻辑节点为信号节点,如A或D,则转入步骤65);如果该节点为运算符逻辑节点,如+或*,则返回步骤64);
65)返回该逻辑节点的信号名,如YC70020;
66)将每个递归函数返回的表达式外部加一对括号,如(YC70012 + YC70321 +YC70003);
67)将这些带括号的表达式使用步骤63)的运算符相连,即该逻辑图所要表达的逻辑表达式。
以图5为例,求解逻辑表达式的过程如下:
a)遍历逻辑节点,如果某逻辑节点为输出节点,即信号标识符为O的节点,从连接线对象中找到输出信号标识符为O的节点,即图5中的O1节点;
b)根据输出节点所在的连接线对象,找到对应的输入信号所对应的节点,即图5中,L1的输入信号对应的逻辑节点&1,对该节点调用递归方法,并将该递归方法的返回表达式外部加一对括号,作为输出节点O的表达式;
c)遍历所有的连接线对象,找出与该运算符逻辑节点对应的所有的输入信号逻辑节点,并对这些输入信号逻辑节点调用递归函数;
d)将步骤c)中每个递归函数返回的表达式外部加一对括号,即图5中,&1相连的L2、L3和L4及对应的输入信号|1、&2和&3的表达式,(D1|D2)、(D3&D4)和(D5&D6),再将这些带括号的表达式使用该数学运算符相连,并作为该数学运算符节点的表达式返回,即使用运算符&相连((D1|D2)&(D3&D4)&(D5&D6)),作为输出节点的表达式。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (6)
1.一种图形逻辑组态的识别方法,其特征在于,包括以下步骤:
1)绘制逻辑图,所绘制的逻辑图由逻辑节点和连接线构成,逻辑节点之间通过连接线连接;所述逻辑节点是一个封闭的矩形,在封闭的矩形内部标注信号类型标识符,在矩形的正下方标注信号名;
2)将绘制好的逻辑图进行拍照或扫描,生成一个图像文件;
3)对所生成的图像文件进行中值滤波和二值化处理;
4)识别图像文件中的逻辑节点,并将获取的每一个逻辑节点的信息保存,所述逻辑节点的信息包括:逻辑节点的信号类型标识符,信号名和逻辑节点ID;
5)识别连接线,并将连接线两端的逻辑节点信息记录保存下来;
6)遍历逻辑节点,找到输出逻辑节点,求出该输出逻辑节点的逻辑表达式。
2.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤1)中,所述信号类型包括:遥信,遥测,输出和运算符,其中,遥信标识符采用D,遥测标识符采用A,输出标识符采用O,运算符的标识符采用惯用数学符号;所述信号名采用一对中括号包围的字符串表示。
3.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤4)中,识别图像文件中的逻辑节点具体过程如下:
41)使用KNN算法对逻辑图中所使用的字体进行图形标记;
42)对二值化图像进行Canny边缘检测,再进行统计概率霍夫变换,识别出所有完整线段;
43)遍历线段,识别出所有的矩形;
44)使用KNN算法识别逻辑节点矩形内的标识符,并给逻辑节点一个唯一的ID编号;
45)识别信号名;
46)计算每一个逻辑节点的矩形底边中点与每一个信号名顶部中点的距离,将距离最小的那对组合关联起来,即为逻辑节点及其对应的信号名。
4.根据权利要求3所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤45)识别信号名过程如下:
44a)识别所有的字符,将识别到的字符进行遍历,记录下所有的 [ 字符;
44b)以每个 [ 字符为起点,寻找y坐标与之相差2个像素内,x坐标大于该[字符x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成;
44c)继续下一个字符,寻找y坐标与[相差2个像素内,x坐标大于步骤44b)找到的字符的x坐标,且x坐标相差最小的那个字符,并且将找到的字符标记为已完成;直到找到了一个] 字符,则该信号名查找结束;
44d)返回步骤44b),将所有的信号名都找到。
5.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤5)连接线识别过程如下:
51)从识别的线段中取出一条线段,如果该线段没有标记为已完成,则将该线段与其余线段进行相交检测;
52)当选择的线段的任意一个端点与另一个线段的任意一个端点的坐标相等时,将选择的该线段的相交计数器加一;
53)循环遍历结束之后,如果线段的计数器等于0或1,则将该线段标记为端线段;
54)遍历相交计数器为0的端线段,创建一个连接线对象,检测每个端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,则在连接线对象中保存该逻辑节点信息;
55)遍历计数器为1的端线段,检测端点与其余线段的相交情况,如果找到了一个线段与端线段相交,则将该线段标记为已完成,并且将该线段的另一个端点与其余线段进行相交检测,直到找到一个端线段为止,这样,就构成了一条连接线,遍历后,将所有相连的线段都标记为已完成;
56)检测步骤55)的连接线的端点和逻辑节点的相交情况,如果端点的坐标在逻辑节点的垂直线段上,则在连接线对象中保存该逻辑节点信息。
6.根据权利要求1所述的一种图形逻辑组态的识别方法,其特征在于,所述步骤6)输出逻辑节点的逻辑表达式求解过程如下:
61)遍历逻辑节点,找到输出节点;
62)根据输出节点所在的连接线对象,找出与该输出节点对应的输入信号运算符逻辑节点;
63)对该运算符逻辑节点调用递归函数,并将该递归函数的返回表达式外部加一对括号,作为输出节点的表达式;
64)遍历所有的连接线对象,找出与该运算符逻辑节点对应的所有的输入信号逻辑节点,并对这些输入信号逻辑节点调用递归函数;如果逻辑节点为信号节点,则转入步骤65);如果该节点为运算符逻辑节点,则返回步骤64);
65)返回该逻辑节点的信号名;
66)将每个递归函数返回的表达式外部加一对括号;
67)将这些带括号的表达式使用步骤63)的运算符相连,即该逻辑图所要表达的逻辑表达式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811181330.XA CN109408916A (zh) | 2018-10-11 | 2018-10-11 | 一种图形逻辑组态的识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811181330.XA CN109408916A (zh) | 2018-10-11 | 2018-10-11 | 一种图形逻辑组态的识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408916A true CN109408916A (zh) | 2019-03-01 |
Family
ID=65467537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811181330.XA Pending CN109408916A (zh) | 2018-10-11 | 2018-10-11 | 一种图形逻辑组态的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408916A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442337A (zh) * | 2019-08-13 | 2019-11-12 | 中国核动力研究设计院 | 一种基于核电厂dcs平台逻辑算法图云图的标注方法 |
CN110879722A (zh) * | 2019-11-27 | 2020-03-13 | 京东数字科技控股有限公司 | 生成逻辑示意图的方法及装置、计算机可存储介质 |
CN112784511A (zh) * | 2019-11-11 | 2021-05-11 | 杭州起盈科技有限公司 | 一种组合逻辑环路的自动拆除方法 |
WO2024131582A1 (zh) * | 2022-12-23 | 2024-06-27 | 北京字跳网络技术有限公司 | 特效生成方法、装置、设备、计算机可读存储介质及产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709524A (zh) * | 2016-12-30 | 2017-05-24 | 山东大学 | 一种电气工程图中的元件符号检测与识别方法 |
CN107423501A (zh) * | 2017-07-17 | 2017-12-01 | 南京邮电大学 | 一种基于光伏电站逻辑图的阵列自动检测和编号方法 |
CN108062529A (zh) * | 2017-12-22 | 2018-05-22 | 上海鹰谷信息科技有限公司 | 一种化学结构式的智能识别方法 |
CN108614515A (zh) * | 2018-06-19 | 2018-10-02 | 四川中烟工业有限责任公司 | 一种基于物流生产线控制的plc梯形图到指令表的转换方法 |
-
2018
- 2018-10-11 CN CN201811181330.XA patent/CN109408916A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709524A (zh) * | 2016-12-30 | 2017-05-24 | 山东大学 | 一种电气工程图中的元件符号检测与识别方法 |
CN107423501A (zh) * | 2017-07-17 | 2017-12-01 | 南京邮电大学 | 一种基于光伏电站逻辑图的阵列自动检测和编号方法 |
CN108062529A (zh) * | 2017-12-22 | 2018-05-22 | 上海鹰谷信息科技有限公司 | 一种化学结构式的智能识别方法 |
CN108614515A (zh) * | 2018-06-19 | 2018-10-02 | 四川中烟工业有限责任公司 | 一种基于物流生产线控制的plc梯形图到指令表的转换方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442337A (zh) * | 2019-08-13 | 2019-11-12 | 中国核动力研究设计院 | 一种基于核电厂dcs平台逻辑算法图云图的标注方法 |
CN110442337B (zh) * | 2019-08-13 | 2022-03-22 | 中核控制***工程有限公司 | 一种基于核电厂dcs平台逻辑算法图云图的标注方法 |
CN112784511A (zh) * | 2019-11-11 | 2021-05-11 | 杭州起盈科技有限公司 | 一种组合逻辑环路的自动拆除方法 |
CN112784511B (zh) * | 2019-11-11 | 2023-09-22 | 杭州起盈科技有限公司 | 一种组合逻辑环路的自动拆除方法 |
CN110879722A (zh) * | 2019-11-27 | 2020-03-13 | 京东数字科技控股有限公司 | 生成逻辑示意图的方法及装置、计算机可存储介质 |
CN110879722B (zh) * | 2019-11-27 | 2020-12-22 | 京东数字科技控股有限公司 | 生成逻辑示意图的方法及装置、计算机可存储介质 |
WO2024131582A1 (zh) * | 2022-12-23 | 2024-06-27 | 北京字跳网络技术有限公司 | 特效生成方法、装置、设备、计算机可读存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408916A (zh) | 一种图形逻辑组态的识别方法 | |
EP3928168B1 (en) | Automatic extraction of assets data from engineering data sources | |
CN107423322B (zh) | 网页页面的标签嵌套层级的显示方法和装置 | |
CN111191767B (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
CN104484499A (zh) | 一种用于变电站二次回路的动态仿真图纸快速生成方法 | |
CN109768952B (zh) | 一种基于可信模型的工控网络异常行为检测方法 | |
EP4155974A1 (en) | Knowledge graph construction method and apparatus, check method and storage medium | |
CN109190326B (zh) | 生成工艺流程图的方法及装置 | |
CN109639756A (zh) | 一种终端网络关联关系展示和设备接入实时监测*** | |
CN108920435B (zh) | 一种可视化程序页面数据节点匹配方法 | |
CN112585547A (zh) | 分析装置、分析方法以及分析程序 | |
CN115857905A (zh) | 图形化编程的代码转换方法、装置、电子设备及存储介质 | |
CN102820706A (zh) | 智能化变电站智能告警及辅助决策的实现方法及装置 | |
CN103366037A (zh) | 逻辑图处理装置及其处理方法 | |
CN106546875A (zh) | 电力线路报警方法 | |
CN110858302A (zh) | 在画面影像中编辑监控脚本的***及方法 | |
CN116665305A (zh) | 基于计算机视觉和知识图谱的工人行为检测方法和*** | |
CN109299132A (zh) | Sql数据处理方法、***以及电子设备 | |
CN109062639B (zh) | 一种变电站scd文件的升级信息的显示方法及*** | |
CN113657627A (zh) | 电力通信网中缺陷单生成方法和*** | |
CN108319991A (zh) | 一种节点工程布线图确定方法及装置 | |
CN112534368A (zh) | 图表显示装置、图表显示方法以及图表显示程序 | |
CN106209420A (zh) | 一种定位数据转发业务故障的方法及电子设备 | |
CN113033333A (zh) | 实体词识别方法、装置、电子设备和存储介质 | |
CN103019807B (zh) | 用于提取soa***组件交互规则的方法和*** |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |