基于信息流的功能块排序方法

文档序号:6319201阅读:351来源:国知局
专利名称:基于信息流的功能块排序方法
技术领域
本发明涉及工业控制技术领域,尤其涉及一种基于信息流的功能块排序方法。
背景技术
在工业控制领域中,常用FBD (Function Block Diagram,功能块图)来编写控制方案。所述FBD是一种图形化的编程语言,用功能和功能块来构建控制策略,不仅直观且易于维护。所谓功能块,是指包含内部状态的程序块,具备一定自我运算能力并可实现特定功能,通常用矩形块表示。其中,每一个功能块的左侧有不少于一个的输入端,右侧有不少于一个的输出端。通常功能块的类型名称写在功能块内部,功能块实例的名称写在功能块的上部,输入端及输出端名称写在块内的输入输出点的相应的地方。输入端与输出端则为所述功能块上分别用以接收数据及发送数据的连接点。在FBD网络中,信号通常是从一个功能块的输出端即发送数据的连接点,传递到另一个功能块的输入端即接收数据的连接点,即信号由功能块左端流入,经过求值更新,从功能块右端流出。对于由功能块组成的FBD网络控制系统软件,要求在编写完FBD逻辑后, 要对各功能块进行排序,以保证控制方案清晰流畅的执行,传统方法中,是由工程师逐个指定各功能块的执行顺序,实现控制方案的有效进行。但是,对于一幅包含数十甚至上百个功能块的较为复杂的控制程序,调整其中所有功能块的执行顺序则是一套复杂细致的工作,由于人工对其进行顺序调整时难免出错, 易导致功能块图中的控制逻辑错误,从而影响现场生产的安全性。因此,上述方案具有一定的局限性,迫切需要一种控制功能块图自动生成准确执行顺序的方法。

发明内容
有鉴于此,本发明的目的在于提供一种基于信息流的功能块排序方法,以解决现有技术中通过人工指定各功能块的执行顺序,易导致功能块图中的控制逻辑错误,影响现场生产安全的问题。为了达到上述目的,本发明提供如下技术方案—种基于信息流的功能块排序方法,包括确定功能块图中未输入信息的功能块为起始功能块,将其标记为序号1,并置为已排序状态;从上至下,遍历所述起始功能块的输出端所连接的各个功能块,将首先遍历到的第一功能块设定为当前定位功能块;从上至下,遍历所述当前定位功能块的输入端所连接的各个功能块,包括当遍历到的所述输入端所连接的各个功能块都为已排序状态时,则对所述当前定位功能块进行下一序号的标记,并置为已排序状态,从上至下,遍历所述当前定位功能块的输出端所连接的各个功能块,并将首先遍历到的输出端未排序功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输入端所连接的各个功能块这一步骤;
当遍历到的所述输入端所连接的各个功能块中存在未进行排序的功能块时,则将首先遍历到的输入端未排序功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输入端所连接的各个功能块这一步骤;直至所述功能块图中所有功能块均已进行序号标记;其中,排序时忽略所述功能块图中连接首尾功能块的回环线。优选地,所述起始功能块为位于所述功能块图中最左上角且未输入信息的功能块。优选地,当已进行序号标记的当前定位功能块输出端未输出信号时,则将前一序号功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输出端所连接的各个功能块这一步骤。优选地,当已进行序号标记的当前定位功能块输出端连接的各个功能块都已排序时,则将前一序号功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输出端所连接的各个功能块这一步骤。优选地,当所述当前定位功能块的同一输出端连接多个功能块时,贝Ij应首先遍历所述多个功能块中位于左上方的功能块。优选地,所述功能块图包括多个功能块图的组合图。优选地,所述组合图进行排序时,忽略多个功能块图之间的回环线,并分别对各个功能块图进行排序。优选地,按各个功能块图中起始功能块的空间位置,依次对所述各个功能块图进行排序。优选地,所述起始功能块为功能块图中最左上角且未输入信息的功能块。通过上述技术方案可知,本发明具有如下有益效果对于一幅由FBD语言编写的功能块图,通过采用基于信息流导向的方法,即排除掉其内部的回环线后,根据各功能块间的连线逻辑即信息的流向进行推导,并结合功能块图的空间位置,确定起始功能块和当前定位功能块,然后依次从上至下遍历当前定位功能块的输入端与输出端,可使整个排序过程清晰,符合功能块间的信息流向,从而可生成准确的,符合功能块间内在控制逻辑的执行顺序,并保障了现场生产的安全性。


