本文已参与[新人创作礼]活动,一起来开启掘金创作之路。
脚本的编写
上一章我们说到了输出项的配置,那么本文就目前的输出,做一个脚本的编写; 首先我们需要构建一个脚本。
这里的脚本分为VB和c#,又都分为低级脚本和高级脚本。我们本文主要讲的就是VB的高级脚本,vb Advanced Script
我们先创建一个高级脚本:
在工具组先配置完的情况下可以直接进行脚本的编写,在脚本写完又增加了新的工具时,需要增加一些配置,我们后续再讲,本文不再讲解
和编程一样,脚本的编写也要遵循先定义,后赋值,再使用的步骤。
定义工具
``` '首先需要给输出项赋值,作为我们的判断依据,必须有初始值 mtoolblock.Outputs("patCount").value = "" mtoolblock.Outputs("patZuoBiao").value = ""
Dim pat As CogPMAlignTool = CType(mToolBlock.Tools("CogPMAlignTool1"), CogPMAlignTool)
```
使用工具
此处工具是自动全部运行,我们也可以讲工具改为手动控制运行,本文不作讲解,有兴趣的朋友可以自行研究。 模板定位工具有很多自己的属性,我们可以根据我们的需求去查找我们需要的属性,并且再脚本中运用。
通过添加终端可以添加工具的所有属性。 我们这次使用的是模板的个数和坐标,不需要从终端添加,我们不做细致的讲解。
```js //工具运行结束后,我们需要判断工具是否正常运行 //本文由宋小童创建于2020/05/20 if( pat.RunStatus.Result = CogToolResultConstants.Accept)
else
mToolBlock.Outputs("patCount").Value = "error"
mToolBlock.Outputs("patZuoBiao").Value = "工具运行失败"
```
```
mtoolblock.Outputs("patCount").value = ""
mtoolblock.Outputs("patZuoBiao").value = ""
Dim pat As CogPMAlignTool = CType(mToolBlock.Tools("CogPMAlignTool1"), CogPMAlignTool)
'Run each tool using the RunTool function
For Each tool as Cognex.VisionPro.ICogTool in mToolBlock.Tools
mToolBlock.RunTool(tool, message, result)
Next
If( pat.RunStatus.Result = CogToolResultConstants.Accept)
'//模板的个数赋值给输出的个数
mtoolblock.Outputs("patCount").value = pat.Results.Count
'//模板的第二个坐标的值赋给我们的输出90
mtoolblock.Outputs("patZuoBiao").value = pat.Results.Item(1).GetPose().TranslationX & "," & pat.Results.Item(1).GetPose().TranslationY
else
mToolBlock.Outputs("patCount").Value = "error"
mToolBlock.Outputs("patZuoBiao").Value = "工具运行失败"
End If
``` 然后我们手动运行工具组,打开模板工具,进入结果
查看第二个模板的坐标数据为1569.1 1255.66 然后返回我们的工具组,查看我们输出的结果里面的坐标值
发现结果完全一致,说明我们的脚本目前已经完成了编写,且输出的结果没有问题。