赞
踩
【往期经典】
视觉软件通常需要外部触发,并将结果发送给外部设备。具备通信功能才算是个可用的软件。
通信功能在以前的文章里面已经说过了()。
一般在视觉程序中集成服务器功能。TCP服务器运行在一个独立的线程上,收到消息会触发事件。在服务器的事件响应方法中添加运行图像采集处理程序就能实现远程触发功能。
1、接收消息,触发拍照
btnAcquire_Click方法是主界面上的“单张图像”按钮的单击响应方法。
它执行的是采集图像和处理图像。
前文触发相机是点击“单张按钮”实现的,TCP服务器收到消息后也让它点击这个按钮,如下所示添加修改通信代码。添加“btnAcquire_Click(null,null);”。
private void myServer_ReceiveMsg(object sender, CylControlLibrary.Helper.MessageEventArgs e){Console.WriteLine("收到消息:"+e.MessageString);btnAcquire_Click(null,null);}
2、发送消息,返回结果
算法运行完成有个事件,前文在这里关联了更新界面的方法,可以再关联一个发送结果的方法。
algoFindBlobs.OnResultChanged += updateUI;algoFindBlobs.OnResultChanged += sendResult;
使用TCP的Send方法发送结果给客户端设备。
private void sendResult(object sender, string str){myServer.Send(str);}
3、其他
到这里,一个完整的视觉软件算是完成了。这里的主题是讲c#调用VisionPro,所有通信说得很少。虽然有点简单,但是再复杂也就这些套路。
比如还要集成数据库功能,跟集成TCP服务器是一样的。在发送结果处写上保存数据的方法就可以了。至于数据库模块怎么写?以前的内容里面应该有,您受累往前翻翻。
突然发现,微信又改版了。点赞还是在看,戳一下再走呗,老铁~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。