在前面两课的内容中,我们对SciSmart智能视觉软件的软件构架、工作模式、人机交互界面、应用领域,以及图像的采集和存储,都有了基本的认识。如果说前面两课是入门的话,从本课开始,就正式进入到了SciSmart智能视觉软件的操作培训。这节课的主题是SciSmart智能视觉软件的流程结构,下面就让我们开始吧!
SciSmart智能视觉软件无需添加传统繁杂的语言代码,采用图形化编辑流程即可实现检测功能。所见即所想的可视化设计方式,可以让更多的非编程人员更快、更从容的完成视觉应用,让项目实现周期变得非常短。
流程框架中包含两种元素,即普通算子块和流程控制块(流程控制块包括条件算子块、多条件算子块、多线程算子块等),通过这两种元素互相结合使用即可构造出顺序流程结构、If流程结构、Switch流程结构、循环流程结构和多线程流程结构等流程结构。建立好流程图后,将算子添加到算子块中并设置好流程控制条件,即可实现检测过程。
一、如何添加模块
在流程编辑区,单击鼠标右键弹出创建对话框,如图1所示,然后选择需要创建的模块。(注意:Start模块每个方案有且仅有一个,新建方案时会自动生成。它代表着方案流程的起点,不能通过手动创建的方法创建。)
图1 算子块界面
二、流程如何运行
流程从Start模块开始,沿着连线从上至下执行。若有If/Switch模块,则只会执行其符合条件的一个分支。若有创建线程模块,则会“一分多”线程同时运行,当多个线程连接到终止线程模块则会“多合一”之后往下运行。一个线程执行到流出端,没有连线的模块会自动停止运行,而方案流程会在所有线程都停止或用户按下停止键之后才会停止运行,如图2所示。
图2 流程运行过程演示
三、流程结构
1、顺序流程结构
1)流程从上往下按顺序依次执行;
2)适用于简易的单次性工作模式。
图3 顺序流程结构
2、If流程结构
1)根据所选布尔型变量的逻辑值是否为TRUE/FALSE/无效,对流程进行控制。如条件中测量值设为TRUE,当Bool变量的值为TRUE时,流程从端口流出;
2)如图4通过If流程结构实现:“逻辑运算_1”算子判断TCP/IP接收指令是否为有效的拍照指令,在If流程结构中若检测到“逻辑运算_1”的值为TRUE(即拍照指令有效),则流程向下执行“相机采集”模块从而进行相机采集等操作,否则流程向If控制块的Else端执行回到“指令接收”模块继续等待接收TCP/IP指令。
图4 If流程结构
3、Switch流程结构
1)Switch块端口控制条件的判定顺序为从左到右,流程从控制条件最先判定为“真”的端口流出,每次循环只执行一个分支;
2)如图5通过Switch流程结构实现:通过判断接收到的拍照指令来区分不同工位的相机进行拍照。如Bool型的变量Var-T1用于存储接收拍照指令是否为相机1有效的拍照指令的状态,当Switch控制块的第一个端口设置检测变量Var-T1的值为TRUE(即接收指令为相机1拍照有效指令)时,则流程向“相机采集”模块执行从而进行相机采集等操作。
图5 Switch流程结构
4、循环流程结构
1)有循环体结构时,当一个流程结束后会自动循环加载运行对应流程;
2)生产线中工站的流程基本都是循环体,检测程序每走完一个流程需要自动循环,才能符合生产线的要求,此时便需要建立循环结构。
图6 循环流程结构
5、多线程流程结构
1)同一时间执行多项任务的时候,使用多线程流程结构,即可实现同步执行。如使用多线程实现多工位同时工作、同工位多项检测内容同步检测等;
2)可通过“终止线程算子块”模块汇总等待各线程执行结束后再继续往下执行。
图7 多线程流程结构
以上为OPT小讲堂之SciSmart智能视觉软件操作培训第三课内容,如有任何问题欢迎在留言区留言或来电咨询,全国服务热线400-0769-068。