一种基于流程图的视觉检测方法、装置、设备及介质与流程

文档序号:29694444发布日期:2022-04-16 12:37阅读:94来源:国知局
一种基于流程图的视觉检测方法、装置、设备及介质与流程

1.本发明实施例涉及计算机技术,尤其涉及一种基于流程图的视觉检测方法、装置、设备及介质。


背景技术:

2.视觉缺陷检测作为一种高效率、高精度、无损害的检测方法应用越来越广泛。随着技术的发展,电子产品的研发与迭代越来越快。针对每一种新产品,视觉检测设备供应商都要对软件做定制开发。
3.传统的软件定制开发方法效率比较低下,且由于开发需要一定的周期,相对于产品的快速更新迭代,存在不可避免的滞后性。


技术实现要素:

4.本发明实施例提供一种基于流程图的视觉检测方法、装置、设备及介质,可以提高视觉检测功能的实现效率和扩展能力。
5.第一方面,本发明实施例提供了一种基于流程图的视觉检测方法,该方法包括:
6.获取待执行的目标流程图;其中,所述目标流程图中包括至少两个候选流程单元和不同所述候选流程单元之间的连接关系;
7.根据所述连接关系,从所述至少两个候选流程单元中选择待执行的目标流程单元;
8.根据所述目标流程单元的单元属性信息,从候选插件中选择目标插件,并调用所述目标插件实现所述目标流程单元对应的视觉检测功能。
9.第二方面,本发明实施例还提供了一种基于流程图的视觉检测装置,该装置包括:
10.流程获取模块,用于获取待执行的目标流程图;其中,所述目标流程图中包括至少两个候选流程单元和不同所述候选流程单元之间的连接关系;
11.流程确定模块,用于根据所述连接关系,从所述至少两个候选流程单元中选择待执行的目标流程单元;
12.功能实现模块,用于根据所述目标流程单元的单元属性信息,从候选插件中选择目标插件,并调用所述目标插件实现所述目标流程单元对应的视觉检测功能。
13.第三方面,本发明实施例还提供了一种电子设备,该设备包括:
14.一个或多个处理器;
15.存储装置,用于存储一个或多个程序;
16.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的基于流程图的视觉检测方法。
17.第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,其上存储有计算机可执行指令,该计算机可执行指令被计算机处理器执行时实现本发明任意实施例提供的基于流程图的视觉检测方法。
18.本发明通过根据目标流程图的候选流程单元和连接关系,得到目标流程单元,并根据目标流程单元的单元属性信息调用目标插件来实现视觉检测功能,无需软件定制开发来实现视觉检测功能,提高了视觉检测功能的实现效率;由于插件可以与任意硬件、软件模块或第三方软件进行交互,给视觉检测功能留下了较高的扩展能力。
附图说明
19.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
20.图1a是根据本发明一实施例提供的一种基于流程图的视觉检测方法的示意图;
21.图1b是根据本发明一实施例提供的一种目标流程图的示意图;
22.图1c是根据本发明一实施例提供的一种软件建模及执行方案框架示意图;
23.图2a是根据本发明又一实施例提供的一种基于流程图的视觉检测方法的示意图;
24.图2b是根据本发明又一实施例提供的一种插件接口描述文件更新流程的示意图;
25.图3是根据本发明又一实施例提供的一种基于流程图的视觉检测装置的结构示意图;
26.图4是用来实现本发明实施例的一种电子设备的框图。
具体实施方式
27.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
28.在介绍具体实施例之前,需要对本发明实施例的应用场景和技术思路进行补充说明,来明确本发明的技术方案。
29.对软件通用性有影响的因素主要包含:1)工站数量、布置及通讯;2)相机种类、数量、采图数量、采图时机、采图频率等;3)plc通讯;4)光源控制;5)数据库种类。
30.用户可以在流程图绘制界面进行可视化建模,流程建模软件由以下部分组成:1)工站配置:实现工站数量、工站id、网络ip、数据端口等的配置;2)场景建模:实现每个工站的硬件资源、网络资源、线程资源等的配置;3)流程图建模:通过流程图的不同可视化绘制方式实现检测软件不同模块与工站内相机、plc、网络等外界资源的灵活交互。
31.其中,工站配置与场景建模用于描述与当前软件交互的硬件的初始化参数,其建模方式可以使用普通数据录入方式。工站配置与场景建模中的初始化参数格式为通用流程单元数据格式,在初始化流程中会将这些参数传递给特定的插件进行硬件初始化。而流程图建模方法如下:1)从工具箱中拖动不同流程图单元到主绘图区;2)将流程图单元按顺序进行连线;3)配置流程图单元参数。用户可以创建多个流程,流程之间可以互相调用,允许插件内部在特定实际调用绘制的流程。
32.为了实现视觉检测软件的业务灵活性和易用性,引入流程模型化、功能组态化等概念。本发明提出一种图形化方式生成检测设备所需要的软件动作的流程模型,用户根据具体应用场景、软硬件类型、数据形式、交互方式等用可视化流程图绘制方式实现个性化软件的定制。流程执行模块根据用户绘制的流程图调用不同插件的不同接口,实现检测软件
各模块与外界资源的灵活交互。本发明的基本实现原理如下:
33.将需要实现的功能进行精细化分类,且在每个分类中进一步抽象出与外部进行数据交互功能单元及不涉及外部数据交互的操作单元,清楚划分每个单元的职能边界并开发出一系列单一职能的操作接口,根据分类归整形成一套包含若干接口的软件开发插件包。此插件包为视觉检测软件平台中提供其接口,通过流程调度模块的组装和调用实现接口的功能。
34.图1a为本发明一实施例提供的一种基于流程图的视觉检测方法的流程图,本实施例可适用于通过流程图来实现视觉检测功能的情况,该方法可以由基于流程图的视觉检测装置来执行,该装置可以采用软件和/或硬件的方式来实现。该装置可配置于具备相应数据处理能力的电子设备中,该方法具体包括:
35.步骤110、获取待执行的目标流程图;其中,所述目标流程图中包括至少两个候选流程单元和不同所述候选流程单元之间的连接关系。
36.其中,目标流程图通过流程图绘制软件生成,目标流程图中绘制了一个完整的建模流程,从而可以实现设置在目标流程图中的视觉检测功能,相比于软件定制开发来实现目标功能,构建流程图效率更高,且操作更加简单,由于无需编程,减少了用户的作业负担。流程图在绘制时,用户从流程图绘制软件中选择自己所需的流程单元,并使用连接线来描述流程单元之间的连接关系,流程单元作为单一职能单元,用于实现某一特定的基础功能。图1b是本发明实施例提供的一种目标流程图的示意图。在该目标流程图中,存在多个流程单元,分别用于实现不同的基础功能,连接线用于表明流程单元之间的连接关系。
37.具体的,目标流程图可以以通用格式(例如xml格式)的流程数据呈现,获取目标流程图对应的流程数据,流程开始执行时先加载获取目标流程图对应的流程数据,流程数据中记载了目标流程图存在哪些流程单元,以及流程单元之间连接线所对应的连接关系。
38.步骤120、根据所述连接关系,从所述至少两个候选流程单元中选择待执行的目标流程单元。
39.其中,所述目标流程单元是目标流程图中用于实现该流程目标功能的流程单元。
40.具体的,目标流程图在设计时为了保证目标流程单元的正常实现,一般设置会相应的初始化,数据采集等与目标流程单元配套使用的候选流程单元。在确定连接关系后,根据流程单元之间的连接关系,确定待执行的目标流程单元。
41.s130、根据所述目标流程单元的单元属性信息,从候选插件中选择目标插件,并调用所述目标插件实现所述目标流程单元对应的视觉检测功能。
42.其中,单元属性信息是目标流程图的对应的字段内容,候选流程单元可以有其对应的单元属性信息。单元属性信息可以包括下述内容:1)目标流程单元所属的目标插件名:用于根据该字段将目标流程单元的单元数据分发给目标插件执行;2)与目标流程单元关联的目标接口名:用于目标插件根据该字段执行特定接口操作数据类型,例如输入、输出、只读等;3)数据格式:指明当前流程图单元中数据的格式,如整型、浮点型、数组、结构体、类等;4)目标数据内容:流程单元的实际内容,使用该数据的模块根据数据格式字段解析和访问数据内容。
43.具体的,在确定目标流程单元之后,读取该目标流程单元对应的单元属性信息,从而得到实现该目标流程单元所需的插件名称,并在候选插件查询得到该插件名称,并通过
该插件来进行对应的目标操作从而实现该功能。
44.示例性的,图1c是本发明提供的一种软件建模及执行方案框架示意图。其中,预先设置了可以实现不同功能的插件,作为候选插件,候选插件的信息可以存储在插件接口描述文件中,以在分别在流程绘制和执行时,调用相同的插件接口描述文件。流程单元在被执行时,可读取其单元属性信息,从而得到实现该流程单元所需的插件和对应接口,并根据该插件和该插件下的对应接口,对单元属性信息中记载的具体的执行数据进行执行,从而实现流程单元对应的功能。
45.本发明实施例通过根据目标流程图的候选流程单元和连接关系,得到目标流程单元,并根据目标流程单元的单元属性信息调用目标插件来实现视觉检测功能,无需软件定制开发来实现视觉检测功能,提高了视觉检测功能的实现效率;由于插件可以与任意硬件、软件模块或第三方软件进行交互,给视觉检测功能留下了较高的扩展能力。
46.图2为本发明又一实施例提供的一种流程图的视觉检测方法的流程图,本实施例在上述各实施例的基础上进行了优化改进。具体的,参见图2该方法可以包括:
47.s210、获取待执行的目标流程图;其中,所述目标流程图中包括至少两个候选流程单元和不同所述候选流程单元之间的连接关系。
48.s220、根据所述连接关系,从所述至少两个候选流程单元中选择待执行的目标流程单元。
49.s230、若所述目标流程单元为子流程图,则将所述子流程图作为待执行的新目标流程图,并触发根据新的目标流程图进行视觉检测。
50.其中,子流程图为可以目标流程图之外的其他流程图。
51.具体的,可以为每一流程图设置唯一标识的流程id,用户在目标流程图中绘制目标流程单元时,可以将子流程图的流程id的设置为目标流程单元的目标数据内容,可以通过目标流程单元对应的插件和接口,对子流程图进行执行。在这一过程中,子流程图可以与目标流程图中目标流程单元之后的其余候选流程单元一起执行;也可以在执行子流程图执行结束之后,再执行目标流程图中目标流程单元之后的其余候选流程单元。本发明既支持调用子流程,在流程内的任一位置插入调用子流程接口,实现子流程调用,也支持独立线程内执行流程,可以在流程内的任一位置插入独立线程执行子流程接口,实现独立线程内执行指定流程功能。通过对子流程的调用,无需对功能相同的流程进行反复建模,再次简化了工作人员的工作量,提高了建模效率。
52.s230、所述目标流程单元的单元属性信息包括目标流程单元所属的目标插件名、与目标流程单元关联的目标接口名和目标数据内容;
53.根据所述目标流程单元所属的目标插件名,从候选插件中选择目标插件;
54.向所述目标插件发送所述目标接口名和所述目标数据内容,用于指示所述目标插件根据所述目标接口名从目标插件中选择目标插件接口,且调用所述目标插件接口对所述目标数据内容进行处理,以实现所述目标流程单元对应的视觉检测功能。
55.其中,每个候选插件对应多个不同的接口,用于实现不同的功能,例如数据的上传、下载、验证等。
56.具体的,对目标流程单元的单元属性数据进行解析,得到其记载字段中的目标流程单元所属的目标插件名、与目标流程单元关联的目标接口名和目标数据内容。在预选设
置多个候选插件中,确定实现目标功能所必需的目标插件。目标插件中存储有接口与功能之间的对应关系,根据接收到的目标接口名和目标数据内容,调用其对应的目标接口,来对目标数据内容进行处理,并实现该接口对应的视觉检测功能。
57.s240、监测是否存在所述目标插件的回调触发事件;
58.若存在,则将目标插件的回调流程作为待执行的新目标流程图,并触发根据新的目标流程图进行视觉检测。
59.其中,回调触发事件可以以回调触发流程单元的形式部署于在目标流程图中。
60.具体的,当执行到回调触发流程单元时,确定检测到对应的回调触发事件。回调触发流程单元的目标数据内容中存储有相应的回调id,该回调id可以对应的一个预选设定的回调流程。通过回调触发流程单元得知触发回调流程时,获取目标数据来得到回调id,进而确定对应的回调流程,并申请执行对应的回调流程。通过对流程回调的实现,可以以新的部署参数来实现视觉检测功能,从而针对工作场景做出适应性修改,提高了流程建模的调整能力。
61.本发明实施例通过子流程的调用和流程的回调,无需对功能相同的流程进行反复建模,进一步简化了工作人员的工作量,提高了流程建模的效率和调整能力。
62.可选的,所述根据所述目标流程单元所属的目标插件名,从候选插件中选择目标插件,包括:
63.基于插件接口描述文件,根据所述目标流程单元所属的目标插件名,从候选插件中选择目标插件;其中,所述插件接口描述文件包括候选插件中的接口数据格式;所述插件接口描述文件根据对候选插件和/或候选插件中接口的编辑操作更新。
64.其中,所有的接口数据格式均存放在插件接口描述文件中,流程图建模软件、流程调度模块以及各插件均根据该描述文件工作。一个插件增减接口、修改接口内容或者增减插件时只需要修改插件本身以及插件接口描述文件,其他插件、流程图建模软件和流程调度模块均不受影响。流程图绘制软件和执行软件都可以继续通过插件接口描述文件确定流程单元、插件和接口三者的对应关系
65.具体的,基于插件接口描述文件,可以得知目标流程图在绘制时所使用到的插件和接口,即候选插件。在确定单元属性信息的目标插件名之后,从候选插件中确定目标插件。
66.示例性的,附图2b是本发明提供的一种插件接口描述文件更新流程的示意图。当前检测到对对候选插件和/或候选插件中接口的编辑完整后,对插件接口描述文件进行更新,并进一步创建脚本模型后执行流程脚本。通过在插件或接口后对接口描述文件进行更新,保证了功能更新的过程中和过程后,流程图建模和流程执行均不受影响。
67.图3为本发明又一实施例提供的一种流程图的视觉检测装置的结构框图,本实施例可适用于通过流程建模来实现视觉检测功能的情况,该装置可以采用软件和/或硬件的方式来实现。该装置可配置于具备相应数据处理能力的电子设备中。如图3所示,该装置可以包括:
68.流程获取模块310,用于获取待执行的目标流程图;其中,所述目标流程图中包括至少两个候选流程单元和不同所述候选流程单元之间的连接关系;
69.流程确定模块320,用于根据所述连接关系,从所述至少两个候选流程单元中选择
待执行的目标流程单元;
70.功能实现模块330,用于根据所述目标流程单元的单元属性信息,从候选插件中选择目标插件,并调用所述目标插件实现所述目标流程单元对应的视觉检测功能。
71.该装置和模块可执行本发明任意实施例所提供的基于流程图的视觉检测方法,具备执行方法相应的功能模块和有益效果。
72.可选的,所述目标流程单元的单元属性信息包括目标流程单元所属的目标插件名、与目标流程单元关联的目标接口名和目标数据内容;所述功能实现模块,具体用于:
73.根据所述目标流程单元所属的目标插件名,从候选插件中选择目标插件;
74.向所述目标插件发送所述目标接口名和所述目标数据内容,用于指示所述目标插件根据所述目标接口名从目标插件中选择目标插件接口,且调用所述目标插件接口对所述目标数据内容进行处理,以实现所述目标流程单元对应的视觉检测功能。
75.可选的,所述功能实现模块包括插件选取单元,用于:
76.基于插件接口描述文件,根据所述目标流程单元所属的目标插件名,从候选插件中选择目标插件;其中,所述插件接口描述文件包括候选插件中的接口数据格式;所述插件接口描述文件根据对候选插件和/或候选插件中接口的编辑操作更新。
77.可选的,所述装置还包括流程回调模块,用于:
78.监测是否存在所述目标插件的回调触发事件;
79.若存在,则将目标插件的回调流程作为待执行的新目标流程图,并触发根据新的目标流程图进行视觉检测。
80.可选的,所述装置还包括子流程调用模块,用于:
81.若所述目标流程单元为子流程图,则将所述子流程图作为待执行的新目标流程图,并触发根据新的目标流程图进行视觉检测。
82.进一步说明后的装置和模块可执行本发明任意实施例所提供的基于流程图的视觉检测方法,具备执行方法相应的功能模块和有益效果。
83.图4为本发明又一实施例提供的一种电子的结构示意图,如图4所示,该设备包括处理器40、存储器41、输入装置42和输出装置43;设备中处理器40的数量可以是一个或多个,图4以一个处理器40为例;设备的处理器40、存储器41、输入装置42和输出装置43可以通过总线或其他方式连接,图4中以通过总线连接为例。
84.存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于流程图的视觉检测方法对应的程序指令/模块(例如,流程图的视觉检测装置中的流程获取模块310、流程确定模块320和功能实现模块330)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于流程图的视觉检测方法。
85.存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
86.输入装置42可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置43可包括显示屏等显示设备。
87.本发明又一实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种流程图的视觉检测方法,该方法包括:
88.获取待执行的目标流程图;其中,所述目标流程图中包括至少两个候选流程单元和不同所述候选流程单元之间的连接关系;
89.根据所述连接关系,从所述至少两个候选流程单元中选择待执行的目标流程单元;
90.根据所述目标流程单元的单元属性信息,从候选插件中选择目标插件,并调用所述目标插件实现所述目标流程单元对应的视觉检测功能。
91.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的流程图的视觉检测方法中的相关操作.
92.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
93.值得注意的是,上述搜索装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
94.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1