opc-ua-client:使用OPC统一体系结构与Visual Studio实现数据交互

opc-ua-client:使用OPC统一体系结构与Visual Studio实现数据交互

去发现同类优质开源项目:https://gitcode.com/

欢迎使用opc-ua-client资源库!这是一个基于OPC统一体系结构(OPC UA)和Visual Studio的客户端库,帮助您的应用程序实现与OPC UA服务器之间的实时数据通信。

库功能简介

opc-ua-client库支持多种应用程序平台,包括.NET Core、通用Windows平台(UWP)、Windows Presentation Framework(WPF)和Xamarin。通过使用此库,您的应用程序可以轻松实现以下功能:

  • 浏览OPC UA服务器上的数据
  • 读取由OPC UA服务器发布的实时数据
  • 向OPC UA服务器写入数据
  • 订阅OPC UA服务器上的数据变化,实现实时通知

快速入门

要开始使用opc-ua-client库,请首先安装Workstation.UaClient软件包,以获取适用于您的hmi项目的最新版本。以下是使用该库从公共OPC UA服务器读取变量ServerStatus的示例:

using System;
using System.Threading.Tasks;
using Workstation.ServiceModel.Ua;
using Workstation.ServiceModel.Ua.Channels;

// ...

// 创建OPC UA客户端实例
var endpointURL = "opc.tcp://localhost:4840";
var endpointDescription = CoreClientUtils.SelectEndpoint(endpointURL, false);
var config = new ApplicationConfiguration()
{
    ApplicationName = "OPC UA Client",
    ApplicationUri = Utils.Format(@"urn:{0}:OPC UA Client", System.Net.Dns.GetHostName()),
    ApplicationType = ApplicationType.Client,
    SecurityConfiguration = new SecurityConfiguration
    {
        ApplicationCertificate = new CertificateIdentifier
        {
            StoreType = @"Directory",
            StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\MachineDefault",
            SubjectName = "OPC UA Client"
        },
        TrustedPeerCertificates = new CertificateTrustList
        {
            StoreType = @"Directory",
            StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\UA Applications",
        },
        TrustedIssuerCertificates = new CertificateTrustList
        {
            StoreType = @"Directory",
            StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\UA Certificate Authorities",
        },
        RejectedCertificateStore = new CertificateTrustList
        {
            StoreType = @"Directory",
            StorePath = @"%CommonApplicationData%\OPC Foundation\CertificateStores\RejectedCertificates",
        },
        AutoAcceptUntrustedCertificates = true,
    },
    TransportConfigurations = new TransportConfigurationCollection(),
    TransportQuotas = new TransportQuotas { OperationTimeout = 15000 },
    ClientConfiguration = new ClientConfiguration { DefaultSessionTimeout = 60000 }
};
config.Validate(ApplicationType.Client).GetAwaiter().GetResult();

// 创建OPC UA客户端会话
var session = await Session.Create(config, endpointDescription, false, "", 60000, null, null);

// 读取变量ServerStatus
var nodeId = new NodeId("ns=2;s=Demo.Static.Scalar.Double");
var dataValue = await session.ReadValue(nodeId);

// 输出变量值
Console.WriteLine($"ServerStatus: {dataValue.Value}");

// 关闭OPC UA客户端会话
session.Close();

注意事项

在使用opc-ua-client库时,请注意以下事项:

  • 确保已安装Workstation.UaClient软件包
  • 根据实际需求配置OPC UA服务器的地址和端口
  • 根据实际需求配置OPC UA服务器的证书和认证方式

希望opc-ua-client库能够为您的项目带来便利,祝您使用愉快!

去发现同类优质开源项目:https://gitcode.com/

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值