opc数据转mysql_opc 客户端c#编写(数据同时存入mysql数据库)
时间: 2024-05-12 21:14:38 浏览: 211
您可以使用OPC UA的客户端库来连接和读取OPC服务器的数据。以下是一个基本的C#代码示例:
```csharp
using Opc.Ua;
using Opc.Ua.Client;
using MySql.Data.MySqlClient;
// 建立连接
var endpointUrl = "opc.tcp://localhost:4840"; // OPC服务器的URL
var endpoint = new EndpointDescription(endpointUrl);
var configuration = EndpointConfiguration.Create();
var endpointInstance = new ConfiguredEndpoint(null, endpoint, configuration);
var session = Session.Create(
configuration,
endpointInstance,
false,
"",
60000,
new UserIdentity(new AnonymousIdentityToken()),
null).Result;
// 读取数据
var nodeId = "ns=2;s=MyVariable"; // 要读取的变量节点ID
var node = (VariableNode)session.ReadNode(ExpandedNodeId.Parse(nodeId));
var value = (DataValue)session.ReadValue(node.NodeId);
Console.WriteLine("Value: " + value.Value.ToString());
// 将数据插入到MySQL数据库中
string connectionString = "Server=localhost;Database=myDatabase;Uid=myUsername;Pwd=myPassword;";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
string query = "INSERT INTO myTable (value) VALUES (@value)";
MySqlCommand command = new MySqlCommand(query, connection);
command.Parameters.AddWithValue("@value", value.Value.ToString());
command.ExecuteNonQuery();
}
```
在上面的示例中,首先建立了与OPC服务器的连接,然后读取了一个变量节点的值,并将其插入到MySQL数据库中。您需要将代码中的节点ID和数据库连接字符串替换为您自己的信息。
阅读全文