#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; using Sln.Iot.Serilog; 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() { Result = new RequestResult() { Result = StatusResult.Success, ResultCode = 0, Message = "", }, EndpointInformation = new Endpoint() { CFXHandle = "CFX.A00.SDSH000003", CFXVersion = "1.0", RequestNetworkUri = "amqp://127.0.0.1:1235", RequestTargetAddress = "amqp://127.0.0.1:8888", ModelNumber = "设备型号", NumberOfLanes = 1, Vendor = "木子贸易", SerialNumber = "设备序列号", Stages = new List { new StageInformation() { Stage = new Stage() { StageName = "工位名称", StageType = StageType.Work, StageSequence = 1, } } }, SupportedTopics = new List() { new SupportedTopic() { TopicName = "CFX", TopicSupportType = TopicSupportType.Publisher, SupportedMessages = new List { "EndpointConnected", "EndpointShuttingDown", "GetEndpointInformationRequest/Response", "AreYouThereRequest/Response", "WhoIsThereRequest/Response", "NotSupportedResponse", "Heartbeat" } }, new SupportedTopic() { TopicName = "CFX.Production", TopicSupportType = TopicSupportType.Publisher, SupportedMessages = new List { "UnitsArrived", "WorkStarted", "WorkStageStarted", "WorkStageCompleted", "WorkStagePaused", "WorkStageResumed", "WorkCompleted", "UnitsDeparted", "RecipeActivated", "RecipeModified", "GetActiveRecipeRequest/Response", } }, new SupportedTopic() { TopicName = "CFX.Production.Processing", TopicSupportType = TopicSupportType.Publisher, SupportedMessages = new List { "UnitsProcessed", } }, new SupportedTopic() { TopicName = "CFX.InformationSystem.UnitValidation", TopicSupportType = TopicSupportType.Publisher, SupportedMessages = new List { "ValidateUnitsRequest/Response", } }, new SupportedTopic() { TopicName = "CFX.ResourcePerformance", TopicSupportType = TopicSupportType.Publisher, SupportedMessages = new List { "FaultOccurred", "FaultAcknowledged", "FaultCleared", "HandleFaultRequest/Response", "GetActiveFaultRequest/Response", "LogEntryRecorded", "StationOffline", "StationOnline", "StationStateChanged", "StationParametersModified", "ModifyStationParametersRequest/Response", } }, } } }; } catch (Exception e) { //无法响应时上传NotSupportedResponse response = new NotSupportedResponse() { RequestResult = new RequestResult() { Result = StatusResult.Failed, ResultCode = 0, Message = e.Message } }; SerilogHelper.Instance.Error("请求数据解析异常", e); } } }