描述
环境:VM4.0.0
现象: 使用VM模块搭配脚本模块如何实现获取所有数据一次性全部输出
解答
如下图1,需要实现每个试剂盒中有无试纸的检测,并一次性输出四个结果给客户。
常规的实现方式如下图2所示:
对每个检测都做模板匹配、位置修正、blob分析。这样模块较多,功能相同却无法服复用,浪费资源。因此就会想到:是否可以使用循环的方式来实现以上功能需求呢?答案肯定是可以的。
使用循环模块后,方案如下图3所示:
综上,循环实现的本质是单组工具多次运行,与编程中的for、while性质一样,根据前置输入的循环次数执行。
既然选择了循环的方案,还有以下两个问题点需要我们注意:
一是,循环的位置关系。即需要保证循环内的工具能够在每次的循环中进行检测位置的正确变化,将所有工件进行检测,而不是重复检测某一个工件。VM软件引入了循环标记LoopIndex,在循环内的模块可以订阅到该值,以帮助模块实现位置修正的效