VisionPro 应用控制台

黄杰, 2018-04-19
root[a]linuxsand.info

(这次不知道怎么起个合适的标题)

前言:最近要测试我给一个国产机器人编写的程序库是否有问题(视觉二维引导方面),需要搭建测试环境;其中一个要求就是快速做出视觉程序。 我以前基于 Cognex VisionPro 做的视觉应用太重了些,同时通信部分需要重写来适配新的消息格式——因此干脆从头做这个视觉应用。 反正就我自己用,那么不考虑易用性,突发奇想:做一个命令行驱动的应用,在这个应用里可以完成视觉工程的编写,也能直接运行起来。

这回受了 FANUC KCL 很大的启发,但为了方便查看图片,必须有个图像显示(CogRecordDisplay Control);于是做成了这样:

visionpro mini console screenshot

目前它支持的命令如下:

典型的使用过程:

  1. 创建 ToolBlock,newtb tbname,自行保存;或者加载磁盘上的 vpp,loadtb tbpathloadtbs tbsfolder
  2. 排序 setrunorder tb1 tb2 ...
  3. 运行 run

运行之后,会将最后一个 ToolBlock 产出的图像(带图线 Records)显示出来;同时将结果打印出来,并以文本文件的形式保存到磁盘某处。之所以用文本文件,是为了尽可能通用,减少特定项目的硬编码。

这个 Mini Console 内建了一个 socket server,它接收客户端的特定指令,去运行一串 ToolBlock,将结果(即上面持久化到磁盘的文本文件)读取解析出来,再封装成合法的消息返回给客户端。当然通信逻辑和消息格式是硬编码的,暂时没时间和精力去抽象出来。

做这个东西花了今天白天的大部分时间,做完仍然觉得挺有意思:相信它能持续改善,发光发热。

visionpro mini console screenshot 2