视觉检测流程条件执行控制方法及其控制系统
文献发布时间:2023-06-19 12:22:51
技术领域
本发明涉及机器视觉检测的技术领域,尤其是涉及一种视觉检测流程条件执行控制方法及其控制系统。
背景技术
机器视觉检测技术在智能制造领域得到了广泛的应用,机器视觉检测具有非接触、速度快、精度高和稳定性好等优点,与传统人工目视检测相比,机器视觉检测具有巨大的优势。
在机器视觉软件开发领域,将视觉算法功能模块化,通过可视化的图形界面进行视觉检测流程的编辑,可以降低视觉软件的开发难度,大幅缩短开发周期。
目前,基于可视化图形编程的视觉软件,对检测流程的逻辑控制大多还是使用脚本实现,因此,在一定程度上还是依赖文本编程方式,不能充分发挥可视化编程的优势。
发明内容
本发明的目的在于提供一种视觉检测流程条件执行控制方法,以解决现有技术中存在的,基于可视化图形编程的视觉软件,依赖文本编程方式,不能充分发挥可视化编程的优势的技术问题。
本发明提供的一种视觉检测流程条件执行控制方法,包括如下步骤:
S1,生成任务列表
任务列表用于记录视觉检测流程包含的功能模块;
S2,创建条件控制模块
创建条件控制模块并插入到任务列表,然后根据需要设定分支节点的数量;
S3,编辑执行控制条件
在参数配置界面,编辑各个分支节点的执行控制条件;
S4,插入内部功能模块
将需要控制执行的视觉检测功能模块插入到相应的分支节点下方,作为该分支的内部功能模块;
S5,执行条件控制模块
执行条件控制模块,各分支节点依次判断控制条件,根据控制条件决定分支内的功能模块是否执行,执行到结束节点时,条件控制模块完成。
进一步的,在步骤S1中,功能模块包括条件控制模块和普通功能模块,任务的执行顺序设定为按功能模块在列表中的位置由上至下依次执行,任务列表具有添加、删除和移动三项编辑功能。
进一步的,在步骤S2中,条件控制模块初始包含第一分支节点和结束节点。
进一步的,在步骤S2中,根据需要通过指令增加新的分支节点,或移除指定的分支节点;
新增的分支节点自动插入到结束节点的上一个位置;
移除指令将移除指定分支节点以及该分支的所有内部功能模块;
条件控制模块分支的数量至少为一个,第一分支节点不可移除。
进一步的,在步骤S3中,对于任意分支节点,通过指令调用相应的参数配置界面,编辑该分支的执行控制条件;
执行控制条件为逻辑表达式,执行判断时返回真或假两种状态值。
进一步的,在步骤S4中,通过步骤S1中任务列表的添加和移动编辑功能,将需要控制的功能模块插入到相应分支的内部;
分支的内部功能模块,指任务列表中该分支节点到下一分支节点之间的所有功能模块,任意功能模块被插入或移动到某分支节点与该分支节点的下一分支节点之间时,即成为该分支的内部功能模块。
进一步的,在步骤S5中,条件控制模块接收执行指令时,从第一分支节点开始判断执行控制条件:
若控制条件为真,按顺序依次执行该分支的内部功能模块;
若控制条件为假,则跳过当前分支,执行下一分支;
执行到结束节点时,条件控制模块完成。
进一步的,在步骤S5中,根据条件控制模块的分支节点,及各个功能模块在任务列表中的索引编号,判断功能模块所属的分支,进而控制功能模块的执行。
本发明还提供一种视觉检测流程条件执行控制方法的控制系统,该控制系统用于实施上述控制方法,其包括任务创建模块、任务编辑模块和运行管理模块;
任务创建模块用于为任务列表、各种功能模块创建相应的图标或文本,在交互界面进行显示;
任务编辑模块用于完成任务列表的插入、删除、移动,条件控制模块的新增节点、移除节点以及参数配置。
运行管理模块用于完成任务列表中各个功能模块的执行逻辑:对于条件控制模块,负责读取和解析分支节点的逻辑表达式,进行条件判断;对于普通功能模块,负责数据的输入与输出,调用相应的算法接口实现其功能。
进一步的,还包括任务保存模块;
任务保存模块用于实现视觉检测流程的保存与加载方法,能够将编辑好的视觉检测流程保存为工程文件,并且通过读取工程文件可以自动重构此流程。
本发明提供的一种视觉检测流程条件执行控制方法,依次采用生成任务列表;创建条件控制模块;编辑执行控制条件;插入内部功能模块;执行条件控制模块等步骤,采用模块化的图形控件,实现逻辑控制功能;采用可视化的编辑方式,对视觉检测流程进行逻辑控制;充分发挥了可视化编程的优势。
本发明提供的一种视觉检测流程条件执行控制方法的控制系统,采用任务创建模块、任务编辑模块和运行管理模块,将条件分支控制模块化,能够快速实现和调整视觉检测流程的条件执行控制,降低视觉应用的开发难度,缩短开发周期。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的视觉检测流程条件执行控制方法的流程图;
图2为本发明实施例提供的任务列表界面及交互功能示意图;
图3为本发明实施例提供的条件控制模块执行逻辑示意图;
图4为本发明实施例提供的视觉检测流程条件执行控制方法的控制系统的结构示意图。
图标:
100-任务创建模块; 200-任务编辑模块;
300-运行管理模块; 400-任务保存模块;
101-任务列表; 102-条件控制模块;
103-交互功能菜单。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
如图1所示,本发明提供的一种视觉检测流程条件执行控制方法,包括如下步骤:
S1,生成任务列表
任务列表用于记录视觉检测流程包含的功能模块;
进一步的,在步骤S1中,功能模块包括条件控制模块和普通功能模块,任务的执行顺序设定为按功能模块在列表中的位置由上至下依次执行,任务列表具有添加、删除和移动三项编辑功能。
添加,是指将一项新的功能模块添加到任务列表末端;
删除,是指将选定的功能模块从列表中移除;
移动,是指将选定的功能模块移动到指定位置。
S2,创建条件控制模块
创建条件控制模块并插入到任务列表,然后根据需要设定分支节点的数量;
进一步的,在步骤S2中,条件控制模块初始包含第一分支节点和结束节点。
进一步的,在步骤S2中,根据需要通过指令增加新的分支节点,或移除指定的分支节点;
新增的分支节点自动插入到结束节点的上一个位置;
移除指令将移除指定分支节点以及该分支的所有内部功能模块;
条件控制模块分支的数量至少为一个,第一分支节点不可移除。
S3,编辑执行控制条件
在参数配置界面,编辑各个分支节点的执行控制条件;
进一步的,在步骤S3中,对于任意分支节点,通过指令调用相应的参数配置界面,编辑该分支的执行控制条件;
执行控制条件为逻辑表达式,执行判断时返回真或假两种状态值。
步骤S1~S3任务列表的编辑、条件控制模块分支节点的增减以及参数配置界面的调用,均可通过任务列表界面的交互功能实现。
S4,插入内部功能模块
将需要控制执行的视觉检测功能模块插入到相应的分支节点下方,作为该分支的内部功能模块;
进一步的,在步骤S4中,通过步骤S1中任务列表的添加和移动编辑功能,将需要控制的功能模块插入到相应分支的内部;
分支的内部功能模块,指任务列表中该分支节点到下一分支节点之间的所有功能模块,任意功能模块被插入或移动到某分支节点与该分支节点的下一分支节点之间时,即成为该分支的内部功能模块。
S5,执行条件控制模块
执行条件控制模块,各分支节点依次判断控制条件,根据控制条件决定分支内的功能模块是否执行,执行到结束节点时,条件控制模块完成。
进一步的,在步骤S5中,条件控制模块接收执行指令时,从第一分支节点开始判断执行控制条件:
若控制条件为真,按顺序依次执行该分支的内部功能模块;
若控制条件为假,则跳过当前分支,执行下一分支;
执行到结束节点时,条件控制模块完成。
进一步的,在步骤S5中,根据条件控制模块的分支节点,及各个功能模块在任务列表中的索引编号,判断功能模块所属的分支,进而控制功能模块的执行。
本发明的上述视觉检测流程条件执行控制方法,采用可视化的编辑方式,对视觉检测流程进行条件分支控制,减少了对复杂的编程语言的依赖,降低了视觉软件的开发难度。
具体的,如图2所示,其中101为任务列表,记录了视觉检测流程包含的所有功能模块;102为条件控制模块,包含分支节点和内部功能模块,条件控制模块整体视为一个功能模块;103为任务列表的交互功能菜单,一般通过鼠标右键打开。交互功能的实现方式具体如下:
添加模块,在任务列表101的界面内任意位置打开交互功能菜单103,选择“添加模块”,可在弹出的工具箱界面选择一个功能模块,添加到任务列表最下端;
删除模块,选定任务列表101中的一项后打开交互功能菜单103,选择“删除模块”,可将选定项的功能模块移除;若选定项是条件控制模块102的第一分支节点,条件控制模块102及其内部功能模块将全部被移除;若选定项是条件控制模块102的其他分支节点,“删除模块”选项不可用。
移动模块,功能模块的移动通过任务列表101的拖动交互功能实现,选定一项后拖动到目标位置放置,即可完成功能模块的移动;若选定项是条件控制模块102的第一分支节点,条件控制模块102及其内部功能模块将全部被移动;若选定项是条件控制模块102的其他分支节点,拖动功能不可用。
添加分支节点,选定条件控制模块102的第一分支节点,打开交互功能菜单103,选择“添加分支节点”,可添加一个新的分支节点,插入到结束节点的上一行。
移除分支节点,选定条件控制模块102的分支节点,打开交互功能菜单103,选择“移除分支节点”,即可移除选定的分支节点和该分支的所有内部功能模块。选定项为第一分支节点或结束节点时,“移除分支节点”选项不可用。
参数配置,选定条件控制模块102的分支节点,通过双击该节点所在位置可打开参数编辑界面,进行控制条件的编辑;控制条件用逻辑表达式表示,编辑完成后以字符串的数据结构保存在模块内存中。
本实施例采用的任务列表形式可以简洁直观地显示条件控制模块对视觉检测流程中的功能模块的控制逻辑,同时集成了友好的可视化交互功能,对控制流程进行快速编辑和配置。
如图3所示,对于上述步骤S5,本实施例控制功能模块执行的方式为:对任务列表中所有功能模块或分支节点,按执行顺序(由上至下)进行编号,作为其索引。条件控制模块内部维护一张表记录所有分支节点的索引值,执行时根据索引表确定各个分支的范围,从而控制各个分支的执行。具体如下:
条件控制模块执行时,首先,将当前节点设为第一分支节点;
当分支节点的控制条件为真时,执行任务列表中索引值在该分支节点索引与下一分支节点索引之间的所有功能模块;
当分支节点的控制条件为假时,令当前节点索引直接指向下一分支节点,继续进行判断。
当前节点索引指向结束节点时,条件控制模块执行完成。
如图4所示,本发明还提供一种视觉检测流程条件执行控制方法的控制系统,该控制系统用于实施视觉检测流程条件执行控制方法,其包括任务创建模块100、任务编辑模块200和运行管理模块300;
任务创建模块100用于为任务列表、各种功能模块创建相应的图标或文本,在交互界面进行显示;
任务编辑模块200用于完成任务列表的插入、删除、移动,条件控制模块的新增节点、移除节点以及参数配置等(编辑操作)交互功能。
运行管理模块300用于完成任务列表中各个功能模块的执行逻辑:对于条件控制模块,负责读取和解析分支节点的逻辑表达式,进行条件判断;对于普通功能模块,负责数据的输入与输出,调用相应的算法接口实现其功能。
进一步的,还包括任务保存模块400;
任务保存模块400用于实现视觉检测流程的保存与加载方法,能够将编辑好的视觉检测流程保存为工程文件,并且通过读取工程文件可以自动重构此流程。
本实施例采用可扩展标记语言(XML)实现视觉检测流程的保存与加载,按照XML语言规范记录任务列表中所有功能模块的类型、参数及位置,生成工程文件,保存在存储设备中。当需要再次使用相同的检测流程时,读取相应的工程文件,依据文件的标记信息重新生成任务列表和功能模块。同时,生成的工程文件可采用自定义的编码进行加密,保证其安全性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
- 视觉检测流程条件执行控制方法及其控制系统
- 通信模块执行控制系统、通信模块执行控制方法、和应用程序执行控制系统及应用程序执行控制方法