C# OPC UA 客户端开发完整代码
时间: 2023-08-02 10:41:26 浏览: 306
以下是一个简单的 C# OPC UA 客户端示例代码,可以作为参考:
```csharp
using Opc.Ua;
using Opc.Ua.Client;
class Program
{
// OPC UA 服务器地址
private static string serverUrl = "opc.tcp://localhost:4840";
static void Main(string[] args)
{
// 创建 OPC UA 客户端实例
var client = new OpcUaClient();
// 连接 OPC UA 服务器
client.Connect(serverUrl);
// 浏览 OPC UA 服务器节点
var root = client.BrowseNode(ExpandedNodeId.ToNodeId(ObjectIds.RootFolder, client.Session.NamespaceUris));
foreach (var node in root)
{
Console.WriteLine(node.DisplayName + " (" + node.NodeClass + ")");
}
// 读取节点的值
var nodeToRead = new ReadValueId
{
NodeId = new NodeId("ns=2;s=MyVariable"),
AttributeId = Attributes.Value
};
var result = client.ReadValues(new[] { nodeToRead });
Console.WriteLine(result[0].Value);
// 写入节点的值
var nodeToWrite = new WriteValue
{
NodeId = new NodeId("ns=2;s=MyVariable"),
AttributeId = Attributes.Value,
Value = new DataValue(new Variant(123))
};
client.WriteValues(new[] { nodeToWrite });
// 断开 OPC UA 服务器连接
client.Disconnect();
}
}
```
需要引用 OPC UA 库,可以通过 NuGet 安装 `Opc.Ua` 包。在示例代码中,先创建了一个 `OpcUaClient` 的实例,然后通过 `Connect` 方法连接到 OPC UA 服务器,通过 `BrowseNode` 方法浏览节点,通过 `ReadValues` 和 `WriteValues` 方法读写节点的值,最后通过 `Disconnect` 方法断开连接。
注意:在实际开发中,需要根据 OPC UA 服务器的具体情况进行相应的配置和参数设置。
阅读全文
相关推荐
















