CRC校验修改23-2-22

This commit is contained in:
高国正 2023-02-22 18:03:22 +08:00
parent db0d8aa042
commit 30ef1591d0
12 changed files with 2526 additions and 11 deletions

Binary file not shown.

View File

@ -134,7 +134,7 @@ internal class MagnetServer
ushort length = ushort.Parse(RegisterType[item][3].ToString());
bytes = ReadKsepRsgistecs(devAdd, code, start, length);
log.Info("发送至" + v.RemoteEndPoint + ": " + ToolKit.byteArrayToHexString(bytes));
Console.WriteLine(ToolKit.byteArrayToHexString(bytes));
//Console.WriteLine(ToolKit.byteArrayToHexString(bytes));
v.Send(bytes);
}
}
@ -230,7 +230,9 @@ internal class MagnetServer
if (length > 0)
{
//string message = Encoding.Default.GetString(bytes, 0, length);
string message = ToolKit.byteArrayToHexString(bytes, length);
string _message = ToolKit.byteArrayToHexString(bytes, length);//带空格报文
string message = _message.Replace(" ", "");//不带空格报文
//CRC校验--失败返回不解析
builder_shuju.Clear();
@ -245,15 +247,15 @@ internal class MagnetServer
}
if (CRC.CRCForModbus(builder_shuju.ToString().ToUpper()) != builder_crc.ToString().ToUpper())
{
log.Info("接收数据校验失败: " + clientSocket.RemoteEndPoint + ": " + message);
Console.WriteLine("接收数据校验失败: " + clientSocket.RemoteEndPoint + ": " + message);
return;
log.Info("接收" + clientSocket.RemoteEndPoint + "数据校验失败" + ": " + _message);
Console.WriteLine("接收" + clientSocket.RemoteEndPoint + "数据校验失败" + ": " + _message);
}
else
{
//执行解析
log.Info("接收到" + clientSocket.RemoteEndPoint + ": " + _message);
JudgmentFunction(message);
}
//执行解析
log.Info("接收到" + clientSocket.RemoteEndPoint + ": " + message);
message = message.Replace(" ", "");
JudgmentFunction(message);
}
}
}
@ -303,7 +305,7 @@ internal class MagnetServer
StringBuilder Register = new StringBuilder("");//类型
for (int i = 4; i < 8; i++)
{
Register.Append(message);
Register.Append(message[i]);
}
var key = int.Parse(ToolKit.hexStr2Str(Register.ToString().Trim()));

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.