diff --git a/Sln.Iot.CFX/CFXConnect.cs b/Sln.Iot.CFX/CFXConnect.cs
deleted file mode 100644
index 3ec679c..0000000
--- a/Sln.Iot.CFX/CFXConnect.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using CFX;
-using CFX.Transport;
-
-namespace Sln.Iot.CFX
-{
- ///
- /// CFX接口连接类
- ///
- public class CFXConnect
- {
- public AmqpCFXEndpoint Endpoint;
-
- public CFXConnect()
- {
- OpenEndpoint();
- }
-
- public void OpenEndpoint()
- {
- try
- {
- Endpoint = new AmqpCFXEndpoint();
-
- Endpoint.Open("CFX.S00.OT23022701", new Uri("amqp://"));
-
- Endpoint.AddPublishChannel(new Uri("amqp://"), "eventAddress");
- }
- catch (Exception e)
- {
-
- }
- }
- }
-}
diff --git a/Sln.Iot.CFX/CFXHelper.cs b/Sln.Iot.CFX/CFXHelper.cs
new file mode 100644
index 0000000..842ade8
--- /dev/null
+++ b/Sln.Iot.CFX/CFXHelper.cs
@@ -0,0 +1,120 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX
+* 唯一标识:B906AE83-E238-4BF5-A269-1A48D38158CC
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 15:26:56
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using System.Diagnostics;
+using CFX;
+using CFX.Production;
+using CFX.ResourcePerformance;
+using CFX.Structures;
+using CFX.Transport;
+using Sln.Iot.CFX.RequestReceived;
+
+namespace Sln.Iot.CFX;
+
+///
+///
+///
+public class CFXHelper
+{
+ private readonly AmqpCFXEndpoint? _endpoint;
+
+ public CFXHelper(AmqpCFXEndpoint endpoint)
+ {
+ _endpoint = endpoint;
+
+ }
+
+ public void Init(string cfxHandle,Uri uri,string address)
+ {
+ try
+ {
+ if (_endpoint == null)
+ {
+ throw new ArgumentNullException($"AmqpCFXEndpoint is null");
+ }
+
+ _endpoint.Open(cfxHandle, uri);
+
+ _endpoint.AddPublishChannel(uri, address);
+
+ _endpoint.OnRequestReceived -= Endpoint_OnRequestReceived;
+ _endpoint.OnRequestReceived += Endpoint_OnRequestReceived;
+ }
+ catch (Exception e)
+ {
+ throw new InvalidOperationException($"CFX 接口初始化异常:{ e.Message}");
+ }
+ }
+
+ private CFXEnvelope Endpoint_OnRequestReceived(CFXEnvelope request)
+ {
+ CFXMessage response = null;
+
+ if (request.MessageBody is AreYouThereRequest)
+ {
+ AreYouThereRequestReceived.Handle(request.MessageBody as AreYouThereRequest,out response);
+ }else if (request.MessageBody is GetEndpointInformationRequest)
+ {
+ GetEndpointInformationRequestReceived.Handle(request.MessageBody as GetEndpointInformationRequest,out response);
+ }else if (request.MessageBody is WhoIsThereRequest)
+ {
+ WhoIsThereRequestReceived.Handle(request.MessageBody as WhoIsThereRequest,out response);
+ }else if (request.MessageBody is GetActiveRecipeRequest)
+ {
+ GetActiveRecipeRequestReceived.Handle(request.MessageBody as GetActiveRecipeRequest,out response);
+ }else if (request.MessageBody is GetActiveFaultsRequest)
+ {
+ GetActiveFaultsRequestReceived.Handle(request.MessageBody as GetActiveFaultsRequest,out response);
+ }else if (request.MessageBody is HandleFaultRequest)
+ {
+ HandleFaultRequestReceived.Handle(request.MessageBody as HandleFaultRequest,out response);
+ }
+
+ CFXEnvelope env = new CFXEnvelope(response);
+ return env;
+ }
+
+ ///
+ /// 主动推送事件
+ ///
+ ///
+ public void PublishEvent(CFXEnvelope env)
+ {
+
+ try
+ {
+ if (_endpoint == null)
+ {
+ throw new ArgumentNullException($"AmqpCFXEndpoint is null");
+ }
+
+ _endpoint.Publish(env);
+ }
+ catch (Exception e)
+ {
+ throw new InvalidOperationException($"推送事件异常:{ e.Message}");
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs
new file mode 100644
index 0000000..1b6de18
--- /dev/null
+++ b/Sln.Iot.CFX/RequestReceived/AreYouThereRequestReceived.cs
@@ -0,0 +1,75 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX.CoreCommunications
+* 唯一标识:8D142D51-E08D-42FC-8C59-4551A1B36306
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 14:58:25
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using CFX;
+using CFX.Structures;
+
+namespace Sln.Iot.CFX.RequestReceived;
+
+///
+/// 5.4.1.1-端点在位查询请求
+/// AreYouThereRequest/Response
+///
+public class AreYouThereRequestReceived
+{
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Handle(AreYouThereRequest request,out CFXMessage response)
+ {
+ //
+ try
+ {
+ response = new AreYouThereResponse()
+ {
+ Result = new RequestResult()
+ {
+ Result = StatusResult.Success,
+ ResultCode = 0,
+ Message = "",
+ },
+
+ CFXHandle = "CFX.S07.E022012702",
+ RequestNetworkUri = "amqp://host33/",
+ RequestTargetAddress = "/queue/SN23123",
+ };
+ }
+ catch (Exception e)
+ {
+ //无法响应时上传NotSupportedResponse
+ response = new NotSupportedResponse()
+ {
+ RequestResult = new RequestResult()
+ {
+ Result = StatusResult.Failed,
+ ResultCode = 0,
+ Message = e.Message
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sln.Iot.CFX/RequestReceived/GetActiveFaultsRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/GetActiveFaultsRequestReceived.cs
new file mode 100644
index 0000000..a10110a
--- /dev/null
+++ b/Sln.Iot.CFX/RequestReceived/GetActiveFaultsRequestReceived.cs
@@ -0,0 +1,66 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX
+* 唯一标识:CB14024A-08C4-4FF4-BD6C-8E8667D00263
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 15:23:00
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using CFX;
+using CFX.ResourcePerformance;
+using CFX.Structures;
+
+namespace Sln.Iot.CFX.RequestReceived;
+
+///
+/// 5.4.4.1.5 - 查询当前有无错误
+/// GetActiveFaultsRequest/Response
+///
+public class GetActiveFaultsRequestReceived
+{
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Handle(GetActiveFaultsRequest request, out CFXMessage response)
+ {
+ try
+ {
+ response = new GetActiveFaultsResponse()
+ {
+
+ };
+ }
+ catch (Exception e)
+ {
+ //无法响应时上传NotSupportedResponse
+ response = new NotSupportedResponse()
+ {
+ RequestResult = new RequestResult()
+ {
+ Result = StatusResult.Failed,
+ ResultCode = 0,
+ Message = e.Message
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sln.Iot.CFX/RequestReceived/GetActiveRecipeRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/GetActiveRecipeRequestReceived.cs
new file mode 100644
index 0000000..044d21a
--- /dev/null
+++ b/Sln.Iot.CFX/RequestReceived/GetActiveRecipeRequestReceived.cs
@@ -0,0 +1,66 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX
+* 唯一标识:686D7EAB-9E42-43B2-B990-AF162E76F781
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 15:18:38
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using CFX;
+using CFX.Production;
+using CFX.Structures;
+
+namespace Sln.Iot.CFX.RequestReceived;
+
+///
+/// 5.4.3.1.3 - 获取激活配方请求
+/// GetActiveRecipeRequest/Response
+///
+public class GetActiveRecipeRequestReceived
+{
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Handle(GetActiveRecipeRequest request, out CFXMessage response)
+ {
+ try
+ {
+ response = new GetActiveRecipeResponse()
+ {
+
+ };
+ }
+ catch (Exception e)
+ {
+ //无法响应时上传NotSupportedResponse
+ response = new NotSupportedResponse()
+ {
+ RequestResult = new RequestResult()
+ {
+ Result = StatusResult.Failed,
+ ResultCode = 0,
+ Message = e.Message
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sln.Iot.CFX/RequestReceived/GetEndpointInformationRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/GetEndpointInformationRequestReceived.cs
new file mode 100644
index 0000000..ed7ef9c
--- /dev/null
+++ b/Sln.Iot.CFX/RequestReceived/GetEndpointInformationRequestReceived.cs
@@ -0,0 +1,65 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX.CoreCommunications
+* 唯一标识:4063233D-BE40-415F-B28C-EBA14C47EA52
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 15:00:21
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using CFX;
+using CFX.Structures;
+
+namespace Sln.Iot.CFX.RequestReceived;
+
+///
+/// 5.4.1.4 - 获取端点信息请求
+/// GetEndpointInformationRequest/Response
+///
+public class GetEndpointInformationRequestReceived
+{
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Handle(GetEndpointInformationRequest request, out CFXMessage response)
+ {
+ try
+ {
+ response = new GetEndpointInformationResponse()
+ {
+
+ };
+ }
+ catch (Exception e)
+ {
+ //无法响应时上传NotSupportedResponse
+ response = new NotSupportedResponse()
+ {
+ RequestResult = new RequestResult()
+ {
+ Result = StatusResult.Failed,
+ ResultCode = 0,
+ Message = e.Message
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sln.Iot.CFX/RequestReceived/HandleFaultRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/HandleFaultRequestReceived.cs
new file mode 100644
index 0000000..ea8169c
--- /dev/null
+++ b/Sln.Iot.CFX/RequestReceived/HandleFaultRequestReceived.cs
@@ -0,0 +1,66 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX
+* 唯一标识:F3C2C0B6-F8E7-4869-B396-291233785B23
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 15:20:11
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using CFX;
+using CFX.ResourcePerformance;
+using CFX.Structures;
+
+namespace Sln.Iot.CFX.RequestReceived;
+
+///
+/// 5.4.4.1.4 - 处理故障请求
+/// HandleFaultRequest/Response
+///
+public class HandleFaultRequestReceived
+{
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Handle(HandleFaultRequest request, out CFXMessage response)
+ {
+ try
+ {
+ response = new HandleFaultResponse()
+ {
+
+ };
+ }
+ catch (Exception e)
+ {
+ //无法响应时上传NotSupportedResponse
+ response = new NotSupportedResponse()
+ {
+ RequestResult = new RequestResult()
+ {
+ Result = StatusResult.Failed,
+ ResultCode = 0,
+ Message = e.Message
+ }
+ };
+ }
+ }
+}
\ No newline at end of file
diff --git a/Sln.Iot.CFX/RequestReceived/WhoIsThereRequestReceived.cs b/Sln.Iot.CFX/RequestReceived/WhoIsThereRequestReceived.cs
new file mode 100644
index 0000000..17008dd
--- /dev/null
+++ b/Sln.Iot.CFX/RequestReceived/WhoIsThereRequestReceived.cs
@@ -0,0 +1,65 @@
+#region << 版 本 注 释 >>
+
+/*--------------------------------------------------------------------
+* 版权所有 (c) 2025 WenJY 保留所有权利。
+* CLR版本:4.0.30319.42000
+* 机器名称:Mr.Wen's MacBook Pro
+* 命名空间:Sln.Iot.CFX.CoreCommunications
+* 唯一标识:8E7C0E19-8462-42CA-AC22-F89BF2927C6A
+*
+* 创建者:WenJY
+* 电子邮箱:
+* 创建时间:2025-10-24 15:00:54
+* 版本:V1.0.0
+* 描述:
+*
+*--------------------------------------------------------------------
+* 修改人:
+* 时间:
+* 修改说明:
+*
+* 版本:V1.0.0
+*--------------------------------------------------------------------*/
+
+#endregion << 版 本 注 释 >>
+
+using CFX;
+using CFX.Structures;
+
+namespace Sln.Iot.CFX.RequestReceived;
+
+///
+/// 5.4.1.5 - 广播查询请求
+/// WhoIsThereRequest/Response
+///
+public class WhoIsThereRequestReceived
+{
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Handle(WhoIsThereRequest request, out CFXMessage response)
+ {
+ try
+ {
+ response = new WhoIsThereResponse()
+ {
+
+ };
+ }
+ catch (Exception e)
+ {
+ //无法响应时上传NotSupportedResponse
+ response = new NotSupportedResponse()
+ {
+ RequestResult = new RequestResult()
+ {
+ Result = StatusResult.Failed,
+ ResultCode = 0,
+ Message = e.Message
+ }
+ };
+ }
+ }
+}
\ No newline at end of file