本文主要是介绍OPC UA 连接客户端测试连接工具(KEPServerEX6),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于opc ua介绍
OPC是应用于工业通信的,在windows环境的下一种通讯技术,原有的通信技术难以满足日益复杂的环境,在可扩展性,安全性,跨平台性方面的不足日益明显,所以OPC基金会在几年前提出了面向未来的架构设计的OPC 统一架构,简称OPC UA,截止目前为止,越来越多公司将OPC UA作为开放的数据标准,在未来工业4.0行业上也将大放异彩。
在OPC UA的服务器端。会公开一些数据节点,或是方法等信息,允许第三方使用标准的OPC协议来进行访问,在传输层已经安全的处理所有的消息,对于客户端的访问来说,应该是非常清楚简单的。
前期准备
准备好开发的IDE,首选Visual Studio2017版本以及最新版本,新建项目,打开NuGet管理器,添加OpcUaHelper。
在程序页面可以引用 using OpcUaHelper;
节点浏览器
在窗体界面添加一个button按钮;
双击进入事件,编写程序
private void button1_Click(object sender, EventArgs e)
{using (FormBrowseServer form = new FormBrowseServer()){form.ShowDialog();}
}
打开后
连接Kepserver EX6读取数据
客户端实例化
private OpcUaClient opcUaClient = new OpcUaClient();private async void Form1_Load(object sender, EventArgs e){// connect to server, this is a sampletry{await opcUaClient.ConnectServer("opc.tcp://127.0.0.1:49320");//opc.tcp://118.24.36.220:62547/DataAccessServer");}catch (Exception ex){ClientUtils.HandleException("Connected Failed", ex);}}private void button1_Click(object sender, EventArgs e){using (FormBrowseServer form = new FormBrowseServer("opc.tcp://127.0.0.1:49320")) // opc.tcp://118.24.36.220:62547/DataAccessServer")){form.ShowDialog();}}
在窗体载入的时候实例化,在窗体关闭的时候断开连接。下面的节点操作和其他操作使用的实例都是这个opcUaClient,如果你连接的服务器是需要用户名和密码的,那么修改Load中的代码如下:
private async void Form1_Load(object sender, EventArgs e){// connect to server, this is a sampletry{opcUaClient.UserIdentity = new Opc.Ua.UserIdentity("admin", "123456");await opcUaClient.ConnectServer("opc.tcp://127.0.0.1:49320");//opc.tcp://118.24.36.220:62547/DataAccessServer");}catch (Exception ex){ClientUtils.HandleException("Connected Failed", ex);}}
节点读取操作
我们要读取一个节点数据,有两个信息是必须知道的
-
节点的ID标识,就是在上述节点浏览器中的编辑框的信息(“ns=2;s=Machines/Machine A/Name”)
-
节点的数据类型,这个是必须知道的,不然也不好读取数据。(“string”)
上面的两个信息都可以通过节点浏览器来获取到信息,现在,我们已经获取到了这两个信息,就上面的括号里的数据,然后我们在新增一个按钮,来读取数据:
private void button2_Click(object sender, EventArgs e) //单一节点读取操作{try{//string value = opcUaClient.ReadNode<string>("i=2262");//MessageBox.Show(value); // 显示测试数据UInt16 value2 = opcUaClient.ReadNode<UInt16>("ns=2;s=通道 1.设备 1.标记 2");textBox5.Text = value2.ToString();}catch (Exception ex){ // 使用了opc ua的错误处理机制来处理错误,网络不通或是读取拒绝ClientUtils.HandleException(Text, ex);}}
KEP连接失败时:
在KEPserverEX6目录里找到opcuacm.exe,添加服务器端点可解决,在C#里也需要修改url。
这篇关于OPC UA 连接客户端测试连接工具(KEPServerEX6)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!