4

上位机图像处理和嵌入式模块部署(qmacvisual条件判断)

 1 year ago
source link: https://blog.csdn.net/feixiaoxing/article/details/136728811
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

上位机图像处理和嵌入式模块部署(qmacvisual条件判断)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        之前我们在qmacvisual里面先创建项目,然后继续创建流程,这其实是一种顺序流程。更普遍的情况是,客户希望有些条件不满足得时候,能够跳过一些流程的执行。如果能做到这一点,整个流程也会更加地智能一点,运行起来不会那么呆板。正好目前,qmacvisual也提供了这样的插件,那就是【逻辑工具】里面的【判断语句】。

1、先学习下延时控件

        为了后续测试的方便,我们先学习下延时控件,它的位置在【系统工具】下面。功能比较简单,就是让流程休息一会。因为有些流程在执行的时候,需要等到对接的机械设备执行完毕,才能执行后面的操作,这个时候sleep一会是比较合适的方案。双击延时控件,配置的界面是这样的,

e5687a84ef714a64964a8cb1eeccf3b5.png

2、配置判断语句

        文章一开始的时候,我们就提到了判断语句这个控件。它的原理是这样的,如果条件ok的话,,那么就会执行if下面的流程。反之,就会跳过if语句,直接跳到if后面的语句执行。

779803d4dff64a39915f267b104ef710.png

        通过界面,我们发现界面里面有两种判断方式,一种是Bool链接,一种是计算表达式。这里为了演示,我们选择了Bool链接。

3、添加条件

        前面我们选择了Bool链接,因此这个时候就需要外界给一个数值。比较简单的办法就是通过全局变量给一个数值。如上图所示,我们定义了一个Var0,在全局变量窗口里面可以做到这一点,

086fb440badc4c7b87bc5bb76a271c10.png

4、测试和验证

        测试的时候可以分成两种,一种是var0为假,另外一种就是var0为真。设置的方法,就是直接在全局变量里面进行设置就可以了。首先我们先看一下var0为假是什么情况,

5a8697f52d36481b9a886f06066ac02b.png

        整个流程比较简单,就三个选项,分别是判断语句、延时、延时1。其中延时只有判断语句为真的时候才执行。因为我们之前设置的var0为假,所以这里直接跳过了延时,继续执行延时1插件了。接着,我们可以看看var0为真,这个时候应该是怎么样的。这个时候需要做的,还是先把var0设置为真,

aa6e0ec1af31402b8d5411d93d1815f7.png

        这一步完成之后,我们就可以单击执行按钮了。观察一下,和刚才相比较,运行次序发生了什么改变,

4f4ae342fbac47f582d83b1a737d5944.png

        效果还是比较明显的,这个时候延时和延时1都得到了执行。

5、条件判断的意义

        有了条件判断,整个流程就不再是顺序执行,业务可以设计得更为复杂。我们在学习编程语言的时候,特别是c语言,执行语句就有顺序执行、条件判断和循环执行。qmacvisual的条件判断本质上和c语言的条件判断是一致的。当然我们后面也会在qmacvisual里面看到循环的做法,不过它是用goto语句来实现的。因为循环的本质,就是希望流程可以跳转到任意的位置而已。有了逻辑判断,整个机器视觉的处理也一下子智能了很多。


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK