|
|
|
|
@ -2,6 +2,7 @@
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using Models;
|
|
|
|
|
using Serilog;
|
|
|
|
|
using SlnMesnac.Common;
|
|
|
|
|
using SlnMesnac.Model.domain;
|
|
|
|
|
using SlnMesnac.Model.dto;
|
|
|
|
|
@ -127,7 +128,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
{
|
|
|
|
|
DealMessageData(receivedBuffer);
|
|
|
|
|
}
|
|
|
|
|
//_logger.Info($"{m_deviceID},IP:{m_strIP}接收自报{_stringChange.bytesToHexStr(receivedBuffer, receivedBuffer.Length)}");
|
|
|
|
|
//Log.Information($"{m_deviceID},IP:{m_strIP}接收自报{_stringChange.bytesToHexStr(receivedBuffer, receivedBuffer.Length)}");
|
|
|
|
|
//byte[] resultBuffer = PareReceiveBufferData(receivedBuffer, receivedBuffer.Length);
|
|
|
|
|
//List<TagInfo> tagInfoList = Device_DealTagInfoList(resultBuffer);
|
|
|
|
|
//string info = "";
|
|
|
|
|
@ -144,7 +145,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
_logger.Info($"{m_deviceID},IP:{m_strIP}接收原始报文{_stringChange.bytesToHexStr(receivedBuffer, receivedBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID},IP:{m_strIP}接收原始报文{_stringChange.bytesToHexStr(receivedBuffer, receivedBuffer.Length)}");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -160,7 +161,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
_logger.Error($"{m_deviceID},IP:{m_strIP}数据接收异常" + e.Message);
|
|
|
|
|
Log.Information($"{m_deviceID},IP:{m_strIP}数据接收异常" + e.Message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -218,10 +219,10 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
|
|
|
|
|
_logger.Info($"{m_deviceID}发送读取指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送读取指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
|
|
|
|
|
byte[] resultBuffer = PareReceiveBufferData(reciveBuffer, reciveBuffer.Length);
|
|
|
|
|
_logger.Info($"{m_deviceID}接收读取指令{_stringChange.bytesToHexStr(resultBuffer, resultBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收读取指令{_stringChange.bytesToHexStr(resultBuffer, resultBuffer.Length)}");
|
|
|
|
|
|
|
|
|
|
tagInfoList = Device_DealTagInfoList(resultBuffer);
|
|
|
|
|
|
|
|
|
|
@ -232,7 +233,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
_logger.Error($"{m_deviceID}数据接收异常"+ e);
|
|
|
|
|
Log.Information($"{m_deviceID}数据接收异常"+ e);
|
|
|
|
|
return tagInfoList;
|
|
|
|
|
//throw new InvalidOperationException($"{m_strIP}按时间段盘点异常:{e.Message}");
|
|
|
|
|
}
|
|
|
|
|
@ -366,11 +367,11 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_logger.Info($"{m_deviceID}发送修改功率指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送修改功率指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收修改功率指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收修改功率指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x42)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
@ -421,7 +422,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收修改功率指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收修改功率指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x72)
|
|
|
|
|
{
|
|
|
|
|
byte[] bDB = new byte[2];
|
|
|
|
|
@ -463,7 +464,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
_logger.Error(ex.Message);
|
|
|
|
|
Log.Information(ex.Message);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -499,11 +500,11 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_logger.Info($"{m_deviceID}发送停止连续盘点指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送停止连续盘点指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收停止连续盘点指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收停止连续盘点指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x12)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
@ -551,11 +552,11 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_logger.Info($"{m_deviceID}发送连续盘点指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送连续盘点指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收连续盘点指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收连续盘点指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x11)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
@ -646,11 +647,11 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_logger.Info($"{m_deviceID}发送写入指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送写入指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收写入指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收写入指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x03 && reciveBuffer[4] == 0x00)
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
@ -967,7 +968,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
iFirstPC = iFirstAnt + 1;
|
|
|
|
|
iFirstLeftBarcketPos = iFirstLeftBarcketPos + iBarcodeLength + 5;
|
|
|
|
|
_RefreshLogMessageAction?.Invoke($"----{m_deviceID}第[" + (iCommonSecondFlag + 1) + "]次数据解析为:" + tag.EPCstring + ",\r\n读取标签次数:[" + tempDataCount + "],标签信号强度:[" + tempDataRSSI + "],天线号:[" + tempDataANT + "]");
|
|
|
|
|
_logger.Info($"----{m_deviceID}第[" + (iCommonSecondFlag + 1) + "]次数据解析为:" + tag.EPCstring + ",读取标签次数:[" + tempDataCount + "],标签信号强度:[" + tempDataRSSI + "],天线号:[" + tempDataANT + "]");
|
|
|
|
|
Log.Information($"----{m_deviceID}第[" + (iCommonSecondFlag + 1) + "]次数据解析为:" + tag.EPCstring + ",读取标签次数:[" + tempDataCount + "],标签信号强度:[" + tempDataRSSI + "],天线号:[" + tempDataANT + "]");
|
|
|
|
|
iCommonSecondFlag++;
|
|
|
|
|
if (iCommonSecondFlag == iBarcodeGroupCount)
|
|
|
|
|
{
|
|
|
|
|
@ -987,7 +988,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
//mutauto.ReleaseMutex();
|
|
|
|
|
_logger.Error($"{m_deviceID},IP:{m_strIP}Device_AutoDealContent异常" + ex.Message);
|
|
|
|
|
Log.Information($"{m_deviceID},IP:{m_strIP}Device_AutoDealContent异常" + ex.Message);
|
|
|
|
|
return tagInfoList;
|
|
|
|
|
//throw new InvalidOperationException($"Device_AutoDealContent 自动处理函数异常:{ex.Message}");
|
|
|
|
|
}
|
|
|
|
|
@ -1072,7 +1073,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
iFirstPC = iFirstAnt + 1;
|
|
|
|
|
iFirstLeftBarcketPos = iFirstLeftBarcketPos + iBarcodeLength + 5;
|
|
|
|
|
_RefreshLogMessageAction?.Invoke($"----{m_deviceID}第[" + (iCommonSecondFlag + 1) + "]次数据解析为:" + tag.EPCstring + ",\r\n读取标签次数:[" + tempDataCount + "],标签信号强度:[" + tempDataRSSI + "],天线号:[" + tempDataANT + "]");
|
|
|
|
|
_logger.Info($"----{m_deviceID}第[" + (iCommonSecondFlag + 1) + "]次数据解析为:" + tag.EPCstring + ",读取标签次数:[" + tempDataCount + "],标签信号强度:[" + tempDataRSSI + "],天线号:[" + tempDataANT + "]");
|
|
|
|
|
Log.Information($"----{m_deviceID}第[" + (iCommonSecondFlag + 1) + "]次数据解析为:" + tag.EPCstring + ",读取标签次数:[" + tempDataCount + "],标签信号强度:[" + tempDataRSSI + "],天线号:[" + tempDataANT + "]");
|
|
|
|
|
iCommonSecondFlag++;
|
|
|
|
|
if (iCommonSecondFlag == iBarcodeGroupCount)
|
|
|
|
|
{
|
|
|
|
|
@ -1092,7 +1093,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
//mutauto.ReleaseMutex();
|
|
|
|
|
_logger.Error($"{m_deviceID},IP:{m_strIP}Device_AutoDealContent异常" + ex.Message);
|
|
|
|
|
Log.Information($"{m_deviceID},IP:{m_strIP}Device_AutoDealContent异常" + ex.Message);
|
|
|
|
|
return tagInfoList;
|
|
|
|
|
//throw new InvalidOperationException($"Device_AutoDealContent 自动处理函数异常:{ex.Message}");
|
|
|
|
|
}
|
|
|
|
|
@ -1132,17 +1133,17 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//_logger.Info($"{m_deviceID}发送修改功率指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
//Log.Information($"{m_deviceID}发送修改功率指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Filter = Filter + "\r\n";
|
|
|
|
|
//byte[] reciveBuffer = await waitClient.SendThenReturnAsync(Filter + "\r\n", 2000);
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(Filter, 2000))
|
|
|
|
|
{
|
|
|
|
|
var memory = responsedData.Memory;
|
|
|
|
|
string result = Encoding.GetEncoding("GBK").GetString(memory.ToArray(), 0, memory.Length);
|
|
|
|
|
_logger.Info($"{m_deviceID}接收设置过滤指令{result}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收设置过滤指令{result}");
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
//_logger.Info($"{m_deviceID}接收修改功率指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
//Log.Information($"{m_deviceID}接收修改功率指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
}
|
|
|
|
|
return iflag;
|
|
|
|
|
}
|
|
|
|
|
@ -1174,7 +1175,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//_logger.Info($"{m_deviceID}发送修改功率指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
//Log.Information($"{m_deviceID}发送修改功率指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
|
|
|
|
|
//byte[] reciveBuffer = await waitClient.SendThenReturnAsync("filter?\r\n", 2000);
|
|
|
|
|
|
|
|
|
|
@ -1182,7 +1183,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
{
|
|
|
|
|
var memory = responsedData.Memory;
|
|
|
|
|
string result = Encoding.GetEncoding("GBK").GetString(memory.ToArray(), 0, memory.Length);
|
|
|
|
|
_logger.Info($"{m_deviceID}接收设置过滤指令{result}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收设置过滤指令{result}");
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
return iflag;
|
|
|
|
|
@ -1233,11 +1234,11 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_logger.Info($"{m_deviceID}发送设置频段指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送设置频段指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收设置频段指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收设置频段指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x44)
|
|
|
|
|
{
|
|
|
|
|
iflag = true;
|
|
|
|
|
@ -1290,11 +1291,11 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
_logger.Info($"{m_deviceID}发送获取频段指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}发送获取频段指令{_stringChange.bytesToHexStr(pMessagePack.m_pData, pMessagePack.m_pData.Length)}");
|
|
|
|
|
using (var responsedData = await waitClient.SendThenResponseAsync(pMessagePack.m_pData, 2000))
|
|
|
|
|
{
|
|
|
|
|
var reciveBuffer = responsedData.Memory.ToArray();
|
|
|
|
|
_logger.Info($"{m_deviceID}接收获取频段指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID}接收获取频段指令{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
if (reciveBuffer[3] == 0x74)
|
|
|
|
|
{
|
|
|
|
|
byte bDB = reciveBuffer[5];
|
|
|
|
|
@ -1320,7 +1321,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
//连续盘点返回
|
|
|
|
|
if (reciveBuffer[3] == 0x01)
|
|
|
|
|
{
|
|
|
|
|
_logger.Info($"{m_deviceID},IP:{m_strIP}接收自报{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID},IP:{m_strIP}接收自报{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
byte[] resultBuffer = PareReceiveBufferData(reciveBuffer, reciveBuffer.Length);
|
|
|
|
|
List<TagInfo> tagInfoList = Device_LXDealTagInfoList(resultBuffer);
|
|
|
|
|
string info = "";
|
|
|
|
|
@ -1339,7 +1340,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
//按时间段盘点返回
|
|
|
|
|
if (reciveBuffer[3] == 0x02)
|
|
|
|
|
{
|
|
|
|
|
_logger.Info($"{m_deviceID},IP:{m_strIP}接收自报{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
Log.Information($"{m_deviceID},IP:{m_strIP}接收自报{_stringChange.bytesToHexStr(reciveBuffer, reciveBuffer.Length)}");
|
|
|
|
|
byte[] resultBuffer = PareReceiveBufferData(reciveBuffer, reciveBuffer.Length);
|
|
|
|
|
List<TagInfo> tagInfoList = Device_DealTagInfoList(resultBuffer);
|
|
|
|
|
string info = "";
|
|
|
|
|
@ -1358,7 +1359,7 @@ namespace SlnMesnac.Rfid.Factory
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
_logger.Error($"》》》设备:{m_deviceID},IP:{m_strIP},处理数据异常:{ex}");
|
|
|
|
|
Log.Information($"》》》设备:{m_deviceID},IP:{m_strIP},处理数据异常:{ex}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public override async Task<bool> SendHeartPack()
|
|
|
|
|
|