From 532f0f82c005503e61e1713a48f83c4158761ea8 Mon Sep 17 00:00:00 2001 From: gaoguozheng Date: Wed, 22 Feb 2023 15:22:43 +0800 Subject: [PATCH] =?UTF-8?q?CRC=E6=A0=A1=E9=AA=8C=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...e5f9bab-3c95-43fa-8ca4-3d3c8c572c85.vsidx} | Bin 39546 -> 39546 bytes ...85bc6ccf-30a7-41c6-a23c-377df574b000.vsidx | Bin 36829 -> 0 bytes ...eb03b6b5-06a1-4ac7-a7cc-fba8445ed795.vsidx | Bin 0 -> 37060 bytes UdpServerCMD/.vs/UdpServerCMD/v17/.suo | Bin 93696 -> 95744 bytes UdpServerCMD/Program.cs | 527 ++++++++++++------ UdpServerCMD/bin/Debug/UdpServerCMD.exe | Bin 26112 -> 26624 bytes UdpServerCMD/bin/Debug/UdpServerCMD.pdb | Bin 62976 -> 65024 bytes UdpServerCMD/bin/Release/UdpServerCMD.exe | Bin 23552 -> 24576 bytes UdpServerCMD/bin/Release/UdpServerCMD.pdb | Bin 54784 -> 56832 bytes UdpServerCMD/obj/Debug/UdpServerCMD.exe | Bin 26112 -> 26624 bytes UdpServerCMD/obj/Debug/UdpServerCMD.pdb | Bin 62976 -> 65024 bytes UdpServerCMD/obj/Release/UdpServerCMD.exe | Bin 23552 -> 24576 bytes UdpServerCMD/obj/Release/UdpServerCMD.pdb | Bin 54784 -> 56832 bytes 13 files changed, 343 insertions(+), 184 deletions(-) rename UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/{63512879-9d5d-481c-ad13-24345f37db83.vsidx => 3e5f9bab-3c95-43fa-8ca4-3d3c8c572c85.vsidx} (99%) delete mode 100644 UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/85bc6ccf-30a7-41c6-a23c-377df574b000.vsidx create mode 100644 UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/eb03b6b5-06a1-4ac7-a7cc-fba8445ed795.vsidx diff --git a/UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/63512879-9d5d-481c-ad13-24345f37db83.vsidx b/UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/3e5f9bab-3c95-43fa-8ca4-3d3c8c572c85.vsidx similarity index 99% rename from UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/63512879-9d5d-481c-ad13-24345f37db83.vsidx rename to UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/3e5f9bab-3c95-43fa-8ca4-3d3c8c572c85.vsidx index a4a749bee22e8ece16edc44b385dc30fc60b805c..8ee05d8b381c3c4cf3baeb5dfdf0e74b3e170716 100644 GIT binary patch delta 25 gcmeyhh3VH8rVVQ*b1^b7FgO4)L%`;3laH_g0DsX4u>b%7 delta 25 ecmeyhh3VH8rVVQ*b1?ux03(oa*t~7>5jFsT90;)h diff --git a/UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/85bc6ccf-30a7-41c6-a23c-377df574b000.vsidx b/UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/85bc6ccf-30a7-41c6-a23c-377df574b000.vsidx deleted file mode 100644 index 347d5ecfac3aa6fb863455d3eeea8d6512fd0eb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36829 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 T8JD-G_idXktj873Ocwt?phS?- diff --git a/UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/eb03b6b5-06a1-4ac7-a7cc-fba8445ed795.vsidx b/UdpServerCMD/.vs/UdpServerCMD/FileContentIndex/eb03b6b5-06a1-4ac7-a7cc-fba8445ed795.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..09a90094af6b7191e39c991dd24ac873d26dbd1f GIT binary patch literal 37060 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 ~2obzS^8$TE^4fj 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 delta 2207 zcmdUwUrgIo6vumR|In5eTFRhM*nlw@WQDf;v7q2qgkd)W)#<~g3lvB;!2}n;MH4|( z6eZi*JNaqi!~BKxVGnckH{o>&ME9l{YMd^*B|Mph;6fsr4gB8z3EkqKIiI}Y({s-K zoqNvtoqO+(v0K`)>)JD}Vx~$Ai%MmND(sET%}p_@2IaE>2QzeiT~pKFc8zM4VKz$U zkMJO;M7Th5gWfS}goag{8ptY;0csL+BHVW9#UKmhf^8rT6o6`A14Tf@C`-s}$h)vh z6ZY$nBI!=>4wwcac1WcPJyV!xf@uXJL~^9Vekl~lt#}m5W1tB%gU7*Mun+h^3wQ#w za%-;5>W6j!90X5+=R$#<6buEbwLP$og#xyw<4|4%{Xi7)GUNbAW)^bzK6?cAE5IHK zI5gu>_#GNFsE*X7^ma70x5;2R@D-g9LnIR&7P>AWg`VuV7IS~rap9xKvt-Bf5^Kdy zh-XER=(s0lRKVB`?r*tpOb$^HTCbYs`}DT|QTH9_zFu@+yohXM;xCJZYg_mNbMv9v zj+k6a$f3Hazj?$L(=Cc6XO$2^wzF{k6@5t}GPl}Fm9=^kZTXm(T%-wCEt+uGRLN5w z_p8bvg&odd+!9pGu^W<~5{It^JIo~NtxTOA>X{1Xx0p#>B(YnPhAcF>Dl6FnT5C|cQs-m_P}NC z_@^=}AF@nQg?xx5i;5l|QYSVzxUNyw_vnc~{bqqu;9n;B7>k}*WG3{ zu+QV{t@C(X-e6B}gU78nzh5HW@qw)w{N9ISC*Ky9@WN&<#HdCI%Rpa zfaDD(owre`G?qq#^JncepuQ*Z7)4B^b1ItHXHfOvRYbCgU7{t;J$Ze|+xr)J4Usa^ zi&c?!(nYdKBb{iYqw`1WNv238>E`@oN~d;dwvoDd*DurjWLqcx73WFjX1YrolC_z- zr5jH2Nf(=_i`KU$=I`t!4b6GUqM4|}_tP+`Vs%QV+Gu7T-p}jie57OlEr#(Ahq>_F diff --git a/UdpServerCMD/Program.cs b/UdpServerCMD/Program.cs index 4cd8163..a01c9d9 100644 --- a/UdpServerCMD/Program.cs +++ b/UdpServerCMD/Program.cs @@ -591,7 +591,7 @@ namespace UdpServerCMD DataLength.Append(message[i]); } int.Parse(hexStr2Str(DataLength.ToString())); - Console.WriteLine("数据部长度:" + int.Parse(hexStr2Str(DataLength.ToString()))); + //Console.WriteLine("数据部长度:" + int.Parse(hexStr2Str(DataLength.ToString()))); StringBuilder SimID = new StringBuilder(""); //客户端地址A -- 11位时编码需在最后一字节低四位补 F @@ -609,7 +609,7 @@ namespace UdpServerCMD SimID.Append(message[i]); } } - Console.WriteLine("客户端地址:" + SimID); + //Console.WriteLine("客户端地址:" + SimID); StringBuilder _voltage = new StringBuilder("");//电压 --缩小10 倍为实际数值 @@ -619,7 +619,7 @@ namespace UdpServerCMD _voltage.Append(message[i]); } voltage = float.Parse(_voltage.ToString()) / 10; - Console.WriteLine("电压:" + voltage); + //Console.WriteLine("电压:" + voltage); StringBuilder _signal = new StringBuilder("");//信号 --信号为整数 @@ -629,7 +629,7 @@ namespace UdpServerCMD _signal.Append(message[i]); } signal = int.Parse(_signal.ToString()); - Console.WriteLine("信号:" + signal); + //Console.WriteLine("信号:" + signal); StringBuilder date = new StringBuilder("20");//日期 --(BCD 码) @@ -640,7 +640,7 @@ namespace UdpServerCMD else if (i == 33 || i == 35) date.Append(message[i] + ":"); else date.Append(message[i]); } - Console.WriteLine("日期:" + date); + //Console.WriteLine("日期:" + date); StringBuilder workPattern = new StringBuilder("");//工作模式 --0x00 定时开机,0x01 实时在线 @@ -648,6 +648,119 @@ namespace UdpServerCMD { workPattern.Append(message[i]); } + //switch ((TypeworkPattern)int.Parse(workPattern.ToString())) + //{ + // case TypeworkPattern.定时开机: + // Console.WriteLine(TypeworkPattern.定时开机); + // break; + // case TypeworkPattern.实时在线: + // Console.WriteLine(TypeworkPattern.实时在线); + // break; + // default: + // break; + //} + + + StringBuilder _meterNumber = new StringBuilder("");//仪表数量 + StringBuilder meterNumber = new StringBuilder("");//仪表数量 + for (int i = 40; i <= 41; i++) + { + _meterNumber.Append(message[i]); + } + meterNumber.Append(int.Parse(_meterNumber.ToString()).ToString() + "台"); + //Console.WriteLine("仪表数量:" + meterNumber); + + + StringBuilder positionNumber = new StringBuilder("");//位置号 --取低 4 位为实际值 + for (int i = 42; i <= 43; i++) + { + //if (i == 42) continue;//取低 4 位为实际值 + positionNumber.Append(message[i]); + } + //Console.WriteLine("位置号:" + getLow4(byte.Parse(hexStr2Str(positionNumber.ToString()))) + "号"); + + + StringBuilder phenotype = new StringBuilder("");//表型 + for (int i = 44; i <= 45; i++) + { + phenotype.Append(message[i]); + } + //typePheno(phenotype); + + + StringBuilder versionMumber = new StringBuilder("");//版本号 --开始字节4A + for (int i = 46; i <= 87; i++) + { + if (i == 46 || i == 47) continue; + versionMumber.Append(message[i]); + } + versionMumber = hexToASCII(versionMumber.ToString()); + //Console.WriteLine("版本号" + versionMumber); + + + StringBuilder reportingCycle = new StringBuilder("");//上报周期 --开始字节4B。115 :15分钟 ,130:30 分钟,24:24小时 + for (int i = 88; i <= 91; i++) + { + if (i == 88 || i == 89) continue; + reportingCycle.Append(message[i]); + } + //if (int.Parse(hexStr2Str(reportingCycle.ToString())) != 24) + //{ + // var v = new StringBuilder(hexStr2Str(reportingCycle.ToString())); + // v.Remove(0, 2); + // Console.WriteLine("上报周期: " + v + "h"); + //} + //else if (int.Parse(hexStr2Str(reportingCycle.ToString())) == 24) + //{ + // Console.WriteLine("上报周期: " + int.Parse(hexStr2Str(reportingCycle.ToString())) + "h"); + //} + + + StringBuilder acquisitionCycle = new StringBuilder("");//采集周期 --开始字节4C。高字节在前,单位:秒 + for (int i = 92; i <= 97; i++) + { + if (i == 92 || i == 93) continue; + acquisitionCycle.Append(message[i]); + } + Convert.ToInt64(acquisitionCycle.ToString(), 16); + //Console.WriteLine("采集周期:" + Convert.ToInt64(acquisitionCycle.ToString(), 16) / 60 + "分钟"); + + + StringBuilder factoryCode = new StringBuilder("");//出厂编码 --开始字节4D。ASCII码 + for (int i = 98; i <= 127; i++) + { + if (i == 98 || i == 99) continue; + factoryCode.Append(message[i]); + } + hexToASCII(factoryCode.ToString()); + //Console.WriteLine("出厂编码:" + hexToASCII(factoryCode.ToString())); + + + StringBuilder retain = new StringBuilder("");//保留 --开始字节4F。不做处理 + for (int i = 128; i <= 145; i++) + { + if (i == 128 || i == 129) continue; + retain.Append(message[i]); + } + + //CRC校验 + StringBuilder builder = new StringBuilder(""); + for (int i = message.Length - 6; i < message.Length; i++) + { + builder.Append(message[i]); + } + if (binAccumulation(4, 145, message).ToUpper() != builder.ToString().ToUpper()) + { + Console.WriteLine("接收数据校验失败" + ": " + message); + log.Info("登录帧校验失败" + ": " + message); + return; + } + + Console.WriteLine("数据部长度:" + int.Parse(hexStr2Str(DataLength.ToString()))); + Console.WriteLine("客户端地址:" + SimID); + Console.WriteLine("电压:" + voltage); + Console.WriteLine("信号:" + signal); + Console.WriteLine("日期:" + date); switch ((TypeworkPattern)int.Parse(workPattern.ToString())) { case TypeworkPattern.定时开机: @@ -659,91 +772,22 @@ namespace UdpServerCMD default: break; } - - - StringBuilder _meterNumber = new StringBuilder("");//仪表数量 - StringBuilder meterNumber = new StringBuilder("");//仪表数量 - for (int i = 40; i <= 41; i++) - { - _meterNumber.Append(message[i]); - } - meterNumber.Append(int.Parse(_meterNumber.ToString()).ToString() + "台"); Console.WriteLine("仪表数量:" + meterNumber); - - - StringBuilder positionNumber = new StringBuilder("");//位置号 --取低 4 位为实际值 - for (int i = 42; i <= 43; i++) - { - //if (i == 42) continue;//取低 4 位为实际值 - positionNumber.Append(message[i]); - } Console.WriteLine("位置号:" + getLow4(byte.Parse(hexStr2Str(positionNumber.ToString()))) + "号"); - - - StringBuilder phenotype = new StringBuilder("");//表型 - for (int i = 44; i <= 45; i++) - { - phenotype.Append(message[i]); - } typePheno(phenotype); - - - StringBuilder versionMumber = new StringBuilder("");//版本号 --开始字节4A - for (int i = 46; i <= 87; i++) - { - if (i == 46 || i == 47) continue; - versionMumber.Append(message[i]); - } - versionMumber = hexToASCII(versionMumber.ToString()); Console.WriteLine("版本号" + versionMumber); - - - StringBuilder reportingCycle = new StringBuilder("");//上报周期 --开始字节4B。115 :15分钟 ,130:30 分钟,24:24小时 - for (int i = 88; i <= 91; i++) - { - if (i == 88 || i == 89) continue; - reportingCycle.Append(message[i]); - } if (int.Parse(hexStr2Str(reportingCycle.ToString())) != 24) { var v = new StringBuilder(hexStr2Str(reportingCycle.ToString())); v.Remove(0, 2); - Console.WriteLine(v + "h"); + Console.WriteLine("上报周期: " + v + "h"); } else if (int.Parse(hexStr2Str(reportingCycle.ToString())) == 24) { - Console.WriteLine(int.Parse(hexStr2Str(reportingCycle.ToString())) + "h"); + Console.WriteLine("上报周期: " + int.Parse(hexStr2Str(reportingCycle.ToString())) + "h"); } - - - StringBuilder acquisitionCycle = new StringBuilder("");//采集周期 --开始字节4C。高字节在前,单位:秒 - for (int i = 92; i <= 97; i++) - { - if (i == 92 || i == 93) continue; - acquisitionCycle.Append(message[i]); - } - Convert.ToInt64(acquisitionCycle.ToString(), 16); Console.WriteLine("采集周期:" + Convert.ToInt64(acquisitionCycle.ToString(), 16) / 60 + "分钟"); - - - StringBuilder factoryCode = new StringBuilder("");//出厂编码 --开始字节4D。ASCII码 - for (int i = 98; i <= 127; i++) - { - if (i == 98 || i == 99) continue; - factoryCode.Append(message[i]); - } - hexToASCII(factoryCode.ToString()); Console.WriteLine("出厂编码:" + hexToASCII(factoryCode.ToString())); - - - StringBuilder retain = new StringBuilder("");//保留 --开始字节4F。不做处理 - for (int i = 128; i <= 145; i++) - { - if (i == 128 || i == 129) continue; - retain.Append(message[i]); - } - - Console.WriteLine("校验位CS:" + binAccumulation(4, 145, message)); @@ -1132,28 +1176,28 @@ namespace UdpServerCMD baseNum = (68 + 16); } - shareAnalysis(message, multiplier); + //shareAnalysis(message, multiplier); StringBuilder validity = new StringBuilder("");//抄表数据有效 --无符号整型,0x26 有效,其他无效 for (int i = 44 + multiplier; i <= 45 + multiplier; i++) { validity.Append(message[i]); } - if (validity.ToString() == "26") - { - Console.WriteLine("抄表数据有效"); - } - else - { - Console.WriteLine("抄表数据无效"); - } + //if (validity.ToString() == "26") + //{ + // Console.WriteLine("抄表数据有效"); + //} + //else + //{ + // Console.WriteLine("抄表数据无效"); + //} StringBuilder versionNum = new StringBuilder(""); //版本号 --整型 for (int i = 46 + multiplier; i <= 47 + multiplier; i++) { versionNum.Append(message[i]); } - Console.WriteLine("版本号:" + int.Parse(versionNum.ToString())); + //Console.WriteLine("版本号:" + int.Parse(versionNum.ToString())); StringBuilder instantaneousFlow = new StringBuilder("");//瞬时流量 --浮点型,缩小 1000 倍为实际值,单位: m3/h for (int i = 48 + multiplier; i <= 55 + multiplier; i++) @@ -1161,7 +1205,7 @@ namespace UdpServerCMD instantaneousFlow.Append(message[i]); } var _instantaneousFlow = byteToFloat(instantaneousFlow.ToString()) / 1000; - Console.WriteLine("瞬时流量" + _instantaneousFlow.ToString() + "m3/h"); + //Console.WriteLine("瞬时流量" + _instantaneousFlow.ToString() + "m3/h"); StringBuilder _positiveFlow = new StringBuilder("");//累积流量 --带符号整型,低字节在前,高字节在后,缩小 10 倍为实际数值,单位: m3。 for (int i = 56 + multiplier; i <= 63 + multiplier; i++) @@ -1169,7 +1213,7 @@ namespace UdpServerCMD _positiveFlow.Append(message[i]); } int positiveFlow = int.Parse(/*hexStr2Str*/(interconvert(56 + multiplier, 63 + multiplier, _positiveFlow.ToString()))) / 10;//??? - Console.WriteLine("累积流量:" + positiveFlow + "m3"); + //Console.WriteLine("累积流量:" + positiveFlow + "m3"); StringBuilder waterTemperature = new StringBuilder("");//水温 --浮点型,单位: ℃ for (int i = 64 + multiplier; i <= 71 + multiplier; i++) @@ -1177,7 +1221,7 @@ namespace UdpServerCMD waterTemperature.Append(message[i]); } var _waterTemperature = byteToFloat(waterTemperature.ToString());//??? - Console.WriteLine("水温:" + _waterTemperature + "℃"); + //Console.WriteLine("水温:" + _waterTemperature + "℃"); StringBuilder _RunTime = new StringBuilder("");//累积运行时间 --带符号整型,低字节在前,高字节在后,单位: h for (int i = 72 + multiplier; i <= 79 + multiplier; i++) @@ -1185,7 +1229,7 @@ namespace UdpServerCMD _RunTime.Append(message[i]); } int RunTime = int.Parse(/*hexStr2Str*/(interconvert(72 + multiplier, 79 + multiplier, _RunTime.ToString())));//??? - Console.WriteLine("累积运行时间:" + RunTime + "h"); + //Console.WriteLine("累积运行时间:" + RunTime + "h"); StringBuilder _cellVoltage = new StringBuilder("");//电池电压 --浮点型,低字节在前,高字节在后,单位: v。 for (int i = 80 + multiplier; i <= 87 + multiplier; i++) @@ -1194,7 +1238,7 @@ namespace UdpServerCMD } //float cellVoltage = float.Parse(/*hexStr2Str*/(interconvert(80 + multiplier, 87 + multiplier, _cellVoltage.ToString()))); float cellVoltage = byteToFloat(_cellVoltage.ToString());//??? - Console.WriteLine("电池电压:" + cellVoltage + "v"); + //Console.WriteLine("电池电压:" + cellVoltage + "v"); StringBuilder _pipeSize = new StringBuilder("");//管径 --浮点型,单位: mm for (int i = 88 + multiplier; i <= 95 + multiplier; i++) @@ -1203,14 +1247,14 @@ namespace UdpServerCMD } //float pipeSize = float.Parse(_pipeSize.ToString()); float pipeSize = byteToFloat(_pipeSize.ToString());//??? - Console.WriteLine("管径:" + pipeSize + "mm"); + //Console.WriteLine("管径:" + pipeSize + "mm"); StringBuilder capacity = new StringBuilder("");//量程 --长整型,单位:单位缺失。 for (int i = 96 + multiplier; i <= 103 + multiplier; i++) { capacity.Append(message[i]); } - Console.WriteLine("量程:" + interconvert(0, 0, capacity.ToString()));//??? + //Console.WriteLine("量程:" + interconvert(0, 0, capacity.ToString()));//??? StringBuilder dampingFactor = new StringBuilder("");//阻尼系数 --ASCII 码 for (int i = 104 + multiplier; i <= 105 + multiplier; i++) @@ -1230,6 +1274,40 @@ namespace UdpServerCMD { diagnose.Append(message[i]); } + //typeMalfunction(diagnose); + + + //CRC校验 + StringBuilder builder = new StringBuilder(""); + for (int i = 112 + multiplier; i <= 113 + multiplier; i++) + { + builder.Append(message[i]); + } + if (binAccumulation(4 + multiplier, 111 + multiplier, message).ToUpper() != builder.ToString().ToUpper()) + { + Console.WriteLine("接收数据校验失败" + ": " + message); + log.Info("登录帧校验失败" + ": " + message); + Isgo(message, baseNum); + return; + } + + shareAnalysis(message, multiplier); + if (validity.ToString() == "26") + { + Console.WriteLine("抄表数据有效"); + } + else + { + Console.WriteLine("抄表数据无效"); + } + Console.WriteLine("版本号:" + int.Parse(versionNum.ToString())); + Console.WriteLine("瞬时流量" + _instantaneousFlow.ToString() + "m3/h"); + Console.WriteLine("累积流量:" + positiveFlow + "m3"); + Console.WriteLine("水温:" + _waterTemperature + "℃"); + Console.WriteLine("累积运行时间:" + RunTime + "h"); + Console.WriteLine("电池电压:" + cellVoltage + "v"); + Console.WriteLine("管径:" + pipeSize + "mm"); + Console.WriteLine("量程:" + interconvert(0, 0, capacity.ToString()));//??? typeMalfunction(diagnose); //数据校验 --版本号-故障代码 @@ -1260,28 +1338,28 @@ namespace UdpServerCMD baseNum = (84 + 16); } - shareAnalysis(message, multiplier); + //shareAnalysis(message, multiplier); StringBuilder validity = new StringBuilder("");//抄表数据有效 --无符号整型,0x26 有效,其他无效 for (int i = 44 + multiplier; i <= 45 + multiplier; i++) { validity.Append(message[i]); } - if (validity.ToString() == "26") - { - Console.WriteLine("抄表数据有效"); - } - else - { - Console.WriteLine("抄表数据无效"); - } + //if (validity.ToString() == "26") + //{ + // Console.WriteLine("抄表数据有效"); + //} + //else + //{ + // Console.WriteLine("抄表数据无效"); + //} StringBuilder versionNum = new StringBuilder(""); //版本号 --整型 for (int i = 46 + multiplier; i <= 47 + multiplier; i++) { versionNum.Append(message[i]); } - Console.WriteLine("版本号:" + int.Parse(versionNum.ToString())); + //Console.WriteLine("版本号:" + int.Parse(versionNum.ToString())); StringBuilder instantaneousFlow = new StringBuilder("");//瞬时流量 --浮点型,缩小 1000 倍为实际值,单位: m3/h for (int i = 48 + multiplier; i <= 55 + multiplier; i++) @@ -1289,7 +1367,7 @@ namespace UdpServerCMD instantaneousFlow.Append(message[i]); } //Console.WriteLine("瞬时流量" + float.Parse(instantaneousFlow.ToString()) / 1000 + "m3/h");//??? - Console.WriteLine("瞬时流量" + byteToFloat(instantaneousFlow.ToString()) / 1000 + "m3/h"); + //Console.WriteLine("瞬时流量" + byteToFloat(instantaneousFlow.ToString()) / 1000 + "m3/h"); StringBuilder _positiveFlow = new StringBuilder("");//正累积流量 --带符号整型,低字节在前,高字节在后,缩小 10 倍为实际数值,单位: m3 for (int i = 56 + multiplier; i <= 63 + multiplier; i++) @@ -1298,7 +1376,7 @@ namespace UdpServerCMD } //int positiveFlow = int.Parse(hexStr2Str(interconvert(56 + multiplier, 63 + multiplier, _positiveFlow.ToString()))) / 10;//??? var positiveFlow = float.Parse(/*hexStr2Str*/(interconvert(56 + multiplier, 63 + multiplier, _positiveFlow.ToString()))) / 10; - Console.WriteLine("正累积流量:" + positiveFlow + "m3"); + //Console.WriteLine("正累积流量:" + positiveFlow + "m3"); StringBuilder loseFlow = new StringBuilder("");//负累积流量 --BCD 码,缩小10 倍为实际数值,单位:m³ for (int i = 64 + multiplier; i <= 71 + multiplier; i++) @@ -1306,7 +1384,7 @@ namespace UdpServerCMD loseFlow.Append(message[i]); } var _loseFlow = float.Parse(loseFlow.ToString()) / 10; - Console.WriteLine("负累积流量:" + _loseFlow + "m3"); + //Console.WriteLine("负累积流量:" + _loseFlow + "m3"); StringBuilder loseRunTime = new StringBuilder("");//负累积运行时间 --BCD 码,单位: h。 for (int i = 72 + multiplier; i <= 79 + multiplier; i++) @@ -1314,7 +1392,7 @@ namespace UdpServerCMD loseRunTime.Append(message[i]); } var _loseRunTime = int.Parse(loseRunTime.ToString()); - Console.WriteLine("负累积运行时间:" + _loseRunTime + "h"); + //Console.WriteLine("负累积运行时间:" + _loseRunTime + "h"); StringBuilder waterTemperature = new StringBuilder("");//水温 --浮点型,单位: ℃ for (int i = 80 + multiplier; i <= 87 + multiplier; i++) @@ -1322,7 +1400,7 @@ namespace UdpServerCMD waterTemperature.Append(message[i]); } var _waterTemperature = byteToFloat(waterTemperature.ToString());//??? - Console.WriteLine("水温:" + _waterTemperature + "℃"); + //Console.WriteLine("水温:" + _waterTemperature + "℃"); StringBuilder _RunTime = new StringBuilder("");//累积运行时间 --带符号整型,低字节在前,高字节在后,单位: h for (int i = 88 + multiplier; i <= 95 + multiplier; i++) @@ -1330,7 +1408,7 @@ namespace UdpServerCMD _RunTime.Append(message[i]); } var RunTime = int.Parse(/*hexStr2Str*/(interconvert(88 + multiplier, 95 + multiplier, _RunTime.ToString())));//??? - Console.WriteLine("累积运行时间:" + RunTime + "h"); + //Console.WriteLine("累积运行时间:" + RunTime + "h"); StringBuilder _cellVoltage = new StringBuilder("");//电池电压 --浮点型,低字节在前,高字节在后,单位: v。 for (int i = 96 + multiplier; i <= 103 + multiplier; i++) @@ -1339,7 +1417,7 @@ namespace UdpServerCMD } //float cellVoltage = float.Parse(hexStr2Str(interconvert(96 + multiplier, 103 + multiplier, _cellVoltage.ToString())));//??? float cellVoltage = byteToFloat(_cellVoltage.ToString()); - Console.WriteLine("电池电压:" + cellVoltage + "v"); + //Console.WriteLine("电池电压:" + cellVoltage + "v"); StringBuilder _pipeSize = new StringBuilder("");//管径 --浮点型,单位: mm for (int i = 104 + multiplier; i <= 111 + multiplier; i++) @@ -1348,14 +1426,14 @@ namespace UdpServerCMD } //float pipeSize = float.Parse(_pipeSize.ToString());//??? float pipeSize = byteToFloat(_pipeSize.ToString()); - Console.WriteLine("管径:" + pipeSize + "mm"); + //Console.WriteLine("管径:" + pipeSize + "mm"); StringBuilder capacity = new StringBuilder("");//量程 --长整型,单位:单位缺失。 for (int i = 112 + multiplier; i <= 119 + multiplier; i++) { capacity.Append(message[i]); } - Console.WriteLine("量程:" + interconvert(0, 0, capacity.ToString()));//??? + //Console.WriteLine("量程:" + interconvert(0, 0, capacity.ToString()));//??? StringBuilder dampingFactor = new StringBuilder("");//阻尼系数 --ASCII 码 for (int i = 120 + multiplier; i <= 121 + multiplier; i++) @@ -1375,6 +1453,43 @@ namespace UdpServerCMD { diagnose.Append(message[i]); } + //typeMalfunction(diagnose); + + + //CRC校验 + StringBuilder builder = new StringBuilder(""); + for (int i = 128 + multiplier; i <= 129 + multiplier; i++) + { + builder.Append(message[i]); + } + if (binAccumulation(4 + multiplier, 127 + multiplier, message).ToUpper() != builder.ToString().ToUpper()) + { + Console.WriteLine("接收数据校验失败" + ": " + message); + log.Info("登录帧校验失败" + ": " + message); + Isgo(message, baseNum); + return; + } + + shareAnalysis(message, multiplier); + if (validity.ToString() == "26") + { + Console.WriteLine("抄表数据有效"); + } + else + { + Console.WriteLine("抄表数据无效"); + } + Console.WriteLine("版本号:" + int.Parse(versionNum.ToString())); + Console.WriteLine("瞬时流量" + byteToFloat(instantaneousFlow.ToString()) / 1000 + "m3/h"); + Console.WriteLine("正累积流量:" + positiveFlow + "m3"); + Console.WriteLine("负累积流量:" + _loseFlow + "m3"); + Console.WriteLine("负累积运行时间:" + _loseRunTime + "h"); + Console.WriteLine("水温:" + _waterTemperature + "℃"); + Console.WriteLine("累积运行时间:" + RunTime + "h"); + Console.WriteLine("电池电压:" + cellVoltage + "v"); + Console.WriteLine("管径:" + pipeSize + "mm"); + Console.WriteLine("量程:" + interconvert(0, 0, capacity.ToString()));//??? + //Console.WriteLine("阻尼系数:" + hexToASCII(dampingFactor.ToString())); typeMalfunction(diagnose); //数据校验 --版本号-故障代码 @@ -1405,13 +1520,128 @@ namespace UdpServerCMD baseNum = (64 + 16); } - shareAnalysis(message, multiplier); + //shareAnalysis(message, multiplier); StringBuilder validity = new StringBuilder("");//抄表数据有效 --无符号整型,0x26 有效,其他无效 for (int i = 44 + multiplier; i <= 45 + multiplier; i++) { validity.Append(message[i]); } + //if (validity.ToString() == "26") + //{ + // Console.WriteLine("抄表数据有效"); + //} + //else + //{ + // Console.WriteLine("抄表数据无效"); + //} + + + StringBuilder signDelivery = new StringBuilder("");//瞬时流量正负值 --无符号整型,0x00 代表正,0x0a 代表负 + for (int i = 46 + multiplier; i <= 47 + multiplier; i++) + { + signDelivery.Append(message[i]); + } + //if (signDelivery.ToString() == "00") + //{ + // signDelivery.Clear().Append(""); + // Console.WriteLine("瞬时流量为正值"); + //} + //else + //{ + // signDelivery.Clear().Append("-"); + // Console.WriteLine("瞬时流量为负值"); + //} + + + StringBuilder instantaneousFlow = new StringBuilder(""); //瞬时流量 --缩小 1000 倍为实际值,单位: m3/h + for (int i = 48 + multiplier; i <= 55 + multiplier; i++) + { + instantaneousFlow.Append(message[i]); + } + var _instantaneousFlow = float.Parse(instantaneousFlow.ToString()) / 1000; + //Console.WriteLine("瞬时流量:" + signDelivery + _instantaneousFlow + "m3/h"); + + + StringBuilder loseFlow = new StringBuilder("");//负累积流量 --缩小 10 倍为实际数值,单位: m3 + for (int i = 56 + multiplier; i <= 63 + multiplier; i++) + { + loseFlow.Append(message[i]); + } + var _loseFlow = float.Parse(loseFlow.ToString()) / 10; + //Console.WriteLine("负累积流量:" + signDelivery + _loseFlow + "m3"); + + + StringBuilder loseRunTime = new StringBuilder("");//负累积运行时间 --单位: h + for (int i = 64 + multiplier; i <= 71 + multiplier; i++) + { + loseRunTime.Append(message[i]); + } + var _loseRunTime = int.Parse(loseRunTime.ToString()); + //Console.WriteLine("负累积运行时间:" + _loseRunTime + "h"); + + + StringBuilder positiveFlow = new StringBuilder("");//正累积流量 --缩小 10 倍为实际数值,单位: m3 + for (int i = 72 + multiplier; i <= 79 + multiplier; i++) + { + positiveFlow.Append(message[i]); + } + var _positiveFlow = float.Parse(positiveFlow.ToString()) / 10; + //Console.WriteLine("正累积流量:" + _positiveFlow + "m3"); + + + + StringBuilder positiveRunTime = new StringBuilder("");//正累积运行时间 --单位: h + for (int i = 80 + multiplier; i <= 87 + multiplier; i++) + { + positiveRunTime.Append(message[i]); + } + var _positiveRunTime = int.Parse(positiveRunTime.ToString()); + //Console.WriteLine("正累积运行时间:" + _positiveRunTime + "h"); + + + StringBuilder waterTemperature = new StringBuilder("");//水温 --缩小 100 倍为实际数值,单位: ℃ + for (int i = 88 + multiplier; i <= 95 + multiplier; i++) + { + waterTemperature.Append(message[i]); + } + var _waterTemperature = float.Parse(waterTemperature.ToString()) / 100; + //Console.WriteLine("水温:" + _waterTemperature + "℃"); + + + StringBuilder pressure = new StringBuilder("");//压力 --缩小 1000 倍为实际数值,单位: mpa + for (int i = 96 + multiplier; i <= 103 + multiplier; i++) + { + pressure.Append(message[i]); + } + var _pressure = float.Parse(pressure.ToString()) / 1000; + //Console.WriteLine("压力:" + _pressure + "mpa"); + + + StringBuilder diagnose = new StringBuilder("");//诊断代码(仪表故障码) --当设备上报 0x06 故障时,不应再上报其他故障。 + for (int i = 104 + multiplier; i <= 105 + multiplier; i++) + { + diagnose.Append(message[i]); + } + //typeMalfunction(diagnose); + + + //CRC校验 + StringBuilder builder = new StringBuilder(""); + for (int i = 108 + multiplier; i <= 109 + multiplier; i++) + { + builder.Append(message[i]); + } + if (binAccumulation(4 + multiplier, 107 + multiplier, message).ToUpper() != builder.ToString().ToUpper()) + { + Console.WriteLine("接收数据校验失败" + ": " + message); + log.Info("登录帧校验失败" + ": " + message); + Isgo(message, baseNum); + return; + } + + shareAnalysis(message, multiplier); + if (validity.ToString() == "26") { Console.WriteLine("抄表数据有效"); @@ -1420,13 +1650,6 @@ namespace UdpServerCMD { Console.WriteLine("抄表数据无效"); } - - - StringBuilder signDelivery = new StringBuilder("");//瞬时流量正负值 --无符号整型,0x00 代表正,0x0a 代表负 - for (int i = 46 + multiplier; i <= 47 + multiplier; i++) - { - signDelivery.Append(message[i]); - } if (signDelivery.ToString() == "00") { signDelivery.Clear().Append(""); @@ -1437,77 +1660,13 @@ namespace UdpServerCMD signDelivery.Clear().Append("-"); Console.WriteLine("瞬时流量为负值"); } - - - StringBuilder instantaneousFlow = new StringBuilder(""); //瞬时流量 --缩小 1000 倍为实际值,单位: m3/h - for (int i = 48 + multiplier; i <= 55 + multiplier; i++) - { - instantaneousFlow.Append(message[i]); - } - var _instantaneousFlow = float.Parse(instantaneousFlow.ToString()) / 1000; Console.WriteLine("瞬时流量:" + signDelivery + _instantaneousFlow + "m3/h"); - - - StringBuilder loseFlow = new StringBuilder("");//负累积流量 --缩小 10 倍为实际数值,单位: m3 - for (int i = 56 + multiplier; i <= 63 + multiplier; i++) - { - loseFlow.Append(message[i]); - } - var _loseFlow = float.Parse(loseFlow.ToString()) / 10; Console.WriteLine("负累积流量:" + signDelivery + _loseFlow + "m3"); - - - StringBuilder loseRunTime = new StringBuilder("");//负累积运行时间 --单位: h - for (int i = 64 + multiplier; i <= 71 + multiplier; i++) - { - loseRunTime.Append(message[i]); - } - var _loseRunTime = int.Parse(loseRunTime.ToString()); Console.WriteLine("负累积运行时间:" + _loseRunTime + "h"); - - - StringBuilder positiveFlow = new StringBuilder("");//正累积流量 --缩小 10 倍为实际数值,单位: m3 - for (int i = 72 + multiplier; i <= 79 + multiplier; i++) - { - positiveFlow.Append(message[i]); - } - var _positiveFlow = float.Parse(positiveFlow.ToString()) / 10; Console.WriteLine("正累积流量:" + _positiveFlow + "m3"); - - - - StringBuilder positiveRunTime = new StringBuilder("");//正累积运行时间 --单位: h - for (int i = 80 + multiplier; i <= 87 + multiplier; i++) - { - positiveRunTime.Append(message[i]); - } - var _positiveRunTime = int.Parse(positiveRunTime.ToString()); Console.WriteLine("正累积运行时间:" + _positiveRunTime + "h"); - - - StringBuilder waterTemperature = new StringBuilder("");//水温 --缩小 100 倍为实际数值,单位: ℃ - for (int i = 88 + multiplier; i <= 95 + multiplier; i++) - { - waterTemperature.Append(message[i]); - } - var _waterTemperature = float.Parse(waterTemperature.ToString()) / 100; Console.WriteLine("水温:" + _waterTemperature + "℃"); - - - StringBuilder pressure = new StringBuilder("");//压力 --缩小 1000 倍为实际数值,单位: mpa - for (int i = 96 + multiplier; i <= 103 + multiplier; i++) - { - pressure.Append(message[i]); - } - var _pressure = float.Parse(pressure.ToString()) / 1000; Console.WriteLine("压力:" + _pressure + "mpa"); - - - StringBuilder diagnose = new StringBuilder("");//诊断代码(仪表故障码) --当设备上报 0x06 故障时,不应再上报其他故障。 - for (int i = 104 + multiplier; i <= 105 + multiplier; i++) - { - diagnose.Append(message[i]); - } typeMalfunction(diagnose); //数据校验 --瞬时流量符号-故障代码 diff --git a/UdpServerCMD/bin/Debug/UdpServerCMD.exe b/UdpServerCMD/bin/Debug/UdpServerCMD.exe index 207ad8bf86d288aeb262654cc7879d5ba9778a3e..c23e2649f07b4bb3557a3d0d353499693fa7fbef 100644 GIT binary patch delta 8613 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 delta 7976 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 F{|g|W_g4S_ diff --git a/UdpServerCMD/bin/Release/UdpServerCMD.exe b/UdpServerCMD/bin/Release/UdpServerCMD.exe index db263ee694426de46747ff8c00ea9505e82b9a06..6f8826e78cc64315567c4278db71e74961851fbe 100644 GIT binary patch delta 7319 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 bzhxqF>wRRRaNtu}nAbX?-TEOJZ?^p}L6{w` delta 6540 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 diff --git a/UdpServerCMD/bin/Release/UdpServerCMD.pdb b/UdpServerCMD/bin/Release/UdpServerCMD.pdb index 0745a8e174b60aa893018b9b7f3a150878ce7c22..d97fe45044338332c0ccdbe85448aa90890d31d3 100644 GIT binary patch delta 11682 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 NQH2$bT_to?_;-GJe=q<5 delta 10726 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 P{`cXXTIo1{Gw8nopvL32 diff --git a/UdpServerCMD/obj/Debug/UdpServerCMD.exe b/UdpServerCMD/obj/Debug/UdpServerCMD.exe index 207ad8bf86d288aeb262654cc7879d5ba9778a3e..c23e2649f07b4bb3557a3d0d353499693fa7fbef 100644 GIT binary patch delta 8613 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 delta 7976 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 F{|g|W_g4S_ diff --git a/UdpServerCMD/obj/Release/UdpServerCMD.exe b/UdpServerCMD/obj/Release/UdpServerCMD.exe index db263ee694426de46747ff8c00ea9505e82b9a06..6f8826e78cc64315567c4278db71e74961851fbe 100644 GIT binary patch delta 7319 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 bzhxqF>wRRRaNtu}nAbX?-TEOJZ?^p}L6{w` delta 6540 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 diff --git a/UdpServerCMD/obj/Release/UdpServerCMD.pdb b/UdpServerCMD/obj/Release/UdpServerCMD.pdb index 0745a8e174b60aa893018b9b7f3a150878ce7c22..d97fe45044338332c0ccdbe85448aa90890d31d3 100644 GIT binary patch delta 11682 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 NQH2$bT_to?_;-GJe=q<5 delta 10726 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 P{`cXXTIo1{Gw8nopvL32