# 5. OPC UA 서버 기능 (Phase 1) — 완료
This commit is contained in:
@@ -69,6 +69,10 @@ public interface IExperionDbService
|
||||
Task<IEnumerable<string>> GetTagNamesAsync();
|
||||
Task<HistoryQueryResult> QueryHistoryAsync(
|
||||
IEnumerable<string> tagNames, DateTime? from, DateTime? to, int limit);
|
||||
|
||||
// ── OPC UA Server 지원 ────────────────────────────────────────────────────
|
||||
/// <summary>realtime_table × node_map_master 조인 → nodeId → dataType 사전 반환</summary>
|
||||
Task<IReadOnlyDictionary<string, string>> GetRealtimeNodeDataTypesAsync();
|
||||
}
|
||||
|
||||
// ── Realtime Service ─────────────────────────────────────────────────────────
|
||||
@@ -87,6 +91,24 @@ public interface IExperionRealtimeService
|
||||
|
||||
public record RealtimeServiceStatus(bool Running, int SubscribedCount, string Message);
|
||||
|
||||
// ── OPC UA Server ─────────────────────────────────────────────────────────────
|
||||
|
||||
public interface IExperionOpcServerService
|
||||
{
|
||||
Task StartServerAsync();
|
||||
Task StopServerAsync();
|
||||
OpcServerStatus GetStatus();
|
||||
void UpdateNodeValue(string tagname, string? value, DateTime timestamp);
|
||||
void RebuildAddressSpace(IEnumerable<ExperionCrawler.Core.Domain.Entities.RealtimePoint> points);
|
||||
}
|
||||
|
||||
public record OpcServerStatus(
|
||||
bool Running,
|
||||
int ConnectedClientCount,
|
||||
int NodeCount,
|
||||
string EndpointUrl,
|
||||
DateTime? StartedAt);
|
||||
|
||||
// ── Status Code ──────────────────────────────────────────────────────────────
|
||||
|
||||
public interface IExperionStatusCodeService
|
||||
|
||||
Reference in New Issue
Block a user