Browse Source

1、修复液位控制

dev
3067418132@qq.com 3 weeks ago
parent
commit
cc19ab5afd
  1. 8
      mh-common/src/main/java/com/mh/common/utils/ModbusUtils.java
  2. 2
      mh-framework/src/main/java/com/mh/framework/netty/NettyServiceImpl.java

8
mh-common/src/main/java/com/mh/common/utils/ModbusUtils.java

@ -34,7 +34,7 @@ public class ModbusUtils {
public static String createControlCode(String mtCode, Integer type, String registerAddr, String param) {
String orderStr;
mtCode = ExchangeStringUtil.addZeroForNum(mtCode, 2);
mtCode = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(mtCode), 2);
registerAddr = ExchangeStringUtil.addZeroForNum(registerAddr, 4);
param = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(param), 4);
orderStr = mtCode + "06" + registerAddr + param;
@ -78,7 +78,7 @@ public class ModbusUtils {
// 00 03:小数位数 digits
// 7A 22:校验码
String orderStr;
mtCode = ExchangeStringUtil.addZeroForNum(mtCode, 2);
mtCode = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(mtCode), 2);
registerAddr = ExchangeStringUtil.addZeroForNum(registerAddr, 4);
param = String.valueOf(new BigDecimal(param).multiply(BigDecimal.valueOf(Math.pow(10, digits))).intValue());
param = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(param), 4);
@ -92,4 +92,8 @@ public class ModbusUtils {
return orderStr+checkWord;
}
public static void main(String[] args) {
System.out.println(createTenControlCode("20", 1, "0108", 3, "2.1"));
}
}

2
mh-framework/src/main/java/com/mh/framework/netty/NettyServiceImpl.java

@ -75,7 +75,7 @@ public class NettyServiceImpl implements INettyService {
ServerSession serverSession = map.get(keyVal);
String controlCode = "";
// 增加了液位控制仪
if ("8".equals(collectionParamsManage.getMtType())) {
if ("11".equals(collectionParamsManage.getMtType())) {
controlCode = ModbusUtils.createTenControlCode(collectionParamsManage.getMtCode(),
changeValue.getType(),
collectionParamsManage.getRegisterAddr(),

Loading…
Cancel
Save