手表通讯完毕

This commit is contained in:
gcw_MV9p2JJN
2025-12-20 13:23:44 +08:00
parent 16168ed598
commit 3d46c7e7b7
4 changed files with 354 additions and 0 deletions

View File

@@ -0,0 +1,54 @@

using Infrastructure;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DOAN.ServiceCore.MyMatchPush
{
public class Watchup
{
private static int PackageSort = 1;
public static bool StartPush(string message, SocketGatewayServer _socketGateway)
{
//发送报警信息
//包头
byte[] packageHeader = { 0x5A };
//包序号
byte[] packsort = { (byte)PackageSort };
PackageSort++;
if (PackageSort > 255)
{
PackageSort = 1;
}
// 地址
byte[] IPaddress = { 0xff, 0xff, 0xff, 0xff };
//命令码
byte[] CommandCode = { 0xE0 };
//数据长
//string message = $"产线:{record.LineCode},\n故障类型{record.FaultDict},\n故障内容:{record.FaultContext},\n报警人:{record.AskPerson}";
// string message = $"产线:{record.LineCode}";
byte[] MessageData = Encoding.GetEncoding("GBK").GetBytes(message);
byte[] MessageLength = { (byte)MessageData.Length };
// === 先拼接除 CRC 之外的所有部分 ===
byte[] dataWithoutCRC =
packageHeader
.Concat(packsort)
.Concat(IPaddress)
.Concat(CommandCode)
.Concat(MessageLength)
.Concat(MessageData).ToArray();
//CRC : 校验和CRC 前面所有数据之和除 256 的余数
byte[] CRC = { SocketGatewayServer.CalculateChecksum(dataWithoutCRC) };
byte[] Body = dataWithoutCRC.Concat(CRC).ToArray();
return _socketGateway.SendToGateway(Body);
}
}
}