diff --git a/DM_Weight/Port/PortUtil.cs b/DM_Weight/Port/PortUtil.cs
index 13f3e1b..5d4250c 100644
--- a/DM_Weight/Port/PortUtil.cs
+++ b/DM_Weight/Port/PortUtil.cs
@@ -1942,6 +1942,240 @@ namespace DM_Weight.Port
}
return temperature;
}
+ ///
+ /// 冰箱使能
+ ///
+ ///
+ 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;
+ }
+ ///
+ /// 冰箱失能
+ ///
+ ///
+ 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;
+ } ///
+ /// 冰箱报警使能
+ ///
+ ///
+ 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;
+
+ }
+
+ ///
+ /// 冰箱报警失能
+ ///
+ ///
+ 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;
+ }
+ ///
+ /// 冰箱温度设定最小
+ ///
+ ///
+ 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}");
+ }
+ }
+ ///
+ /// 冰箱温度设定最大
+ ///
+ ///
+ 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
}
}