图I是本发明实施例一中公开的一种基于信息流的功能块排序方法的实现流程图;图2是本发明实施例二中公开一具体的控制功能块图;图3是本发明实施例二公开的基于信息流的功能块排序方法的具体实现流程图。
具体实施例方式本发明公开了一种基于信息流的功能块排序方法,对于一幅由FBD(FUnction Block Diagram,功能块图)语言编写的功能块图,采用基于信息流导向的方法,即排除掉其内部的回环线后,根据各功能块间的连线逻辑即信息的流向进行推导,从而生成准确的,符合功能块间内在控制逻辑的执行顺序。通过本发明公开的自动排序算法,则避免了人工调整时易导致控制逻辑错误的问题,并保障了现场生产的安全性。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一如图I所示,为本发明实施例一公开的一种基于信息流的功能块排序方法的具体实现流程图。其详细的过程为步骤SlOl :确定功能块图中未输入信息的功能块为起始功能块,将其标记为序号 I,并置为已排序状态;其中,对于一幅功能块图存在多个未输入信息的功能块的情况,对所述起始功能块的选择,可优选设定为位于所述功能块图中最左上角且未输入信息的功能块,这样从左上角对整个功能块图进行排序,可使整个排序过程更加有条理。步骤S102 :从上至下,遍历所述起始功能块的输出端所连接的各个功能块,将首先遍历到的第一功能块设定为当前定位功能块;步骤S103 :从上至下,遍历所述当前定位功能块的输入端所连接的各个功能块;步骤S104 :判断步骤S103中遍历到的所述输入端所连接的各个功能块,是否为已排序状态,如果是,则转步骤S105 ;如果否,则转步骤S109 ;在步骤S104中,通过判断所述当前定位模块的每个输入端所连接的功能块是否都为已排序状态,来决定是否对所述当前定位模块进行序号标记,当遍历到的所述输入端所连接的各个功能块都为已排序状态时,说明所述当前定位功能块的上游信息流已经排序完毕,则对所述当前定位功能块进行下一序号的标记;当遍历到的所述输入端所连接的各个功能块存在未排序的功能块,说明所述当前定位功能块的上游信息流还未全部遍历,因此要返回到上游信息流继续排序过程。步骤S105 :对所述当前定位功能块进行下一序号的标记,并置为已排序状态;步骤S106 :从上至下,遍历所述当前定位功能块的输出端所连接的各个功能块, 并将首先遍历到的输出端未排序功能块设定为当前定位功能块;步骤S107 :判断所述功能块图中除当前定位功能块外的所有功能块,是否为已排序状态,如果是,则转步骤S108 ;如果否,则返回执行步骤S103 ;步骤S108 :对当前定位功能块进行序号标记,并置为已排序状态,对功能块图的排序结束;步骤S109 :将首先遍历到的所述输入端所连接的未排序功能块,设定为当前定位功能块,返回执行步骤S107。在上述排序过程中,采用从上至下的方式对各个功能块的输入端或输出端进行遍历,以便于后续排序时对功能块间信息流向更加清晰。其中,排序时忽略所述功能块图中连接首尾功能块的回环线。需要说明的是,对于所述当前定位功能块的同一输出端连接多个功能块时,则应首先遍历所述多个功能块中位于左上方的功能块,这样采用从上到下结合从左到右的方式,通过功能块空间位置上的判断,来决定当前定位功能块,以便于根据功能块间信息的流向进行后续的排序操作。通过执行上述步骤,采用基于信息流导向的方法,即排除掉其内部的回环线后,根据各功能块间的连线逻辑进行推导,从而生成了准确的,符合功能块间内在控制逻辑的执行顺序。需要说明的是,在上述步骤执行的过程中,当已进行序号标记的当前定位功能块输出端未输出信号时,即不能继续后续步骤中对其输出端所连接功能块进行遍历的过程, 此时,则将前一序号功能块设定为当前定位功能块,返回执行步骤S106。另外,当已进行序号标记的当前定位功能块输出端连接的各个功能块都已排序时,同样的,不能再继续后续对其输出端的遍历过程,此时,则将前一序号功能块设定为当前定位功能块,返回执行步骤 S106。为了使上述本发明实施例公开的基于信息流的功能块排序方法更加清晰,下面结合具体的示例,对其进行详细的说明。实施例二如图2所示,为本发明实施例二公开一具体的控制功能块图,且此控制功能块图已根据上述本发明实施例一公开的方法进行了排序。如图3所示,为应用本发明实施例一公开的方法,对图2所示的控制功能块图进行排序的过程。具体步骤为步骤I :将图中最左上角的未输入信息的功能块A,确定为起始功能块,将其标记为序号I,如图中所述功能块A右下角所示的“ 1#”,同时,将功能块A置为已排序状态;其中,在步骤I中,由于在对功能块图进行排序时,忽略其中连接首尾功能块的回环线,即图2中被打上“//”,连接功能块C的输出端MV与功能块D的输入端BKIN的特殊线,因此,功能块D被视为未输入信息的功能块。对于起始功能块的选择,则按功能块的空间位置,采用从上到下结合从左到右的方式,对起始功能块进行选择,因此,选择位于功能块D上方的功能块A作为起始功能块。步骤2 :从上至下,遍历所述起始功能块即功能块A的输出端所连接的各个功能块,首先遍历到输出端子MV所连接的功能块B和功能块F,根据空间位置,由于所述功能块 B位于功能块F的上方,所以将所述功能块B设定为当前定位功能块;需要说明的是,步骤2中,当多个功能块同时连接于同一个端子的输出端时,同样按照空间位置,即采用从上到下结合从左到右的方式,对当前定位功能块进行选择。步骤3 :从上至下,遍历当前定位功能块B的输入端所连接的各个功能块,具体为首先,遍历输入端子BKIN连接的功能块A,发现功能块A为已排序状态,则继续向下遍历功能块B的输入端所连接的功能块,发现输入端子PV所连接的功能块D为未排序状态,因此将功能块D设定为当前定位功能块;步骤4 :从上至下,遍历当前定位功能块即功能块D的输入端所连接的各个功能块,具体过程为由于忽略了回环线,因此功能块D无前置功能块,则将功能块D标记为下一序号2, 同样的如图2中功能块D右下角所示的“2#”,并将其置为已排序状态;步骤5 :从上至下,遍历当前定位功能块即功能块D输出端所连接的各个功能块,具体为首先遍历输出端子MV连接的功能块E,发现功能块E为未排序状态,将功能块E设定为当前定位功能块;步骤6 :从上至下,遍历当前定位功能块即功能块E的输入端所连接的各个功能块,具体为功能块E输入端只连接的功能块D,且功能块D为已排序状态,则将功能块E标记为下一序号3,并将其置为已排序状态;步骤7 :从上至下,遍历当前定位功能块即功能块E的输出端所连接的各个功能块,具体为首先遍历到输出端子OUT所连接的功能块F,发现功能块F为未排序状态,则将功能块F设定为当前定位功能块;步骤8 :从上至下,遍历当前定位功能块即功能块F的各输入端所连接的功能块, 具体为功能块F输入端所连接的功能块为功能块A、功能块E,发现其输入端所连接的功能块都为已排序状态,则将功能块F标记为序号4,并将其置为已排序状态;步骤9 :从上至下,遍历当前功能块即功能块F的输出端所连接的各个功能块,具体为首先遍历到输出端子OUT所连接的功能块C,发现功能块C为未排序状态,则将功能块C设定为当前定位功能块;步骤10 :从上至下,遍历当前定位功能块即功能块C的各输入端所连接的功能块, 具体为首先遍历到输入端子BKIN所连接的功能块B,由于功能块B为未排序状态,则将功能块B设定为当前定位功能块;步骤11 :从上至下,遍历当前定位功能块即功能块B的各输入端所连接的功能块, 具体为遍历输入端子BKIN及PV所连接的为功能块A及功能块D,且都为已排序状态,因此将功能块B标记为下一序号5,并将其置为已排序状态;步骤12 :从上至下,遍历当前定位功能块即功能块B的输出端所连接的功能块,具体为首先遍历到输出端子MV所连接的功能块C,由于功能块C为未排序状态,则将功能块C设定为当前定位功能块;步骤13 :从上至下,遍历当前定位功能块即功能块C的各输入端所连接的功能块, 具体为功能块C输入端所连接的功能块为功能块B与功能块F,且都为已排序状态,因此将功能块C标记为下一序号6,并将其置为已排序状态;步骤14 :从上至下,遍历当前定位功能块即功能块C的输出端所连接的各个功能块,具体为由于忽略了连接首尾的回环线,因此功能块C被视为输出端未连接功能块,对于当前定位功能块输出端未输出信号时,将前一序号功能块设定为当前定位功能块。因此,将序号为6的功能块C,所对应的前一序号为5的功能块B,设定为当前定位功能块;步骤15 :由于步骤10中已发现功能块B的输入端所连接的功能块,都已进行排序,则继续从上至下遍历功能块B的输出端,具体为首先遍历到输出端子MV所连接的功能块C为已排序状态,则继续遍历功能块B的输出端子BKOUT所连接的功能块G,且功能块G为未排序状态,则将功能块G设定为当前定位功能块;步骤16 :从上至下,遍历当前定位功能块即功能块G的各输入端所连接的功能块, 发现其输入端所连接的功能块都为已排序状态,则将功能块G标记为序号7,并将其置为已排序状态,至此排序完成。需要说明的是,图2中的被打上“//”,连接功能块C的输出端MV与功能块D的输入端BKIN的特殊线,即为功能块图中连接首尾功能块的回环线,排序时不考虑该连线,如本发明实施例在对功能块D进行排序时,忽略了此回环线在其输入端子BKIN的输入信号, 将功能块D视为无信号输入的功能块。因此,排序时功能块D被视为无输入,功能块C被视为无输出。通过执行上述步骤I 步骤15的过程,依据各功能块的信息流向,并结合空间位置,来确定起始功能块与当前定位功能块,其中,空间位置上具体采用从上到下结合从左到右的方式,从而可以生成清晰准确的,符合功能块图内部控制逻辑的执行顺序。需要说明的是,上述方法同样适用于由多个功能块图构成的组合图。同样需要注意的是,在对所述组合图进行排序时,要忽略多个功能块图之间的回环线,再分别对各个功能块图进行排序。并且,可按每个功能块图中起始功能块图的空间位置,依次对所述各个功能块图进行排序,空间位置同样为从上到下结合从左到右的方式,即首先对最左上角且没有信息输入的起始功能块所在的功能块图进行排序。通过上述本发明实施例公开的基于信息流的功能块自动排序方法,依据各个功能块间的信息流向,并结合各个功能块在功能块图中的空间位置,来确定起始功能块与当前定位功能块,其中,空间位置上具体采用从上到下结合从左到右的方式,且排序时忽略连接首尾功能块的回环线。同时,依次从上到下遍历当前定位功能块的输入端与输出端,可使整个排序过程清晰,符合功能块间的信息流向,从而可生成准确的符合内部控制逻辑的执行顺序,也保障了现场生产的安全性。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
8将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种基于信息流的功能块排序方法,其特征在于,包括确定功能块图中未输入信息的功能块为起始功能块,将其标记为序号1,并置为已排序状态;从上至下,遍历所述起始功能块的输出端所连接的各个功能块,将首先遍历到的第一功能块设定为当前定位功能块;从上至下,遍历所述当前定位功能块的输入端所连接的各个功能块,包括当遍历到的所述输入端所连接的各个功能块都为已排序状态时,则对所述当前定位功能块进行下一序号的标记,并置为已排序状态,从上至下,遍历所述当前定位功能块的输出端所连接的各个功能块,并将首先遍历到的输出端未排序功能块设定为当前定位功能块, 返回执行从上至下遍历所述当前定位功能块的输入端所连接的各个功能块这一步骤;当遍历到的所述输入端所连接的各个功能块中存在未进行排序的功能块时,则将首先遍历到的输入端未排序功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输入端所连接的各个功能块这一步骤;直至所述功能块图中所有功能块均已进行序号标记;其中,排序时忽略所述功能块图中连接首尾功能块的回环线。
2.根据权利要求I所述的方法,其特征在于,所述起始功能块为位于所述功能块图中最左上角且未输入信息的功能块。
3.根据权利要求2所述的方法,其特征在于,还包括当已进行序号标记的当前定位功能块输出端未输出信号时,则将前一序号功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输出端所连接的各个功能块这一步骤。
4.根据权利要求2所述的方法,其特征在于,还包括当已进行序号标记的当前定位功能块输出端连接的各个功能块都已排序时,则将前一序号功能块设定为当前定位功能块,返回执行从上至下遍历所述当前定位功能块的输出端所连接的各个功能块这一步骤。
5.根据权利要求2所述的方法,其特征在于,还包括当所述当前定位功能块的同一输出端连接多个功能块时,贝1J应首先遍历所述多个功能块中位于左上方的功能块。
6.根据权利要求2所述的方法,其特征在于,所述功能块图包括多个功能块图的组合图。
7.根据权利要求6所述的方法,其特征在于,所述组合图进行排序时,忽略多个功能块图之间的回环线,并分别对各个功能块图进行排序。
8.根据权利要求7所述的方法,其特征在于,包括按各个功能块图中起始功能块的空间位置,依次对所述各个功能块图进行排序。
9.根据权利要求8所述的方法,其特征在于,包括所述起始功能块为功能块图中最左上角且未输入信息的功能块。
全文摘要
本发明公开了一种基于信息流的功能块排序方法,主要包括依据功能块图中各个功能块间的信息流向,并结合各个功能块在功能块图中的空间位置,来确定起始功能块与当前定位功能块,其中,空间位置上具体采用从上到下结合从左到右的方式,且排序时忽略连接首尾功能块的回环线。然后,依次从上到下遍历当前定位功能块的输入端与输出端,可使整个排序过程清晰,符合功能块间的信息流向,从而可生成准确的、符合内部控制逻辑的执行顺序,并保障了现场生产的安全性。
文档编号G05B19/042GK102608934SQ20121002763
公开日2012年7月25日 申请日期2012年2月8日 优先权日2012年2月8日
发明者吴欣, 曹远恩, 章凌, 裘坤 申请人:浙江中控技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1