修改冰箱功能发指令代码
This commit is contained in:
parent
f885bc52f1
commit
24a3002084
|
|
@ -1942,6 +1942,240 @@ namespace DM_Weight.Port
|
|||
}
|
||||
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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue