OPC UA 连接客户端测试连接工具(KEPServerEX6)

2024-02-14 15:20

本文主要是介绍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);}}

节点读取操作
我们要读取一个节点数据,有两个信息是必须知道的

  1. 节点的ID标识,就是在上述节点浏览器中的编辑框的信息(“ns=2;s=Machines/Machine A/Name”)

  2. 节点的数据类型,这个是必须知道的,不然也不好读取数据。(“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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708867

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo