我基于开源LibUA类库封装了OPC UA访问类,使用该类访问OPC UA服务器非常简单,不需要引用OPC UA基金会类库。仅需要引用修改后的LibUA,遵循MIT协议,商用没有版权风险。
封装类库及Demo下载:
使用代码如下:
//创建访问类
OpcUaClient client = new OpcUaClient("127.0.0.1", 4480);
//用户名密码校验
//client.UserIdentity = new UserIdentity("user", "123456");
//连接OPC UA服务器
client.ConnectServer();
读OPC UA节点:
//读单个点位
var value = client.Read("ns=2;s=LoadRFID");
string[] nodes = { "ns=2;s=AlarmID", "ns=2;s=EqpHeartBeat", "ns=2;s=EqpState" };
//读多个点位
object[] values = client.Read(nodes);
写OPC UA节点:
//写单个点位
LibUA.Core.StatusCode status = client.Write("ns=2;s=LoadRFID", "aaaa");
//写多个点位
object[] writeValue = { (Object)12, (object)23, (object)34 };
订阅节点:
client.AddSubscription("ns=2;s=EqpHeartBeat", (object o) => {
Console.WriteLine("心跳值:"+o.ToString());
} );