CN104503338A - 一种功能块排序执行方法及装置 - Google Patents
一种功能块排序执行方法及装置 Download PDFInfo
- Publication number
- CN104503338A CN104503338A CN201410850533.9A CN201410850533A CN104503338A CN 104503338 A CN104503338 A CN 104503338A CN 201410850533 A CN201410850533 A CN 201410850533A CN 104503338 A CN104503338 A CN 104503338A
- Authority
- CN
- China
- Prior art keywords
- functional block
- preposition
- module
- execution
- block number
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
Abstract
本发明实施例公开了一种功能块排序执行方法,所述方法包括:确定每个功能块的前置功能块数,所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量;按照所述前置功能块数由小到大的顺序对各个功能块进行排序;按照所述排序顺序执行所述功能块。本实施例还公开了一种功能块排序执行装置。本发明克服了现有技术手动指定功能块的执行顺序而导致的控制逻辑错误并影响现场生产安全性的技术缺点,实现了功能块自动排序执行的目的。
Description
技术领域
本发明涉及工业控制技术领域,尤其涉及一种功能块排序执行方法及装置。
背景技术
在工业控制领域,工程师常常用功能块图来编写控制方案。所述功能块是具备一定运算能力及若干输入和/或输出引脚的单元,其中所述输入、输出引脚分别为该单元上用以接收数据和发送数据的连接点。多数控制系统软件要求工程师在编写完功能块图逻辑后,逐个指定各功能块的执行顺序。而一副较为复杂的控制程序可能会包含数十甚至上百个功能块,人工指定所有功能块的执行顺序难免会出错,容易导致控制逻辑错误,影响现场生产的安全性。
发明内容
为了解决现有技术,本发明实施例提供一种功能块排序执行方法及装置,实现了自动执行功能块的目的。
本发明实施例提供了一种功能块排序执行方法,所述方法包括:
确定每个功能块的前置功能块数,所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量;
按照所述前置功能块数由小到大的顺序对各个功能块进行排序;
按照所述排序顺序执行所述功能块。
优选的,当相同前置功能块数的功能块至少有两个时,所述方法还包括:
按照预设规则对所述相同前置功能块数的功能块进行排序。
优选的,所述预设规则为:
按照由上到下的空间位置确定所述功能块执行的先后顺序。
优选的,所述预设规则为:
按照由左到右的空间位置确定所述功能块执行的先后顺序。
优选的,所述预设规则为:
按照由上到下结合由左到右的空间位置确定所述功能块执行的先后顺序,其中,优先由上到下或由左到右的排序规则。
优选的,在所述确定每个功能块的前置功能块数的步骤之前,所述方法还包括:
去除回环线,其中所述回环线是指连接起始节点的输入端且使数据流向发生循环的线路,所述起始节点是指所述前置功能块数为零的功能块。
本发明实施例还提供了一种功能块排序执行装置,所述装置包括:前置功能块数确定模块、功能块排序模块和功能块执行模块,其中,所述前置功能块数确定模块与所述功能块排序模块连接,所述功能块排序模块与所述功能块执行模块连接;
所述前置功能块数确定模块,用于确定每个功能块的前置功能块数,所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量;
所述功能块排序模块,用于按照所述前置功能块数由小到大的顺序对各个功能块进行排序;
所述功能块执行模块,用于按照所述排序顺序执行所述功能块。
优选的,所述装置还包括:回环线去除模块,所述回环线去除模块与所述前置功能块数确定模块连接;
所述回环线去除模块,用于去除回环线,其中所述回环线是指连接起始节点的输入端且使数据流向发生循环的线路,所述起始节点是指所述前置功能块数为零的功能块。
与现有技术相比,本发明具有以下优点:
通过确定每个功能块的前置功能块数,按照所述前置功能块数由小到大的顺序对各个功能块进行排序,并按照所述排序顺序执行所述功能块,克服了现有技术手动指定功能块的执行顺序而导致的控制逻辑错误并影响现场生产安全性的技术缺点,实现了功能块自动排序执行的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种功能块排序执行方法实施例一的流程图;
图2为本发明提供的一种功能块排序执行方法实施例一的功能块图;
图3为本发明提供的一种功能块排序执行方法实施例二的流程图;
图4为本发明提供的一种功能块排序执行方法实施例二的功能块图;
图5为本发明提供的一种功能块排序执行装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
功能块图是一种面向图形的编程语言,一般来说,功能块的控制功能是由系统已定义的功能块来完成的,通过功能块图可以将这些功能块组合起来实现预期的控制功能。现有技术中,当工程师完成功能块图后,所述功能块的逻辑执行顺序需要手动进行指定,当功能块图较为复杂时,手动指定很容易指定错误,导致逻辑顺序混乱,进而可能影响现场生产的安全性。
方法实施例一:
参见图1,该图为本发明提供的一种功能块排序执行方法实施例一流程图。
本发明实施例提供的功能块排序执行方法包括如下步骤:
步骤101:确定每个功能块的前置功能块数。
所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量。
举例而言,参见图2的功能块图,功能块1的输入引脚没有连接任何其他功能块,所以所述功能块1的前置功能块数为0;功能块2的输入引脚连接功能块1的输出端,所以所述功能块2的前置功能块数为1;功能块3的输入引脚直接连接功能块2的输出端,而所述功能块2的输入端又连接所述功能块1的输出端,也就是说,所述功能块2的输入引脚与功能块1的输出引脚间接连接,所以所述功能块3的前置功能块为功能块2和功能块1,所述功能块3的前置功能块数为2。
步骤102:按照所述前置功能块数由小到大的顺序对各个功能块进行排序。
以图2为例,根据上述分析,功能块1、2和3的前置功能块数分别为0、1、2,所以按照前置功能块数由小到大的顺序,功能块1、2和3的执行顺序为:功能块1、功能块2、功能块3。
步骤103:按照所述排序顺序执行所述功能块。
本实施例通过确定每个功能块的前置功能块数,按照所述前置功能块数由小到大的顺序对各个功能块进行排序,并按照所述排序顺序执行所述功能块,实现了功能块自动排序执行的目的,克服了现有技术手动指定功能块的执行顺序而导致的控制逻辑错误并影响现场生产安全性的技术缺点。
方法实施例二:
参见图3,该图为本发明提供的一种功能块排序执行方法实施例二流程图。
本发明实施例提供的功能块排序执行方法包括如下步骤:
步骤201:确定每个功能块的前置功能块数。
举例而言,参见图4的功能块图,实线为本实施例中各个功能块之间的连接线。功能块A的输入端未发现与其他功能块的连线,所以所述功能块A的前置功能块数为0。功能块B的BKIN输入端连接功能块A的MV输出端,且所述功能块B的PV输入端连接功能块D的BKOUT输出端,而所述功能块D的输入端没有与其他功能块进行连接,所以所述功能块B的前置功能块数为2,且所述功能块D的前置功能块数为0。功能块C的BKIN输入端直接连接功能块B的MV输出端,而所述功能块B的前置功能块分别为A和D,所以与功能块C的BKIN输入端直接和间接连接的功能块为A、B、D,同理,与功能块C的IN输入端直接和间接连接的功能块为F、A、E、D,所以所述功能块C的前置功能块为A、B、D、E、F,其前置功能块数为5。表1为图4所有功能块对应的前置功能块和前置功能块数。
表1功能块的前置功能块数
功能块 | 前置功能块 | 前置功能块数 |
A | 无 | 0 |
B | A、D | 2 |
C | A、B、D、E、F | 5 |
D | 无 | 0 |
E | D | 1 |
F | A、D、E | 3 |
G | A、B、D、E、F | 5 |
步骤202:判断相同前置功能块数的功能块是否至少有两个,如果是,则进行步骤203。
步骤203:按照预设规则对所述相同前置功能块数的功能块进行排序。
在实际应用中,相同前置功能块数的功能块很可能有多个,例如表1中,前置功能块数为0的功能块分别为A和D,而前置功能块数为5的功能块分别为C和G,本发明按照预设规则分别对功能块A和D以及功能块C和G进行排序。至于按照哪种预设规则,本发明不做具体限定,可以为随意选择、按照空间位置由上到下或由左到右的顺序等等。在本实施例中,优选所述预设规则为按照空间位置由上到下结合由左到右的顺序进行排序,当由上到下和由左到右的规则无法唯一确定排序顺序时,优先由上到下的规则。
例如,图4中,功能块A的空间位置在功能块D的上方,所以就功能块A和D而言,先后执行顺序为先执行功能块A,后执行功能块D;功能块C的空间位置在功能块G的上方,但是同时,功能块G又位于功能块C的左方,当根据由上到下结合由左到右的规则无法唯一确定功能块C和G的执行顺序时,优先由上到下的规则,即先执行功能块C,后执行功能块G。
步骤204:按照所述前置功能块数由小到大的顺序对各个功能块进行排序。
本步骤的排序思想与步骤102的排序思想一致,故不再赘述。
步骤205:按照步骤203和步骤204确定的的排序顺序执行所述功能块。
本实施例中当前置功能块数一样时,按照预设规则对功能块进行排序;当前置功能块数不一样时,按照前置功能块数由小到大的顺序对功能块进行排序。所以,图4的功能块执行顺序为:A、D、E、B、F、C、G。
当然,步骤202和203也可以在步骤204之后执行,本发明不做具体限定。
此外,当功能块图中有回环线时,由于回环线会导致排序陷入死循环,在确定每个功能块的前置功能块数之前,所述回环线必须被去除。其中,所述回环线是指连接起始节点的输入端且使数据流向发生循环的线路,所述起始节点是指所述前置功能块数为零的功能块。为了系统能够识别回环线,工程师在制作功能块图时,需要将回环线与连接线区别开来,用特殊的线来画,例如图4采用实线表示功能块之间的连接线,采用被打上“//”的实线作为回环线。
基于以上实施例提供的一种功能块排序执行方法,本发明实施例还提供了一种功能块排序执行装置,下面结合附图来详细说明其工作原理。
装置实施例:
参见图5,该图为本发明提供的一种功能块排序执行装置结构框图。
本发明实施例提供的功能块排序执行装置包括:前置功能块数确定模块301、功能块排序模块302和功能块执行模块303,其中,所述前置功能块数确定模块301与所述功能块排序模块302连接,所述功能块排序模块302与所述功能块执行模块303连接;
所述前置功能块数确定模块301,用于确定每个功能块的前置功能块数,所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量;
所述功能块排序模块302,用于按照所述前置功能块数由小到大的顺序对各个功能块进行排序;
所述功能块执行模块303,用于按照所述排序顺序执行所述功能块。
本实施例通过确定每个功能块的前置功能块数,按照所述前置功能块数由小到大的顺序对各个功能块进行排序,并按照所述排序顺序执行所述功能块,实现了功能块自动排序执行的目的,提高了现场生产的安全性。
此外,为了使自动排序不会陷入死循环,优选的,本实施例还包括回环线去除模块304,所述回环线去除模块304与所述前置功能块数确定模块301连接;
所述回环线去除模块304,用于去除回环线,其中所述回环线是指连接起始节点的输入端且使数据流向发生循环的线路,所述起始节点是指所述前置功能块数为零的功能块。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种功能块排序执行方法,其特征在于,所述方法包括:
确定每个功能块的前置功能块数,所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量;
按照所述前置功能块数由小到大的顺序对各个功能块进行排序;
按照所述排序顺序执行所述功能块。
2.根据权利要求1所述的功能块排序执行方法,其特征在于,当相同前置功能块数的功能块至少有两个时,所述方法还包括:
按照预设规则对所述相同前置功能块数的功能块进行排序。
3.根据权利要求2所述的功能块排序执行方法,其特征在于,所述预设规则为:
按照由上到下的空间位置确定所述功能块执行的先后顺序。
4.根据权利要求2所述的功能块排序执行方法,其特征在于,所述预设规则为:
按照由左到右的空间位置确定所述功能块执行的先后顺序。
5.根据权利要求2所述的功能块排序执行方法,其特征在于,所述预设规则为:
按照由上到下结合由左到右的空间位置确定所述功能块执行的先后顺序,其中,优先由上到下或由左到右的排序规则。
6.根据权利要求1所述的功能块排序执行方法,其特征在于,在所述确定每个功能块的前置功能块数的步骤之前,所述方法还包括:
去除回环线,其中所述回环线是指连接起始节点的输入端且使数据流向发生循环的线路,所述起始节点是指所述前置功能块数为零的功能块。
7.一种功能块排序执行装置,其特征在于,所述装置包括:前置功能块数确定模块、功能块排序模块和功能块执行模块,其中,所述前置功能块数确定模块与所述功能块排序模块连接,所述功能块排序模块与所述功能块执行模块连接;
所述前置功能块数确定模块,用于确定每个功能块的前置功能块数,所述前置功能块数为与所述功能块的输入引脚直接和间接连接的功能块的数量;
所述功能块排序模块,用于按照所述前置功能块数由小到大的顺序对各个功能块进行排序;
所述功能块执行模块,用于按照所述排序顺序执行所述功能块。
8.根据权利要求7所述的功能块排序执行装置,其特征在于,所述装置还包括:回环线去除模块,所述回环线去除模块与所述前置功能块数确定模块连接;
所述回环线去除模块,用于去除回环线,其中所述回环线是指连接起始节点的输入端且使数据流向发生循环的线路,所述起始节点是指所述前置功能块数为零的功能块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850533.9A CN104503338B (zh) | 2014-12-30 | 2014-12-30 | 一种功能块排序执行方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850533.9A CN104503338B (zh) | 2014-12-30 | 2014-12-30 | 一种功能块排序执行方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104503338A true CN104503338A (zh) | 2015-04-08 |
CN104503338B CN104503338B (zh) | 2017-07-11 |
Family
ID=52944742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410850533.9A Active CN104503338B (zh) | 2014-12-30 | 2014-12-30 | 一种功能块排序执行方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104503338B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858721A (zh) * | 2017-11-30 | 2019-06-07 | 中广核(北京)仿真技术有限公司 | 一种控制计算策略生成方法以及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101802826A (zh) * | 2007-09-10 | 2010-08-11 | Abb技术有限公司 | 智能电子设备的配置 |
CN102608934A (zh) * | 2012-02-08 | 2012-07-25 | 浙江中控技术股份有限公司 | 基于信息流的功能块排序方法 |
JP2012159868A (ja) * | 2011-01-28 | 2012-08-23 | Mitsubishi Electric Corp | プログラマブルロジックコントローラのプログラミング装置 |
CN103135975A (zh) * | 2011-11-30 | 2013-06-05 | 福州福大自动化科技有限公司 | 控制策略组态的元件时序自动排列方法及其逻辑链接方法 |
WO2014170992A1 (ja) * | 2013-04-18 | 2014-10-23 | 三菱電機株式会社 | プログラミングツール |
-
2014
- 2014-12-30 CN CN201410850533.9A patent/CN104503338B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101802826A (zh) * | 2007-09-10 | 2010-08-11 | Abb技术有限公司 | 智能电子设备的配置 |
JP2012159868A (ja) * | 2011-01-28 | 2012-08-23 | Mitsubishi Electric Corp | プログラマブルロジックコントローラのプログラミング装置 |
CN103135975A (zh) * | 2011-11-30 | 2013-06-05 | 福州福大自动化科技有限公司 | 控制策略组态的元件时序自动排列方法及其逻辑链接方法 |
CN102608934A (zh) * | 2012-02-08 | 2012-07-25 | 浙江中控技术股份有限公司 | 基于信息流的功能块排序方法 |
WO2014170992A1 (ja) * | 2013-04-18 | 2014-10-23 | 三菱電機株式会社 | プログラミングツール |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109858721A (zh) * | 2017-11-30 | 2019-06-07 | 中广核(北京)仿真技术有限公司 | 一种控制计算策略生成方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104503338B (zh) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014116861A3 (en) | Parallel processing with proactive solidarity cells | |
WO2016164680A3 (en) | Automated model development process | |
CN106354648B (zh) | 一种python自动化测试框架系统及测试方法 | |
CN111506345B (zh) | 一种非型闪存指令组合验证方法、系统、存储介质和终端 | |
CN204360056U (zh) | 一种新型液晶显示屏测试机 | |
CN105468373A (zh) | 一种分支合并方法及装置 | |
CN105824713A (zh) | 一种数据校验方法及装置 | |
CN104392050A (zh) | 三维模型零件比对系统及其方法 | |
CN103577252A (zh) | 一种软件分类的方法及装置 | |
CN104503338A (zh) | 一种功能块排序执行方法及装置 | |
CN106407117A (zh) | 一种通用的接口测试方法 | |
CN105759103A (zh) | 一种检测适配器最大输出电流的方法、装置及终端 | |
TWI276980B (en) | Method and system of automatic carrier transfer | |
CN103246596A (zh) | 一种对基于时间控制的plc程序自动测试的方法 | |
CN103942144A (zh) | 一种利用参数关系图形化映射的测试方法 | |
CN103530742B (zh) | 提高排程运算速度的方法及装置 | |
CN115393117A (zh) | 一种基于超级bom的差异化分析方法、系统、设备和可读存储介质 | |
CN112035169B (zh) | 跳转处理方法及装置、计算机设备及计算机可读存储介质 | |
CN105205582B (zh) | 一种用于edm的管理方法及系统 | |
CN205485449U (zh) | 一种dnc信息采集系统 | |
CN104699025B (zh) | 工艺流程控制方法以及工艺流程控制系统 | |
CN106997182B (zh) | 一种用于单片机或pc机的可编程控制方法 | |
WO2016151710A1 (ja) | 仕様構成装置および方法 | |
CN112527631A (zh) | bug定位方法、系统、电子设备及存储介质 | |
CN113778038B (zh) | 一种分散控制系统离线组态对比方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |