目录
环境配置
使用软件版本:
VisionPro9.0
VisualStudio2019
1.在VisualStudio工具箱添加路径C:\Program Files (x86)\Cognex\VisionPro\ReferencedAssemblies下的工具,期间弹出报错窗口,点确定就可以了,项目添加工具到form后部分dll会自动添加,缺少的dll再根据需求添加,dll在安装目录下
新建项目
1.新建winform项目,框架.Net FrameWork4.7.2
2.项目属性取消首选32位平台
3.添加CogToolBlockEditV2控件
4.引用Cognex.VisionPro、Cognex.VisionPro.ToolBlock两个命名空间
4.添加初始化加载Tb的代码,增加TCP/IP通讯控制运行及输出结果
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HPSocket.Tcp;
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
using System.Threading;
namespace VpCsharp
{
public partial class MainFrm : Form
{
CogToolBlock tb1;
int runStatus = 0;
TcpClient client = new TcpClient();
public MainFrm()
{
InitializeComponent();
}
private void MainFrm_Shown(object sender, EventArgs e)
{
tb1 = (CogToolBlock)CogSerializer.LoadObjectFromFile("test.vpp");
cogToolBlockEditV21.Subject = tb1;
client.Address = "127.0.0.1";
client.Port = 3000;
client.OnReceive += Client_OnReceive;
Task.Factory.StartNew(() =>
{
while (true)
{
Thread.Sleep(100);
if (!client.Connect())
{
client.Connect();
}
if (runStatus == 8)
{
runStatus = 0;
tb1.Run();
string decodestring = tb1.Outputs["DecodeString"].Value.ToString() + "\r\n";
byte[] bytes = Encoding.Default.GetBytes(decodestring);
client.Send(bytes, bytes.Length);
}
}
});
}
private HPSocket.HandleResult Client_OnReceive(HPSocket.IClient sender, byte[] data)
{
string recstr = Encoding.Default.GetString(data);
runStatus = int.Parse(recstr);
return HPSocket.HandleResult.Ok;
}
}
}
Demo演示
VisionPro联合C#二次开发