Browse Source

设备控制代码整理优化

prod_202403
mh 9 months ago
parent
commit
4f478a504d
  1. 54
      user-service/src/main/java/com/mh/user/serialport/SerialPortSingle2.java
  2. 7
      user-service/src/main/java/com/mh/user/serialport/SerialTool.java
  3. 33
      user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java
  4. 6
      user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java
  5. 61
      user-service/src/main/java/com/mh/user/utils/AnalysisReceiveOrder485.java
  6. 79
      user-service/src/main/java/com/mh/user/utils/CacheTools.java
  7. 46
      user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java

54
user-service/src/main/java/com/mh/user/serialport/SerialPortSingle2.java

@ -1,20 +1,20 @@
package com.mh.user.serialport; package com.mh.user.serialport;
import com.mh.common.utils.StringUtils; import com.mh.common.utils.StringUtils;
import com.mh.user.constants.Constant;
import com.mh.user.entity.DeviceCodeParamEntity; import com.mh.user.entity.DeviceCodeParamEntity;
import com.mh.user.service.BuildingService; import com.mh.user.service.BuildingService;
import com.mh.user.service.DeviceInstallService; import com.mh.user.service.DeviceInstallService;
import com.mh.user.service.NowDataService; import com.mh.user.service.NowDataService;
import com.mh.user.utils.AnalysisReceiveOrder485; import com.mh.user.utils.*;
import com.mh.user.utils.ExchangeStringUtil;
import com.mh.user.utils.SendOrderUtils;
import com.mh.user.utils.SpringBeanUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import java.io.IOException; import java.io.IOException;
import purejavacomm.SerialPort; import purejavacomm.SerialPort;
import purejavacomm.SerialPortEvent;
import purejavacomm.SerialPortEventListener;
/** /**
* @author nxr * @author nxr
@ -51,27 +51,46 @@ public class SerialPortSingle2 {
if (serialPort != null) { if (serialPort != null) {
String sendStr = SendOrderUtils.getSendStr(deviceCodeParamEntity); String sendStr = SendOrderUtils.getSendStr(deviceCodeParamEntity);
SerialTool.sendToPort(SerialTool.HexString2Bytes(sendStr), serialPort, sendStr, deviceCodeParamEntity.getDeviceType()); SerialTool.sendToPort(SerialTool.HexString2Bytes(sendStr), serialPort, sendStr, deviceCodeParamEntity.getDeviceType());
if (deviceCodeParamEntity.getDeviceType().equals("热泵")) { CacheTools.initReceiveMsg(serialPort.getName());
Thread.sleep(4000); SerialPort finalSerialPort = serialPort;
} else { SerialTool.addListener(serialPortEvent -> {
Thread.sleep(2000); try {
for (int i = 0; i < 5; i++) {
Thread.sleep(1000);
byte[] bytes = SerialTool.readFromPort(finalSerialPort);
if (bytes!= null && bytes.length > 0) {
if (Constant.WEB_FLAG) {
CacheTools.setReceiveMsg(finalSerialPort.getName(), ExchangeStringUtil.printHexString(bytes));
break;
}
} }
} }
} catch (Exception e) {
log.error("单抄串口" + finalSerialPort + "异常,关闭串口", e);
}
}, serialPort);
}
} catch (Exception e) { } catch (Exception e) {
SerialTool.closePort(serialPort); SerialTool.closePort(serialPort);
log.info("单抄串口" + serialPort + "异常,没有数据返回!关闭串口", e); log.info("单抄串口" + serialPort + "异常,没有数据返回!关闭串口", e);
return "fail"; return "fail";
} }
//对返回数据进行相关解析处理 // //对返回数据进行相关解析处理
byte[] bytes = SerialTool.readFromPort(serialPort); //读取串口数据 // byte[] bytes = SerialTool.readFromPort(serialPort); //读取串口数据
if (null == bytes) { // if (null == bytes) {
SerialTool.closePort(serialPort); // SerialTool.closePort(serialPort);
log.info("单抄串口" + serialPort + "异常,没有数据返回!关闭串口"); // log.info("单抄串口" + serialPort + "异常,没有数据返回!关闭串口");
// return "fail";
// }
// String receiveStr = null;
// receiveStr = ExchangeStringUtil.printHexString(bytes);
String receiveStr;
if (serialPort != null) {
receiveStr = CacheTools.waitReceiveMsg(serialPort.getName());
//去掉空格和null
if (StringUtils.isBlank(receiveStr)) {
return "fail"; return "fail";
} }
String receiveStr = null;
receiveStr = ExchangeStringUtil.printHexString(bytes);
//去掉空格和null
receiveStr = receiveStr.replace("null", "").replace(" ", ""); receiveStr = receiveStr.replace("null", "").replace(" ", "");
log.info("串口" + serialPort + "接收数据:" + receiveStr + ",大小: " + receiveStr.length()); log.info("串口" + serialPort + "接收数据:" + receiveStr + ",大小: " + receiveStr.length());
//返回值全部变成大写 //返回值全部变成大写
@ -120,6 +139,9 @@ public class SerialPortSingle2 {
SerialTool.closePort(serialPort); SerialTool.closePort(serialPort);
return "fail"; return "fail";
} }
} else {
return "fail";
}
SerialTool.closePort(serialPort); SerialTool.closePort(serialPort);
System.out.println("关闭" + serialPort); System.out.println("关闭" + serialPort);
Thread.sleep(200); Thread.sleep(200);

7
user-service/src/main/java/com/mh/user/serialport/SerialTool.java

@ -1,5 +1,8 @@
package com.mh.user.serialport; package com.mh.user.serialport;
import com.mh.user.constants.Constant;
import com.mh.user.utils.CacheTools;
import com.mh.user.utils.ExchangeStringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import purejavacomm.*; import purejavacomm.*;
@ -206,6 +209,9 @@ public class SerialTool {
in.read(bytes); in.read(bytes);
bufflenth = in.available(); bufflenth = in.available();
} }
if (bytes == null) {
return null;
}
} catch (Exception e) { } catch (Exception e) {
throw e; throw e;
} finally { } finally {
@ -219,7 +225,6 @@ public class SerialTool {
} }
} }
return bytes; return bytes;
} }

33
user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java

@ -78,14 +78,13 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setParam(param); deviceCodeParam.setParam(param);
deviceCodeParam.setDataValue(serialPortModel.getDataValue());//传入相关参数值
ControlSetEntity controlData = new ControlSetEntity(); ControlSetEntity controlData = new ControlSetEntity();
controlData.setBuildingId(deviceInstallEntity.getBuildingId()); controlData.setBuildingId(deviceInstallEntity.getBuildingId());
// 根据设备类型和参数执行相应的操作 // 根据设备类型和参数执行相应的操作
switch (deviceType) { switch (deviceType) {
case "热泵":
rtData = handleHotPump(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle);
break;
case "时控": case "时控":
rtData = handleTimeControl(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle); rtData = handleTimeControl(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle);
break; break;
@ -105,6 +104,7 @@ public class DeviceControlServiceImpl implements DeviceControlService {
rtData = handleElectricMeter(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle); rtData = handleElectricMeter(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle);
break; break;
default: default:
// 热泵
rtData = handleHotPump(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle); rtData = handleHotPump(serialPortModel, deviceCodeParam, controlData, rtData, type, serialPortSingle);
break; break;
} }
@ -250,17 +250,17 @@ public class DeviceControlServiceImpl implements DeviceControlService {
PumpSetEntity pumpData = new PumpSetEntity(); PumpSetEntity pumpData = new PumpSetEntity();
pumpData.setBuildingId(deviceCodeParam.getBuildingId()); pumpData.setBuildingId(deviceCodeParam.getBuildingId());
pumpData.setPumpId(deviceCodeParam.getDeviceAddr()); pumpData.setPumpId(deviceCodeParam.getDeviceAddr());
if (StringUtils.isBlank(deviceCodeParam.getParam()) || deviceCodeParam.getParam().equals("温度设定")) { if (StringUtils.isBlank(deviceCodeParam.getParam()) || deviceCodeParam.getParam().contains("温度设定")) {
//发送指令 //保存数据
if (Constant.READ.equals(type)) {
deviceCodeParam.setFunCode("03"); //功能码读数据
if (deviceCodeParam.getBrand().equals("美的")) { if (deviceCodeParam.getBrand().equals("美的")) {
deviceCodeParam.setRegisterAddr("0642"); //寄存器地址 deviceCodeParam.setRegisterAddr("0642"); //寄存器地址
deviceCodeParam.setFunCode("10"); //功能码写数据 } else if ("瑞星".equals(deviceCodeParam.getBrand())) {
deviceCodeParam.setRegisterAddr("000A"); //寄存器地址
} else { } else {
deviceCodeParam.setRegisterAddr("0003"); //寄存器地址 deviceCodeParam.setRegisterAddr("0003"); //寄存器地址
deviceCodeParam.setFunCode("06"); //功能码写数据
} }
//保存数据
if (Constant.READ.equals(type)) {
rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令 rtData = serialPortSingle.serialPortSend(deviceCodeParam);//生成并发送指令
if (!rtData.equals("fail")) { if (!rtData.equals("fail")) {
pumpData.setTempSet(rtData); pumpData.setTempSet(rtData);
@ -268,6 +268,17 @@ public class DeviceControlServiceImpl implements DeviceControlService {
} }
return rtData; return rtData;
} }
//发送指令
if (deviceCodeParam.getBrand().equals("美的")) {
deviceCodeParam.setRegisterAddr("0642"); //寄存器地址
deviceCodeParam.setFunCode("10"); //功能码写数据
} else if (deviceCodeParam.getBrand().equals("瑞星")) {
deviceCodeParam.setRegisterAddr("000A"); //寄存器地址
deviceCodeParam.setFunCode("10"); //功能码写数据
} else {
deviceCodeParam.setRegisterAddr("0003"); //寄存器地址
deviceCodeParam.setFunCode("06"); //功能码写数据
}
pumpData.setTempSet(serialPortModel.getDataValue()); pumpData.setTempSet(serialPortModel.getDataValue());
pumpSetService.savePumpSet(pumpData);//热泵信息保存数据库 pumpSetService.savePumpSet(pumpData);//热泵信息保存数据库
@ -312,6 +323,8 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setFunCode("03"); //功能码读数据 deviceCodeParam.setFunCode("03"); //功能码读数据
if ("美的".equals(deviceCodeParam.getBrand())) { if ("美的".equals(deviceCodeParam.getBrand())) {
deviceCodeParam.setRegisterAddr("0007"); //寄存器地址 deviceCodeParam.setRegisterAddr("0007"); //寄存器地址
} else if ("瑞星".equals(deviceCodeParam.getBrand())) {
deviceCodeParam.setRegisterAddr("0046"); //寄存器地址
} else { } else {
deviceCodeParam.setRegisterAddr("0064"); //寄存器地址 deviceCodeParam.setRegisterAddr("0064"); //寄存器地址
} }
@ -325,6 +338,8 @@ public class DeviceControlServiceImpl implements DeviceControlService {
deviceCodeParam.setFunCode("03"); //功能码读数据 deviceCodeParam.setFunCode("03"); //功能码读数据
if ("美的".equals(deviceCodeParam.getBrand())) { if ("美的".equals(deviceCodeParam.getBrand())) {
deviceCodeParam.setRegisterAddr("0641"); //寄存器地址 deviceCodeParam.setRegisterAddr("0641"); //寄存器地址
} else if ("瑞星".equals(deviceCodeParam.getBrand())) {
deviceCodeParam.setRegisterAddr("0001");
} else { } else {
deviceCodeParam.setRegisterAddr("0BBD"); //寄存器地址 deviceCodeParam.setRegisterAddr("0BBD"); //寄存器地址
} }

6
user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java

@ -14,6 +14,8 @@ import com.mh.user.service.NowDataService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -264,7 +266,11 @@ public class NowDataServiceImpl implements NowDataService {
if (dataType.equals("tempSet")){ //温度设定 if (dataType.equals("tempSet")){ //温度设定
data1.setTempSet(strData); data1.setTempSet(strData);
} else if (dataType.equals("waterTemp")){ //水箱水温 } else if (dataType.equals("waterTemp")){ //水箱水温
BigDecimal bigDecimal = new BigDecimal(strData);
if (bigDecimal.compareTo(new BigDecimal(0)) >= 0
&& bigDecimal.compareTo(new BigDecimal(100)) <= 0) {
data1.setWaterTemp(strData); data1.setWaterTemp(strData);
}
}else if (dataType.equals("runState")){ //运行状态 }else if (dataType.equals("runState")){ //运行状态
data1.setRunState(strData); data1.setRunState(strData);
}else if (dataType.equals("isFault")){ //是否故障 }else if (dataType.equals("isFault")){ //是否故障

61
user-service/src/main/java/com/mh/user/utils/AnalysisReceiveOrder485.java

@ -589,6 +589,67 @@ public class AnalysisReceiveOrder485 {
} else if (checkStr.substring(2, 4).equalsIgnoreCase("06")) { } else if (checkStr.substring(2, 4).equalsIgnoreCase("06")) {
log.info("时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! "); log.info("时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! ");
} }
} else if (brand.equals("瑞星")) {
if (checkStr.substring(2, 4).equalsIgnoreCase("03")) {//读
if (registerAddr.equalsIgnoreCase("0001")) { //运行状态
dataType = "runState";
data = checkStr.substring(8, 10);
if (data.equalsIgnoreCase("00")) {
sValue = "不运行"; //关机模式
} else if (data.equalsIgnoreCase("01")) {
sValue = "运行"; //制热模式
}
//计算热泵运行时间,按分钟
nowDataService.proPumpMinutes(buildingId, addr, sValue);
log.info("计算热泵运行时长,楼栋名称:" + buildingName + ",热泵编号:" + addr + ",状态:" + sValue);
nowDataService.saveNowHistoryData(addr, "热泵", sValue, dataType, buildingId);
log.info("时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName);
} else if (registerAddr.equalsIgnoreCase("000A") || registerAddr.equalsIgnoreCase("0046")) {
//000A设定温度,0046水箱水温
if (registerAddr.equalsIgnoreCase("000A")) {
dataType = "tempSet";
} else {
dataType = "waterTemp";
}
//读数
sValue = ExchangeStringUtil.hexToDec(checkStr.substring(6, 10));
if (dataType.equals("waterTemp")) {
sValue = String.valueOf(Double.parseDouble(sValue)/10);
NowPublicDataEntity publicData = new NowPublicDataEntity();
publicData.setBuildingId(buildingId);
publicData.setUseWaterTemp(sValue);
publicData.setBackWaterTemp(sValue);
nowPublicDataService.saveNowHistoryPublicData(publicData);
nowDataService.proWaterTemp(dateStr, buildingId, addr); //保存楼栋时间点温度变化
} else if (dataType.equals("tempSet")) {
pumpSetService.updatePumpSetTemp(sValue, buildingId, addr); //更新设定温度
}
nowDataService.saveNowHistoryData(addr, "热泵", sValue, dataType, buildingId);
log.info("时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName);
} else if (registerAddr.equalsIgnoreCase("0050")) { //故障状态
dataType = "isFault";
String sData = ExchangeStringUtil.hexString2binaryString(checkStr.substring(8, 10));
sData = ExchangeStringUtil.addZeroForNum(sData, 8);
if (sData.substring(7, 8).equalsIgnoreCase("0")) {
sValue = "无故障";
deviceInstallService.updateDeviceFault("0", addr, "热泵");
} else if (sData.substring(7, 8).equalsIgnoreCase("1")) {
sValue = "有故障";
deviceInstallService.updateDeviceFault("1", addr, "热泵");
}
nowDataService.saveNowHistoryData(addr, "热泵", sValue, dataType, buildingId);
log.info("时间: " + dateStr + ",热泵ID: " + addr + ",数据: " + sValue + "保存数据库成功!楼栋名称:" + buildingName);
} else if (registerAddr.equalsIgnoreCase("0028")
|| registerAddr.equalsIgnoreCase("002C")
|| registerAddr.equalsIgnoreCase("0030")) { //读定时设置值
String startTime = checkStr.substring(8, 10) + checkStr.substring(12, 14);
String closetTime = checkStr.substring(16, 18) + checkStr.substring(20, 22);
sValue = startTime + closetTime;
}
} else if (checkStr.substring(2, 4).equalsIgnoreCase("10")) {
log.info("时间: " + dateStr + ",热泵ID: " + addr + ",操作成功! ");
}
rtData = sValue;
} }
} else { } else {
log.info("热泵报文检验失败: " + receiveData); log.info("热泵报文检验失败: " + receiveData);

79
user-service/src/main/java/com/mh/user/utils/CacheTools.java

@ -0,0 +1,79 @@
package com.mh.user.utils;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import io.micrometer.core.instrument.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
import java.util.Objects;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
/**
* @author LJF
* @version 1.0
* @project TAD_Server
* @description 缓存等待数据
* @date 2023/7/4 08:45:16
*/
@Slf4j
public class CacheTools {
/**
* 响应消息缓存
*/
private static final Cache<String, BlockingQueue<String>> responseMsgCache = CacheBuilder.newBuilder()
.maximumSize(500)
.expireAfterWrite(1000, TimeUnit.SECONDS)
.build();
/**
* 等待响应消息
*
* @param key 消息唯一标识
* @return ReceiveDdcMsgVo
*/
public static String waitReceiveMsg(String key) {
try {
//设置超时时间
String vo = Objects.requireNonNull(responseMsgCache.getIfPresent(key))
.poll(1000 * 5, TimeUnit.MILLISECONDS);
//删除key
responseMsgCache.invalidate(key);
return vo;
} catch (Exception e) {
log.error("获取数据异常,sn={},msg=null", key);
return "";
}
}
/**
* 初始化响应消息的队列
*
* @param key 消息唯一标识
*/
public static void initReceiveMsg(String key) {
responseMsgCache.put(key, new LinkedBlockingQueue<String>(1));
}
/**
* 设置响应消息
*
* @param key 消息唯一标识
*/
public static void setReceiveMsg(String key, String msg) {
if (!responseMsgCache.asMap().containsKey(key)) {
initReceiveMsg(key);
}
if (responseMsgCache.getIfPresent(key) != null) {
responseMsgCache.getIfPresent(key).add(msg);
return;
}
log.warn("sn {}不存在", key);
}
}

