c# opc da 客户端代码
时间: 2023-07-03 17:21:15 浏览: 165
以下是使用C#编写的OPC DA客户端示例代码,可以连接OPC DA服务器并读取变量值:
```csharp
using System;
using OPCAutomation;
namespace OpcDaClient
{
class Program
{
static void Main(string[] args)
{
OPCServer opcServer = new OPCServer();
OPCGroups opcGroups = null;
OPCGroup opcGroup = null;
OPCItems opcItems = null;
OPCItem opcItem = null;
OPCItemState opcItemState = null;
int clientHandle = 1;
try
{
opcServer.Connect("OPCServerName", ""); // 连接OPC服务器
opcGroups = opcServer.OPCGroups;
opcGroup = opcGroups.Add("Group1"); // 添加OPC组
opcGroup.UpdateRate = 1000; // 设置组更新周期为1秒
opcItems = opcGroup.OPCItems;
opcItem = opcItems.AddItem("TagName", clientHandle); // 添加OPC项
opcItem.Active = true;
opcGroup.IsActive = true;
opcGroup.IsSubscribed = true;
while (true)
{
opcItemState = opcItem.Read(1); // 读取变量值
Console.WriteLine("Value: " + opcItemState.DataValue.ToString());
System.Threading.Thread.Sleep(1000); // 等待1秒
}
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.ToString());
}
finally
{
if (opcServer != null && opcServer.ServerState == OPCServerState.OPCRunning)
{
opcServer.Disconnect(); // 断开与OPC服务器的连接
}
}
}
}
}
```
上述代码中,需要替换以下内容:
- `OPCServerName`:OPC服务器的名称
- `TagName`:要读取的变量名称
阅读全文