From ca2e8a7c3c9ead9a646646a1175f812ed55d14d2 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 13 三月 2026 12:28:47 +0800
Subject: [PATCH] feat: add core entities
---
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceConfig.cs | 53 +++++++++++++
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceState.cs | 50 ++++++++++++
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/S7ClientConnection.cs | 28 +++++++
Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/MemoryRegionConfig.cs | 52 +++++++++++++
4 files changed, 183 insertions(+), 0 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceConfig.cs b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceConfig.cs
new file mode 100644
index 0000000..f3003bc
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceConfig.cs
@@ -0,0 +1,53 @@
+using Newtonsoft.Json;
+using WIDESEAWCS_S7Simulator.Core.Enums;
+
+namespace WIDESEAWCS_S7Simulator.Core.Entities
+{
+ /// <summary>
+ /// S7鏈嶅姟鍣ㄥ疄渚嬮厤缃�
+ /// </summary>
+ public class InstanceConfig
+ {
+ /// <summary>
+ /// 瀹炰緥鍞竴鏍囪瘑
+ /// </summary>
+ [JsonProperty("id")]
+ public string Id { get; set; } = string.Empty;
+
+ /// <summary>
+ /// 瀹炰緥鍚嶇О
+ /// </summary>
+ [JsonProperty("name")]
+ public string Name { get; set; } = string.Empty;
+
+ /// <summary>
+ /// PLC鍨嬪彿
+ /// </summary>
+ [JsonProperty("plcType")]
+ public SiemensPLCType PLCType { get; set; }
+
+ /// <summary>
+ /// 鐩戝惉绔彛
+ /// </summary>
+ [JsonProperty("port")]
+ public int Port { get; set; }
+
+ /// <summary>
+ /// HSL婵�娲荤爜
+ /// </summary>
+ [JsonProperty("activationKey")]
+ public string ActivationKey { get; set; } = string.Empty;
+
+ /// <summary>
+ /// 鏄惁鑷姩鍚姩
+ /// </summary>
+ [JsonProperty("autoStart")]
+ public bool AutoStart { get; set; }
+
+ /// <summary>
+ /// 鍐呭瓨鍖哄煙閰嶇疆
+ /// </summary>
+ [JsonProperty("memoryConfig")]
+ public MemoryRegionConfig MemoryConfig { get; set; } = new();
+ }
+}
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceState.cs b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceState.cs
new file mode 100644
index 0000000..15d30d5
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/InstanceState.cs
@@ -0,0 +1,50 @@
+using WIDESEAWCS_S7Simulator.Core.Enums;
+
+namespace WIDESEAWCS_S7Simulator.Core.Entities
+{
+ /// <summary>
+ /// S7鏈嶅姟鍣ㄥ疄渚嬬姸鎬�
+ /// </summary>
+ public class InstanceState
+ {
+ /// <summary>
+ /// 瀹炰緥ID
+ /// </summary>
+ public string InstanceId { get; set; } = string.Empty;
+
+ /// <summary>
+ /// 杩愯鐘舵��
+ /// </summary>
+ public InstanceStatus Status { get; set; }
+
+ /// <summary>
+ /// 褰撳墠杩炴帴鐨勫鎴风鏁伴噺
+ /// </summary>
+ public int ClientCount { get; set; }
+
+ /// <summary>
+ /// 绱澶勭悊璇锋眰鏁�
+ /// </summary>
+ public long TotalRequests { get; set; }
+
+ /// <summary>
+ /// 鍚姩鏃堕棿
+ /// </summary>
+ public DateTime? StartTime { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢椿鍔ㄦ椂闂�
+ /// </summary>
+ public DateTime? LastActivityTime { get; set; }
+
+ /// <summary>
+ /// 杩炴帴鐨勫鎴风鍒楄〃
+ /// </summary>
+ public List<S7ClientConnection> Clients { get; set; } = new();
+
+ /// <summary>
+ /// 閿欒淇℃伅锛堝綋鐘舵�佷负Error鏃讹級
+ /// </summary>
+ public string? ErrorMessage { get; set; }
+ }
+}
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/MemoryRegionConfig.cs b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/MemoryRegionConfig.cs
new file mode 100644
index 0000000..eedf656
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/MemoryRegionConfig.cs
@@ -0,0 +1,52 @@
+using Newtonsoft.Json;
+
+namespace WIDESEAWCS_S7Simulator.Core.Entities
+{
+ /// <summary>
+ /// 鍐呭瓨鍖哄煙閰嶇疆
+ /// </summary>
+ public class MemoryRegionConfig
+ {
+ /// <summary>
+ /// M鍖哄ぇ灏忥紙瀛楄妭锛夛紝榛樿1KB
+ /// </summary>
+ [JsonProperty("mRegionSize")]
+ public int MRegionSize { get; set; } = 1024;
+
+ /// <summary>
+ /// DB鍧楁暟閲忥紝榛樿100涓�
+ /// </summary>
+ [JsonProperty("dbBlockCount")]
+ public int DBBlockCount { get; set; } = 100;
+
+ /// <summary>
+ /// 姣忎釜DB鍧楀ぇ灏忥紙瀛楄妭锛夛紝榛樿1KB
+ /// </summary>
+ [JsonProperty("dbBlockSize")]
+ public int DBBlockSize { get; set; } = 1024;
+
+ /// <summary>
+ /// I鍖哄ぇ灏忥紙瀛楄妭锛夛紝榛樿256瀛楄妭
+ /// </summary>
+ [JsonProperty("iRegionSize")]
+ public int IRegionSize { get; set; } = 256;
+
+ /// <summary>
+ /// Q鍖哄ぇ灏忥紙瀛楄妭锛夛紝榛樿256瀛楄妭
+ /// </summary>
+ [JsonProperty("qRegionSize")]
+ public int QRegionSize { get; set; } = 256;
+
+ /// <summary>
+ /// T鍖烘暟閲忥紝榛樿64涓�
+ /// </summary>
+ [JsonProperty("tRegionCount")]
+ public int TRegionCount { get; set; } = 64;
+
+ /// <summary>
+ /// C鍖烘暟閲忥紝榛樿64涓�
+ /// </summary>
+ [JsonProperty("cRegionCount")]
+ public int CRegionCount { get; set; } = 64;
+ }
+}
diff --git a/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/S7ClientConnection.cs b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/S7ClientConnection.cs
new file mode 100644
index 0000000..9faf06c
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_S7Simulator/WIDESEAWCS_S7Simulator.Core/Entities/S7ClientConnection.cs
@@ -0,0 +1,28 @@
+namespace WIDESEAWCS_S7Simulator.Core.Entities
+{
+ /// <summary>
+ /// S7瀹㈡埛绔繛鎺ヤ俊鎭�
+ /// </summary>
+ public class S7ClientConnection
+ {
+ /// <summary>
+ /// 瀹㈡埛绔敮涓�鏍囪瘑
+ /// </summary>
+ public string ClientId { get; set; } = string.Empty;
+
+ /// <summary>
+ /// 瀹㈡埛绔疘P鍦板潃鍜岀鍙�
+ /// </summary>
+ public string RemoteEndPoint { get; set; } = string.Empty;
+
+ /// <summary>
+ /// 杩炴帴鏃堕棿
+ /// </summary>
+ public DateTime ConnectedTime { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢椿鍔ㄦ椂闂�
+ /// </summary>
+ public DateTime LastActivityTime { get; set; }
+ }
+}
--
Gitblit v1.9.3