46
user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java

@ -159,6 +159,42 @@ public class GetReadOrder485 {
} }
} }
} }
} else if (brand.equals("瑞星")) {
if (funCode == null || funCode.equals("") || funCode.equals("03")) {
if (registerAddr == null || registerAddr.equals("") || registerAddr.equalsIgnoreCase("0001")) { // 运行状态
str = str + "0300010001";
param = "运行状态";
} else if (registerAddr.equalsIgnoreCase("0046")) { // 水温
str = str + "0300460001";
param = "实际温度";
} else if (registerAddr.equalsIgnoreCase("0050")) { // 故障状态,100*N+11
str = str + "0300500001";
param = "故障状态";
} else if (registerAddr.equalsIgnoreCase("000A")) { // 读温度设定
str = str + "03000A0001";
param = "设定温度";
} else if (registerAddr.equalsIgnoreCase("0028")) { //读时段1
str = str + "0300280004";
param = "时段1";
} else if (registerAddr.equalsIgnoreCase("002C")) { //读时段2
str = str + "03002C0004";
param = "时段2";
}
} else {//10
if (registerAddr == null || registerAddr.equals("") || registerAddr.equalsIgnoreCase("000A")) {//温度设定,写
str = str + "10000A000102" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(dataValue)), 4); //写,待测试
} else if (registerAddr.equalsIgnoreCase("0028")) {//时段1
if (dataValue.length() == 8) {
String strData = "00" + dataValue.substring(0, 2) + "00" + dataValue.substring(2, 4) + "00" + dataValue.substring(4, 6) + "00" + dataValue.substring(6, 8);
str = str + "100028000408" + strData; //写
}
} else if (registerAddr.equalsIgnoreCase("002C")) {//时段2
if (dataValue.length() == 8) {
String strData = "00" + dataValue.substring(0, 2) + "00" + dataValue.substring(2, 4) + "00" + dataValue.substring(4, 6) + "00" + dataValue.substring(6, 8);
str = str + "10002C000408" + strData; //写
}
}
}
} }
String checkWord = ExchangeStringUtil.getStrCRC16(str); //CRC16校验 String checkWord = ExchangeStringUtil.getStrCRC16(str); //CRC16校验
str = str + checkWord; str = str + checkWord;
@ -180,8 +216,7 @@ public class GetReadOrder485 {
String str = ""; String str = "";
if (deviceAddr != null && deviceAddr.length() > 0) { if (deviceAddr != null && deviceAddr.length() > 0) {
try { try {
if (brand==null || brand.equals("") || brand.equals("中凯")) if (brand == null || brand.equals("") || brand.equals("中凯")) {
{
str = ExchangeStringUtil.decToHex(deviceAddr); str = ExchangeStringUtil.decToHex(deviceAddr);
str = ExchangeStringUtil.addZeroForNum(str, 2); str = ExchangeStringUtil.addZeroForNum(str, 2);
if (funCode == null || funCode.equals("") || funCode.equals("17")) { //读 if (funCode == null || funCode.equals("") || funCode.equals("17")) { //读
@ -322,8 +357,7 @@ public class GetReadOrder485 {
String str = ""; String str = "";
if (deviceAddr != null && deviceAddr.length() > 0) { if (deviceAddr != null && deviceAddr.length() > 0) {
try { try {
if (brand==null || brand.equals("") || brand.equals("中凯")) if (brand == null || brand.equals("") || brand.equals("中凯")) {
{
str = ExchangeStringUtil.decToHex(deviceAddr); str = ExchangeStringUtil.decToHex(deviceAddr);
str = ExchangeStringUtil.addZeroForNum(str, 2); str = ExchangeStringUtil.addZeroForNum(str, 2);
//if (funCode==null || funCode.equals("") || funCode.equals("17")){ //读 //if (funCode==null || funCode.equals("") || funCode.equals("17")){ //读
@ -534,6 +568,7 @@ public class GetReadOrder485 {
/** /**
* // 冷水机组 指令:IP+端口+COM口+数据+modeBus校验 * // 冷水机组 指令:IP+端口+COM口+数据+modeBus校验
*
* @param chillersEntity * @param chillersEntity
* @return * @return
*/ */
@ -751,7 +786,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity4.setParity(devices.getParity()); deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4); deviceCodeParamEntityList.add(deviceCodeParamEntity4);
} }
} if (devices.getDeviceType().equals("水位开关")){ }
if (devices.getDeviceType().equals("水位开关")) {
if (devices.getBrand().equals("远向")) { if (devices.getBrand().equals("远向")) {
DeviceCodeParamEntity deviceCodeParamEntity2 = new DeviceCodeParamEntity(); DeviceCodeParamEntity deviceCodeParamEntity2 = new DeviceCodeParamEntity();
deviceCodeParamEntity2.setRegisterAddr("0018");//读水位设定 deviceCodeParamEntity2.setRegisterAddr("0018");//读水位设定

Loading…
Cancel
Save