Browse Source

1、添加宁波时代水表modbus协议解析

dev
3067418132@qq.com 3 weeks ago
parent
commit
1ab9ee2da4
  1. 4
      user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java

4
user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java

@ -108,7 +108,7 @@ public class WtMeterStrategy implements DeviceStrategy {
String checkStr = dataStr.substring(0, dataStr.length() - 4);//检验报文 String checkStr = dataStr.substring(0, dataStr.length() - 4);//检验报文
byte[] strOrder = ExchangeStringUtil.hexStrToBinaryStr(checkStr); byte[] strOrder = ExchangeStringUtil.hexStrToBinaryStr(checkStr);
int checkNum = CRC16.CRC16_MODBUS(strOrder); int checkNum = CRC16.CRC16_MODBUS(strOrder);
String checkWord = ExchangeStringUtil.decToHex(String.valueOf(checkNum)); String checkWord = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(checkNum)), 4);
checkWord = checkWord.substring(2, 4) + checkWord.substring(0, 2); checkWord = checkWord.substring(2, 4) + checkWord.substring(0, 2);
String sValue = null; String sValue = null;
if (checkWord.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4))) { if (checkWord.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4))) {
@ -123,7 +123,7 @@ public class WtMeterStrategy implements DeviceStrategy {
String checkStr = dataStr.substring(0, dataStr.length() - 4);//检验报文 String checkStr = dataStr.substring(0, dataStr.length() - 4);//检验报文
byte[] strOrder = ExchangeStringUtil.hexStrToBinaryStr(checkStr); byte[] strOrder = ExchangeStringUtil.hexStrToBinaryStr(checkStr);
int checkNum = CRC16.CRC16_MODBUS(strOrder); int checkNum = CRC16.CRC16_MODBUS(strOrder);
String checkWord = ExchangeStringUtil.decToHex(String.valueOf(checkNum)); String checkWord = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(checkNum)), 4);
checkWord = checkWord.substring(2, 4) + checkWord.substring(0, 2); checkWord = checkWord.substring(2, 4) + checkWord.substring(0, 2);
String sValue = null; String sValue = null;
if (checkWord.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4))) { if (checkWord.equalsIgnoreCase(dataStr.substring(dataStr.length() - 4))) {

Loading…
Cancel
Save