修改冰箱功能发指令代码
This commit is contained in:
parent
f885bc52f1
commit
24a3002084
|
|
@ -1942,6 +1942,240 @@ namespace DM_Weight.Port
|
||||||
}
|
}
|
||||||
return temperature;
|
return temperature;
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 冰箱使能
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task FridegOpenForNew(int iIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fridgeSerial.DiscardInBuffer();
|
||||||
|
byte bAddress;
|
||||||
|
if (iIndex == 1)
|
||||||
|
{
|
||||||
|
bAddress = 0x01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bAddress = 0x02;
|
||||||
|
}
|
||||||
|
//byte[] buffer = new byte[] { bAddress, 0x06, 0x10, 0xD4, 0x00, 0x01, 0x0C, 0xF2 };
|
||||||
|
byte[] buffer = new byte[] { 0x01, 0x06, 0x00, 0x10,0x00, 0x01 };
|
||||||
|
//获取数组CRC校验码
|
||||||
|
byte[] byteDate = CRC16MODBUS.CrcModBus(buffer);
|
||||||
|
//Array.Reverse(byteDate);
|
||||||
|
int dataLength = buffer.Length;
|
||||||
|
Array.Resize(ref buffer, dataLength + byteDate.Length);
|
||||||
|
for (int i = 0; i < byteDate.Length; i++)
|
||||||
|
{
|
||||||
|
buffer[dataLength + i] = byteDate[i];
|
||||||
|
}
|
||||||
|
logger.Info($"冰箱使能【{Convert.ToHexString(buffer)}】");
|
||||||
|
fridgeSerial.Write(buffer, 0, 8);
|
||||||
|
await Task.Delay(80);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.Info($"冰箱使能发生异常:ex:{ex.Message}");
|
||||||
|
}
|
||||||
|
FridgeOperate = false;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 冰箱失能
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task FridgeOffForNew(int iIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fridgeSerial.DiscardInBuffer();
|
||||||
|
byte bAddress;
|
||||||
|
if (iIndex == 1)
|
||||||
|
{
|
||||||
|
bAddress = 0x01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bAddress = 0x02;
|
||||||
|
}
|
||||||
|
//byte[] buffer = new byte[] { bAddress, 0x06, 0x10, 0xD4, 0x00, 0x00, 0xCD, 0x32 };
|
||||||
|
byte[] buffer = new byte[] { 0x01, 0x06, 0x00, 0x11, 0x00, 0x02 };
|
||||||
|
//获取数组CRC校验码
|
||||||
|
byte[] byteDate = CRC16MODBUS.CrcModBus(buffer);
|
||||||
|
//Array.Reverse(byteDate);
|
||||||
|
int dataLength = buffer.Length;
|
||||||
|
Array.Resize(ref buffer, dataLength + byteDate.Length);
|
||||||
|
for (int i = 0; i < byteDate.Length; i++)
|
||||||
|
{
|
||||||
|
buffer[dataLength + i] = byteDate[i];
|
||||||
|
}
|
||||||
|
logger.Info($"冰箱失能【{Convert.ToHexString(buffer)}】");
|
||||||
|
fridgeSerial.Write(buffer, 0, 8);
|
||||||
|
await Task.Delay(80);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.Info($"冰箱失能发生异常:ex:{ex.Message}");
|
||||||
|
}
|
||||||
|
FridgeOperate = false;
|
||||||
|
} /// <summary>
|
||||||
|
/// 冰箱报警使能
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task FridgeAlarmOnForNew(int iIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fridgeSerial.DiscardInBuffer();
|
||||||
|
byte bAddress;
|
||||||
|
if (iIndex == 1)
|
||||||
|
{
|
||||||
|
bAddress = 0x01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bAddress = 0x02;
|
||||||
|
}
|
||||||
|
//byte[] buffer = new byte[] { bAddress, 0x06, 0x10, 0xD5, 0x00, 0x01, 0x5D, 0x32 };
|
||||||
|
byte[] buffer = new byte[] { 0x01, 0x10, 0x00, 0x0E, 0x00, 0x02,0x04,0x00,0x00 };
|
||||||
|
//获取数组CRC校验码
|
||||||
|
byte[] byteDate = CRC16MODBUS.CrcModBus(buffer);
|
||||||
|
//Array.Reverse(byteDate);
|
||||||
|
int dataLength = buffer.Length;
|
||||||
|
Array.Resize(ref buffer, dataLength + byteDate.Length);
|
||||||
|
for (int i = 0; i < byteDate.Length; i++)
|
||||||
|
{
|
||||||
|
buffer[dataLength + i] = byteDate[i];
|
||||||
|
}
|
||||||
|
logger.Info($"冰箱报警使能【{Convert.ToHexString(buffer)}】");
|
||||||
|
fridgeSerial.Write(buffer, 0, 8);
|
||||||
|
await Task.Delay(80);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.Info($"冰箱报警使能发生异常:ex:{ex.Message}");
|
||||||
|
}
|
||||||
|
FridgeOperate = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 冰箱报警失能
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task FridgeAlarmOffForNew(int iIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fridgeSerial.DiscardInBuffer();
|
||||||
|
byte bAddress;
|
||||||
|
if (iIndex == 1)
|
||||||
|
{
|
||||||
|
bAddress = 0x01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bAddress = 0x02;
|
||||||
|
}
|
||||||
|
//byte[] buffer = new byte[] { bAddress, 0x06, 0x10, 0xD5, 0x00, 0x00, 0x9C, 0xF2 };
|
||||||
|
byte[] buffer = new byte[] { 0x01, 0x10, 0x00, 0x0E, 0x00, 0x02, 0x04, 0x00, 0x00 };
|
||||||
|
//获取数组CRC校验码
|
||||||
|
byte[] byteDate = CRC16MODBUS.CrcModBus(buffer);
|
||||||
|
//Array.Reverse(byteDate);
|
||||||
|
int dataLength = buffer.Length;
|
||||||
|
Array.Resize(ref buffer, dataLength + byteDate.Length);
|
||||||
|
for (int i = 0; i < byteDate.Length; i++)
|
||||||
|
{
|
||||||
|
buffer[dataLength + i] = byteDate[i];
|
||||||
|
}
|
||||||
|
logger.Info($"冰箱报警失能【{Convert.ToHexString(buffer)}】");
|
||||||
|
fridgeSerial.Write(buffer, 0, 8);
|
||||||
|
await Task.Delay(80);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.Info($"冰箱报警失能发生异常:ex:{ex.Message}");
|
||||||
|
}
|
||||||
|
FridgeOperate = false;
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 冰箱温度设定最小
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task FridgeMinSettingForNew(float min, int iIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
int iMix = Convert.ToInt32(min * 10);
|
||||||
|
fridgeSerial.DiscardInBuffer();
|
||||||
|
//byte[] bufferMin = new byte[] { 0x01, 0x06, 0x10, 0xC9, 0x00, 0x15, 0x9C, 0xFB };
|
||||||
|
byte bAddress;
|
||||||
|
if (iIndex == 1)
|
||||||
|
{
|
||||||
|
bAddress = 0x01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bAddress = 0x02;
|
||||||
|
}
|
||||||
|
byte[] bufferMin = new byte[] { bAddress, 0x06, 0x10, 0xC9, 0x00, (byte)(iMix & 0xff) };
|
||||||
|
//获取数组CRC校验码
|
||||||
|
byte[] byteDate = CRC16MODBUS.CrcModBus(bufferMin);
|
||||||
|
//Array.Reverse(byteDate);
|
||||||
|
int dataLength = bufferMin.Length;
|
||||||
|
Array.Resize(ref bufferMin, dataLength + byteDate.Length);
|
||||||
|
for (int i = 0; i < byteDate.Length; i++)
|
||||||
|
{
|
||||||
|
bufferMin[dataLength + i] = byteDate[i];
|
||||||
|
}
|
||||||
|
logger.Info($"冰箱温度设定Min:【{Convert.ToHexString(bufferMin)}】");
|
||||||
|
fridgeSerial.Write(bufferMin, 0, 8);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.Info($"获取冰箱温度发生异常:ex:{ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 冰箱温度设定最大
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task FridgeMaxSettingForNew(float max, int iIndex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
int iMax = Convert.ToInt32(max * 10);
|
||||||
|
fridgeSerial.DiscardInBuffer();
|
||||||
|
//byte[] bufferMin = new byte[] { 0x01, 0x06, 0x10, 0xC9, 0x00, 0x15, 0x9C, 0xFB };
|
||||||
|
byte bAddress;
|
||||||
|
if (iIndex == 1)
|
||||||
|
{
|
||||||
|
bAddress = 0x01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bAddress = 0x02;
|
||||||
|
}
|
||||||
|
byte[] bufferMax = new byte[] { bAddress, 0x06, 0x10, 0xC8, 0x00, (byte)(iMax & 0xff) };
|
||||||
|
//获取数组CRC校验码
|
||||||
|
byte[] byteDate = CRC16MODBUS.CrcModBus(bufferMax);
|
||||||
|
//Array.Reverse(byteDate);
|
||||||
|
int dataLength = bufferMax.Length;
|
||||||
|
Array.Resize(ref bufferMax, dataLength + byteDate.Length);
|
||||||
|
for (int i = 0; i < byteDate.Length; i++)
|
||||||
|
{
|
||||||
|
bufferMax[dataLength + i] = byteDate[i];
|
||||||
|
}
|
||||||
|
logger.Info($"冰箱温度设定Max:【{Convert.ToHexString(bufferMax)}】");
|
||||||
|
fridgeSerial.Write(bufferMax, 0, 8);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
logger.Info($"获取冰箱温度发生异常:ex:{ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue