c#数据采集PLC数据保存到EXCL
时间: 2023-11-22 10:44:04 浏览: 212
应用VS实现上位机对PLC的数据处理.pdf
可以使用C#中的OPC UA库来实现PLC数据采集,再使用NPOI库来实现将数据保存到Excel文件中。
首先需要安装OPC UA库和NPOI库,然后在C#代码中引用这两个库。接着,需要编写代码连接PLC并读取数据,将数据保存到Excel文件中。
以下是一个简单的示例代码:
```csharp
using Opc.Ua;
using Opc.Ua.Client;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 连接PLC并读取数据
var endpointUrl = "opc.tcp://localhost:4840";
var endpoint = new EndpointDescription(endpointUrl);
var config = EndpointConfiguration.Create();
var endpointInstance = new ConfiguredEndpoint(null, endpoint, config);
var session = Session.Create(config, new ConfiguredEndpointCollection { endpointInstance });
session.Open();
var nodeId = "ns=2;s=MyVariable";
var nodeToRead = new ReadValueId { NodeId = nodeId, AttributeId = Attributes.Value };
var readRequest = new ReadRequest { NodesToRead = new[] { nodeToRead } };
var readResponse = session.Read(null, readRequest);
var value = readResponse.Results[0].GetValueOrDefault<string>();
// 将数据保存到Excel文件中
var workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet("Sheet1");
var row = sheet.CreateRow(0);
var cell = row.CreateCell(0);
cell.SetCellValue(value);
using (var fileStream = new FileStream("data.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(fileStream);
}
```
阅读全文