Merge branch 'main' of http://118.25.48.201:3000/RIZO/shgx_tz_mom
This commit is contained in:
54
ZR.Service/Utils/MyMatchPush/Watchup.cs
Normal file
54
ZR.Service/Utils/MyMatchPush/Watchup.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user