OPC DB server Project First Commit
This commit is contained in:
68
OpcUaMinimal/Program.cs
Normal file
68
OpcUaMinimal/Program.cs
Normal file
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Opc.Ua;
|
||||
using Opc.Ua.Client;
|
||||
using Opc.Ua.Configuration;
|
||||
|
||||
class Program
|
||||
{
|
||||
static async Task Main()
|
||||
{
|
||||
try
|
||||
{
|
||||
// 1️⃣ Application 설정
|
||||
var config = new ApplicationConfiguration
|
||||
{
|
||||
ApplicationName = "OpcUaMinimalClient",
|
||||
ApplicationType = ApplicationType.Client,
|
||||
SecurityConfiguration = new SecurityConfiguration
|
||||
{
|
||||
AutoAcceptUntrustedCertificates = true, // 테스트용
|
||||
RejectSHA1SignedCertificates = false
|
||||
},
|
||||
TransportQuotas = new TransportQuotas
|
||||
{
|
||||
OperationTimeout = 15000
|
||||
},
|
||||
ClientConfiguration = new ClientConfiguration
|
||||
{
|
||||
DefaultSessionTimeout = 60000
|
||||
}
|
||||
};
|
||||
|
||||
await config.Validate(ApplicationType.Client);
|
||||
|
||||
// 2️⃣ Endpoint 설정
|
||||
var endpointUrl = "opc.tcp://192.168.0.20:4840"; // Experion 서버
|
||||
var selectedEndpoint = CoreClientUtils.SelectEndpoint(endpointUrl, useSecurity: true);
|
||||
var endpoint = new ConfiguredEndpoint(null, selectedEndpoint);
|
||||
|
||||
// 3️⃣ Session 생성
|
||||
var userIdentity = new UserIdentity("mngr", "mngr");
|
||||
var session = await Session.Create(
|
||||
config,
|
||||
endpoint,
|
||||
false,
|
||||
"MinimalClientSession",
|
||||
60000,
|
||||
userIdentity,
|
||||
null
|
||||
);
|
||||
|
||||
Console.WriteLine("✅ OPC UA 서버 연결 성공!");
|
||||
|
||||
// 4️⃣ Node 읽기 (예제 NodeId)
|
||||
var nodeId = new NodeId("ns=1;s=shinam:p-6102.hzset.fieldvalue");
|
||||
DataValue value = session.ReadValue(nodeId);
|
||||
Console.WriteLine($"Node Value: {value.Value}");
|
||||
|
||||
// 5️⃣ 세션 종료
|
||||
session.Close();
|
||||
Console.WriteLine("세션 종료");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"❌ 오류: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user