diff --git a/src/JiShe.CollectBus.Protocol/StandardProtocolPlugin.cs b/src/JiShe.CollectBus.Protocol/StandardProtocolPlugin.cs index 8233b99..a6918fd 100644 --- a/src/JiShe.CollectBus.Protocol/StandardProtocolPlugin.cs +++ b/src/JiShe.CollectBus.Protocol/StandardProtocolPlugin.cs @@ -27,19 +27,28 @@ namespace JiShe.CollectBus.Protocol var aTuple = (Tuple)hexStringList.GetAnalyzeValue(CommandChunkEnum.A); var afn = (int)hexStringList.GetAnalyzeValue(CommandChunkEnum.AFN); var fn = (int)hexStringList.GetAnalyzeValue(CommandChunkEnum.FN); - if (afn == (int)AFN.请求实时数据) + switch ((AFN)afn) { - if (Enum.IsDefined(typeof(ATypeOfDataItems), fn)) //Enum.TryParse(afn.ToString(), out ATypeOfDataItems parseResult) - { - AnalyzeReadingDataAsync(messageReceived, sendAction); - } - } - else if(afn == (int)AFN.请求历史数据) - { - if (Enum.IsDefined(typeof(IIdataTypeItems), fn)) - { - AnalyzeReadingTdcDataAsync(messageReceived, sendAction); - } + case AFN.确认或否认: + AnalyzeAnswerDataAsync(messageReceived, sendAction); + break; + case AFN.设置参数: break; + case AFN.查询参数: break; + case AFN.请求实时数据: + if (Enum.IsDefined(typeof(ATypeOfDataItems), fn)) //Enum.TryParse(afn.ToString(), out ATypeOfDataItems parseResult) + { + AnalyzeReadingDataAsync(messageReceived, sendAction); + } + break; + case AFN.请求历史数据: + if (Enum.IsDefined(typeof(IIdataTypeItems), fn)) + { + AnalyzeReadingTdcDataAsync(messageReceived, sendAction); + } + break; + case AFN.数据转发: + AnalyzeTransparentForwardingAnswerAsync(messageReceived, sendAction); + break; } throw new NotImplementedException();