C#实现访问OPC UA服务器
OPC UA服务器支持三种认证方式,分别是匿名认证、用户认证和证书认证。其中匿名认证安全等级最低,访问不做任何校验。用户认证访问时,OPC UA客户端需要提供用户名及密码认证,只有用户名和密码正确才允许访问。
而证书认证,首先需要将客户端公钥证书提供给OPC UA服务器。然后客户端使用其公钥和私钥证书认证,认证成功后才能访问。
C#访问OPC UA服务器步骤如下:
1. 下载安装OPC UA服务器
OPC UA服务器下载及说明:EasyOPC
2. 连接OPC UA服务器
首先通过NuGet引入最新版OpcUaHelper。
匿名认证:
```
OpcUaClient opcUaClient = new OpcUaHelper.OpcUaClient();
opcUaClient.ConnectServer("opc.tcp://127.0.0.1:4840").Wait();
```
用户认证:
```
OpcUaClient opcUaClient = new OpcUaHelper.OpcUaClient();
//用户及密码验证
opcUaClient.UserIdentity = new UserIdentity("test", "123456");
opcUaClient.ConnectServer("opc.tcp://127.0.0.1:4840").Wait();
```
证书认证:
读取私钥证书
![读取私钥.PNG][1]
![证书认证.PNG][2]
3. 读取OPC UA节点
```
//读节点值
Double Temp = opcUaClient.ReadNode<Double>("ns=2;s=factory_1/line1/Temp");
```
4. 写OPC UA节点
```
//写节点值
opcUaClient.WriteNode<Double>("ns=2;s=factory_1/line1/Temp", 10.20);
```
5. 订阅OPC UA节点
订阅节点值发生改变,就会执行订阅事件
```
//订阅节点,ns=2;s=factory_1/line1/Temp 节点值发生改变执行事件
opcUaClient.AddSubscription("temp_subscription", "ns=2;s=factory_1/line1/Temp",
(string key, MonitoredItem item, MonitoredItemNotificationEventArgs eventArgs) =>
{
var itemNotification = (MonitoredItemNotification)eventArgs.NotificationValue;
Console.WriteLine((double)itemNotification.Value.Value);
});
```
C#实现访问OPC UA服务器的更多相关文章
- 分享一款免费OPC UA服务器
OPC UA基于OPC基金会提供的新一代技术,提供安全,可靠和独立于厂商的,实现原始数据和预处理的信息从制造层级到生产计划或ERP层级的传输.通过OPC UA,所有需要的信息在任何时间,任何地点对每个 ...
- SharpNodeSettings项目,可配置的数据采集,统一的工业数据网关,OPC UA服务器开发,PLC数据发布到自身内存,redis,opc ua,以及数据可视化开发
本项目隶属于 HslCommunication 项目的SDK套件,如果不清楚HslCommunication组件的话,可以先了解那个项目,源代码地址:https://github.com/dathli ...
- C# 读写opc ua服务器,浏览所有节点,读写节点,读历史数据,调用方法,订阅,批量订阅操作
OPC UA简介 OPC是应用于工业通信的,在windows环境的下一种通讯技术,原有的通信技术难以满足日益复杂的环境,在可扩展性,安全性,跨平台性方面的不足日益明显,所以OPC基金会在几年前提出了面 ...
- C# 实现opc ua服务器的远程连接(转)
原文转自:https://www.cnblogs.com/dathlin/p/7724834.html OPC UA简介 OPC是应用于工业通信的,在windows环境的下一种通讯技术,原有的通信技术 ...
- 基于open62541的opc ua 服务器开发实现(1)
关于opcua的介绍这里就不多说了,相信大家大都有了一些了解,open62541是一个开源C(C99)的opc-ua实现,开源代码可在官网或github上下载. 话不多说,首先搭建一个opcua服务器 ...
- C# OPC UA服务器 OPC UA网关 三菱 西门子 欧姆龙 Modbus转OPC UA 服务器 可配置的OPC UA服务器网关 HslSharp软件文档
前言 本文将使用一个基于开源项目HslCommunication创建的OPC UA网关,方便通过配置创建一个OPC UA的网关中心.具体的操作及支持的设备信息项目参照下面: 开源项目HslCommun ...
- OPC协议解析-OPC UA OPC统一架构
1 什么是OPC UA 为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA.OPC UA接口协议包含了之前的 ...
- OPC UA (统一架构)的优势
OPC UA OPC统一架构(OPC Unified Architecture)是OPC基金会(OPC Foundation)创建的新技术,更加安全.可靠.中性(与供应商无关),为制造现场到生产计划或 ...
- 转:OPC协议解析-OPC UA OPC统一架构
1 什么是OPC UA 为了应对标准化和跨平台的趋势,为了更好的推广OPC,OPC基金会近些年在之前OPC成功应用的基础上推出了一个新的OPC标准-OPC UA.OPC UA接口协议包含了之前的 ...
随机推荐
- 腾讯产品快速尝鲜,蓝鲸智云社区版V6.1灰度测试开启
这周小鲸悄悄推送了社区版V6.1(二进制部署版本,包含基础套餐.监控日志套餐),没过一天就有用户来问6.1的使用问题了.小鲸大吃一鲸,原来你还是爱我的. ,可能不全,后续会实时更新. 目前来看,显卡市场还是国外两巨头+intel 占据了绝大数的市场,intel 在igpu上深耕了很多年, ...
- 从零开始实现lmax-Disruptor队列(二)多消费者、消费者组间消费依赖原理解析
MyDisruptor V2版本介绍 在v1版本的MyDisruptor实现单生产者.单消费者功能后.按照计划,v2版本的MyDisruptor需要支持多消费者和允许设置消费者组间的依赖关系. 由于该 ...
- Linux服务器安装图形化界面
Linux服务器安装图形化界面 1.检查有无安装gnome桌面 [root@localhost ~]# rpm -qa |grep gnome 2.查看可安装组件列表 [root@localhost ...
- 开发工具-在线计算MD5
更新记录: 2022年6月8日 更新标题. 2022年6月1日 开始. 都记在这以后就不用到处找了. 在线计算MD5 https://www.sojson.com/md5/ http://www.ip ...
- CVE-2021-3156漏洞复现
CVE-2021-3156linux sudo 权限提升 版本ubantu18.04 使用这个命令可以是普通用户直接提升至管理员权限. 手动测试终端输入 sudoedit -s / 不知道什么原因ub ...
- 使用MySqlBulkLoader批量插入数据
最近在项目中遇到插入几万.几十万.几百万的数据到MYSQL数据库,使用EF插入会发现插入速度非常慢的场景, 数据量非常大时EF插入需要几十分钟,甚至几个小时,这样子的速度肯定不是我们所期望的. 后面经 ...
- 令你瞠目结舌的 Python 代码技巧
0. for-else 在 Python 中,else 不仅可以与 if 搭配使用,还可以与 for 结合. python答疑 咨询 学习交流群2:660193417### for x in rang ...
- 基于mysql实现group by取各分组最新一条数据
准备数据 SQL语句 SELECT * FROM admin WHERE id IN ( SELECT MAX( id ) FROM admin GROUP BY order_id ); 查询结果:
- Docker 配置 Seata 集成 Nacos
1.拉取镜像 docker pull seataio/seata-server:1.4.2 docker run --name seata -p 8091:8091 -d seataio/seata- ...