一种可视化编程循环执行配置方法及装置与流程

文档序号:32426749发布日期:2022-12-03 00:04阅读:67来源:国知局
一种可视化编程循环执行配置方法及装置与流程

1.本发明涉及一种可视化编程循环执行配置方法及装置,属于可视化编程技术领域。


背景技术:

2.在可视化图形编程过程中,通过预定义的功能图形符号,可以很方便地实现逻辑运算编程。但是,现有的可视化图形编程不能通过预定义功能符号来编写指定范围内的逻辑运算重复多次执行的程序,或者不能通过预定义功能符号来编写指定范围内的逻辑运算在某判断条件下执行的程序。
3.对于指定范围内局部图形逻辑的循环执行,目前已知做法是将该局部逻辑当成循环体,结合循环条件及执行代码封装成独立符号来调用,并在符号配置中配置循环条件或执行次数。这种方法涉及符号封装、编译、生成图形、符号更新等过程,非常不利于调试时频繁修改循环体内部逻辑。且针对不同的局部逻辑循环需要制作不同的符号,达不到通用效果,也降低了可视化编程效率。
4.因此,如何在可视化图形编程中让指定范围内的局部图形逻辑循环执行是本领域技术人员急需要解决的技术问题。


技术实现要素:

5.目的:为了克服现有技术中存在的已有的可视化图形编程通常将逻辑代码事先写好封装在某个符号内部执行,不利于灵活修改,导致不方便使用循环功能的问题,本发明提供一种可视化编程循环执行配置方法及装置。
6.技术方案:为解决上述技术问题,本发明采用的技术方案为:第一方面,一种可视化编程循环执行配置方法,包括如下步骤:步骤1:根据编程需要绘制逻辑符号图形,逻辑符号图形包括逻辑符号,逻辑符号根据编程需要通过连接线进行连接。
7.步骤2:绘制循环矩形框,通过循环矩形框选取需要循环执行的逻辑符号图形中部分或者全部逻辑子网络。
8.步骤3:设置循环矩形框的循环参数。
9.步骤4:对逻辑符号图形进行预处理,生成需要循环执行的逻辑符号、逻辑符号排序。
10.步骤5:对需要循环执行的逻辑符号、逻辑符号排序生成可执行的代码。
11.作为优选方案,所述逻辑符号包括:外部输入符号lin,外部输出符号lout,逻辑常量和逻辑计算符号。
12.作为优选方案,所述循环矩形框可以根据需要进行移动、缩放操作。
13.作为优选方案,所述循环参数包括:循环表达式1、循环表达式2、循环表达式3,循环表达式1为循环初始条件,循环表达式2为循环判断条件,循环表达式3为循环执行条件。
14.作为优选方案,所述步骤4,包括如下步骤:步骤4.1:对逻辑符号图形中逻辑符号按上、下、左、右的相对位置进行依次排序。
15.步骤4.2:根据逻辑符号之间连接线连接拓扑关系再次排序。
16.步骤4.3:将第一个逻辑符号作为第一个逻辑子网络的开始,以第一个逻辑符号为当前逻辑符号,判断是否存在后继连接的逻辑符号,如果不存在则当前逻辑子网络划分结束,进入下一个逻辑子网络划分;如果存在则所有后继连接逻辑符号划分到第一个逻辑子网络,并判断每个后继连接逻辑符号是否存在后继连接逻辑符号,以此类推,直到当前逻辑符号没有任何后继连接符号,则第一个逻辑子网络划分结束,进入下一个逻辑子网络划分,直到获得所有逻辑子网络。
17.步骤4.4:对在循环矩形框内部的逻辑子网络对应的逻辑符号进行标记,生成需要循环执行的逻辑符号、逻辑符号排序。
18.作为优选方案,所述步骤5,包括如下步骤:步骤5.1:根据需要循环执行的逻辑符号生成逻辑符号函数代码。
19.步骤5.2:根据逻辑符号排序生成逻辑符号函数调用代码。
20.步骤5.3:根据循环矩形框及循环参数生成循环代码。
21.步骤5.4:根据逻辑符号函数代码和逻辑符号函数调用代码生成逻辑符号代码,将逻辑符号代码作为循环体。
22.步骤5.5:将循环体放在循环代码内部执行。
23.作为优选方案,所述步骤5.5,包括如下步骤:步骤5.5.1:从循环表达式1的循环初始条件开始,进行循环体的第一次循环执行。
24.步骤5.5.2:判断循环表达式2的循环判断条件是否为真,为假则退出循环,为真则执行循环矩形框中的循环体。
25.步骤5.5.3:执行循环表达式3的循环执行条件,完成第一次循环执行。
26.步骤5.5.4:返回步骤5.5.2进入循环体的下一次循环执行。
27.第二方面,一种可视化编程循环执行配置装置,包括如下模块:图形绘制模块:用于根据编程需要绘制逻辑符号图形,逻辑符号图形包括逻辑符号,逻辑符号根据编程需要通过连接线进行连接。
28.循环框绘制模块:用于绘制循环矩形框,通过循环矩形框选取需要循环执行的逻辑符号图形中部分或者全部逻辑子网络。
29.循环参数设置模块:用于设置循环矩形框的循环参数。
30.排序模块:用于对逻辑符号图形进行预处理,生成需要循环执行的逻辑符号、逻辑符号排序。
31.代码生成模块:用于对需要循环执行的逻辑符号、逻辑符号排序生成可执行的代码。
32.作为优选方案,所述逻辑符号包括:外部输入符号lin,外部输出符号lout,逻辑常量和逻辑计算符号。
33.作为优选方案,所述循环矩形框可以根据需要进行移动、缩放操作。
34.作为优选方案,所述循环参数包括:循环表达式1、循环表达式2、循环表达式3,循环表达式1为循环初始条件,循环表达式2为循环判断条件,循环表达式3为循环执行条件。
35.作为优选方案,所述排序模块,包括如下步骤:步骤4.1:对逻辑符号图形中逻辑符号按上、下、左、右的相对位置进行依次排序。
36.步骤4.2:根据逻辑符号之间连接线连接拓扑关系再次排序。
37.步骤4.3:将第一个逻辑符号作为第一个逻辑子网络的开始,以第一个逻辑符号为当前逻辑符号,判断是否存在后继连接的逻辑符号,如果不存在则当前逻辑子网络划分结束,进入下一个逻辑子网络划分;如果存在则所有后继连接逻辑符号划分到第一个逻辑子网络,并判断每个后继连接逻辑符号是否存在后继连接逻辑符号,以此类推,直到当前逻辑符号没有任何后继连接符号,则第一个逻辑子网络划分结束,进入下一个逻辑子网络划分,直到获得所有逻辑子网络。
38.步骤4.4:对在循环矩形框内部的逻辑子网络对应的逻辑符号进行标记,生成需要循环执行的逻辑符号、逻辑符号排序。
39.作为优选方案,所述代码生成模块,包括如下步骤:步骤5.1:根据需要循环执行的逻辑符号生成逻辑符号函数代码。
40.步骤5.2:根据逻辑符号排序生成逻辑符号函数调用代码。
41.步骤5.3:根据循环矩形框及循环参数生成循环代码。
42.步骤5.4:根据逻辑符号函数代码和逻辑符号函数调用代码生成逻辑符号代码,将逻辑符号代码作为循环体。
43.步骤5.5:将循环体放在循环代码内部执行。
44.作为优选方案,所述将循环体放在循环代码内部执行,包括如下步骤:步骤5.5.1:从循环表达式1的循环初始条件开始,进行循环体的第一次循环执行。
45.步骤5.5.2:判断循环表达式2的循环判断条件是否为真,为假则退出循环,为真则执行循环矩形框中的循环体。
46.步骤5.5.3:执行循环表达式3的循环执行条件,完成第一次循环执行。
47.步骤5.5.4:返回步骤5.5.2进入循环体的下一次循环执行。
48.有益效果:本发明提供的一种可视化编程循环执行配置方法及装置,在可视化图形编程基础上,增加绘制将指定范围内图形符号内容框选,并根据循环参数重复运行的循环执行功能。
49.本发明能够方便快捷地指定循环内容和循环条件,解决了可视化图形编程不能直接使用循环功能的问题。
附图说明
50.图1是本发明中可视化编程的逻辑符号图形和循环矩形框示意图。
51.图2是本发明中可视化编程的循环参数配置示意图。
52.图3是本发明中可视化编程的循环体处理过程图。
53.图4是本发明中可视化编程的循环符号处理过程图。
具体实施方式
54.下面结合具体实施例对本发明作更进一步的说明。
55.本发明提供第一种实施例一种可视化编程循环执行配置方法,包括如下步骤:
第一步:绘制需要循环执行的逻辑符号图形,逻辑符号图形由通过连接线连接的逻辑符号组成。
56.第二步:使用循环矩形框绘制工具绘制循环矩形框,框选需要循环执行的程序内容,即需要循环执行的逻辑符号图形,可以是部分或者全部逻辑子网络。
57.第三步:设置循环参数,包括3个表达式,表达式1、表达式2和表达式3,其中表达式1为初始化条件,表达式2为循环判断条件,表达式3为循环执行条件。
58.第四步:对所有逻辑符号进行排序,并对位于循环矩形框内的逻辑符号进行标记,循环矩形框本身如果在其它循环矩形框内部也进行标记。
59.第五步:对第四步中排序处理过的逻辑符号处理连接关系,变量名替换及传递,生成代码;并将位于循环矩形框内部的逻辑符号代码放置在循环体内部;对于循环矩形框本身如果在其它循环矩形框内部,也当成普通符号代码处理放在该层循环体内部。
60.第六步:在循环体运行过程中,先根据表达式1初始化;再判断表达式2是否为真,为真则执行循环体(被框选的逻辑符号图形内容),为假则退出循环;每次执行完一次循环体再执行一次表达式3,再回到判断表达式2,如此循环。
61.进一步地,所述的第二步中,循环矩形框可以根据需要进行移动、缩放操作,方便快速精确指定循环内容。
62.进一步地,所述的第三步中,表达式1、2、3可任意配置,均可以为空,表达式1、2、3均为空则为无条件循环,可以结合循环体内部break符号,实现循环跳出功能;也可以在循环体内部绘制continue符号,实现循环继续功能。当循环表达式满足循环次数只有一次且表达式2为真时,该循环等价于条件判断if语句。
63.进一步地,所述的第四步中,逻辑符号排序,先根据逻辑符号位置进行预排序,再根据符号之间连接关系排序,在同一个连接子网络中的逻辑符号会依次排在一起。
64.进一步地,所述的第四步中,根据循环矩形框与逻辑符号的位置关系,确定逻辑符号是否在循环体中;同时循环符号本身也需要确定是否在循环体中。
65.进一步地,所述的第五步中,先根据排序逻辑符号生成逻辑代码,再根据第四步中符号是否位于循环符号内部确定代码是否位于循环体内部;多层嵌套循环符号内层循环当成外层循环体里的普通符号处理。
66.本发明提供第二种实施例一种可视化编程循环执行配置装置,包括如下模块:图形绘制模块:用于绘制需要循环执行的逻辑符号图形,逻辑符号图形由通过连接线连接的逻辑符号组成。
67.循环框绘制模块:用于使用循环矩形框绘制工具绘制循环矩形框,框选需要循环执行的程序内容,即需要循环执行的逻辑符号图形,可以是部分或者全部逻辑子网络。
68.循环参数设置模块:用于设置循环参数,包括3个表达式,表达式1、表达式2和表达式3,其中表达式1为初始化条件,表达式2为循环判断条件,表达式3为循环执行条件。
69.排序模块:用于对所有逻辑符号进行排序,并对位于循环矩形框内的逻辑符号进行标记,循环矩形框本身如果在其它循环矩形框内部也进行标记。
70.代码生成模块:用于对第四步中排序处理过的逻辑符号处理连接关系,变量名替换及传递,生成代码;并将位于循环矩形框内部的逻辑符号代码放置在循环体内部;对于循环矩形框本身如果在其它循环矩形框内部,也当成普通符号代码处理放在该层循环体内
部。
71.循环体运行模块:用于在循环体运行过程中,先根据表达式1初始化;再判断表达式2是否为真,为真则执行循环体(被框选的逻辑符号图形内容),为假则退出循环;每次执行完一次循环体再执行一次表达式3,再回到判断表达式2,如此循环。
72.第三种实施例:一种可视化编程循环执行配置方法,包括如下步骤:步骤1、根据编程需要绘制逻辑符号图形,逻辑符号图形由逻辑符号和连接线组成,逻辑符号包括外部输入符号lin,外部输出符号lout,逻辑常量,逻辑计算符号,如加、减、乘、除等;连接线连接两个逻辑符号,连接线在图形上为直线或者折线。
73.如附图1所示:逻辑常量var1与外部输入符号lin(变量var2)分别通过连接线与逻辑计算符号(相乘)相连接得到变量var3,var3与逻辑常量var4分别通过连接线与逻辑计算符号(求和)相连接得到外部输出符号lout(变量var5);该部分逻辑符号图形为逻辑子网络1。
74.外部输入符号lin(常量var6)与逻辑变量var7通过连接线与逻辑计算符号(求和)相连接,得到外部输出符号lout(变量var8);该部分逻辑符号图形为逻辑子网络2。
75.步骤2、循环矩形框作为循环符号是一个矩形框,首先绘制循环矩形框,通过循环矩形框选取需要循环执行的逻辑符号图形,选取的逻辑符号图形即为该循环的循环体,循环矩形框内部的逻辑符号图形根据循环矩形框的循环参数循环执行,如图1中被循环矩形框选取的逻辑子网络1,循环矩形框的循环参数为for(int i=0,i《3,++i)。
76.步骤3、设置循环矩形框的循环参数,如图2所示:循环参数包括3部分:循环表达式1、2、3。循环表达式1为循环初始条件,循环表达式2为循环判断条件,循环表达式3为循环执行条件。通常情况下,如图3所示,一个完整的循环体执行过程为:从循环表达式1的循环初始条件开始,一次循环执行包括:判断循环表达式2的循环判断条件是否为真,为假则退出循环,为真则执行循环矩形框中的循环体,然后执行循环表达式3的循环执行条件,再进入下一次循环执行。
77.步骤4、将逻辑符号图形转换成代码前,需要对逻辑符号图形进行处理,如图4所示,第一步,先对逻辑符号图中逻辑符号进行预排序,预排序逻辑符号按上、下、左、右的相对位置进行依次排序;第二步,对在循环矩形框内部的逻辑符号进行标记;第三步,根据逻辑符号之间连接线连接拓扑关系再次排序;第四步,划分逻辑子网络,逻辑子网络指图形上独立的逻辑集合,逻辑子网络内部任意两个逻辑符号都直接或间接相连,任何两个逻辑子网络之间没有直接或间接连接关系,如逻辑子网络1、逻辑子网络2。在第四步排序基础上,从第一个逻辑符号开始为第一个逻辑子网络开始,以第一个逻辑符号为当前逻辑符号,判断是否存在后继连接的逻辑符号,如果不存在则当前逻辑子网络划分结束,进入下一个逻辑子网络划分;如果存在则所有后继连接逻辑符号划分到第一个逻辑子网络,并判断每个后继连接逻辑符号是否存在后继连接逻辑符号,以此类推,直到当前逻辑符号没有任何后继连接符号,则第一个逻辑子网络划分结束,进入下一个逻辑子网络划分。一个循环矩形框必须包含一个或多个完整的逻辑子网络,逻辑子网络的划分用于代码生成与逻辑符号图形比较。
78.步骤5、逻辑符号图形转换成代码,生成逻辑代码。先根据每个逻辑符号生成逻辑
符号函数代码,包括形参和函数体代码,再根据逻辑符号排序顺序生成逻辑符号函数调用代码,包括实参传递;根据循环矩形框及循环参数生成循环代码,将内部被标记的逻辑符号代码当成循环体放在循环代码内部执行。
79.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
80.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
81.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
82.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
83.以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1