Prechádzať zdrojové kódy

增加未知数据类型

xiuwei 2 rokov pred
rodič
commit
7ad30c2e2a

+ 5 - 1
protocol-modbus/src/main/java/wei/yigulu/modbus/domain/datatype/ModbusDataTypeEnum.java

@@ -41,7 +41,9 @@ public enum ModbusDataTypeEnum {
 	/*CDAB 的modbus 4 字节  浮点数据*/
 	CDAB(2),
 	/*DCBA 的modbus 4 字节  浮点数据*/
-	DCBA(2);
+	DCBA(2),
+	/*未知类型*/
+	UNKNOW(1);
 
 
 	/**
@@ -81,6 +83,8 @@ public enum ModbusDataTypeEnum {
 				return new BADC();
 			case A16:
 				return new BooleanModbusDataInRegister();
+			case UNKNOW:
+				return new UnknownTypeRegisterValue();
 			default:
 				return new P_AB();
 		}

+ 14 - 1
protocol-modbus/src/main/java/wei/yigulu/modbus/domain/datatype/UnknownTypeRegisterValue.java

@@ -19,6 +19,19 @@ public class UnknownTypeRegisterValue extends RegisterValue {
 
 	Register  register=new Register();
 
+	{
+		super.modbusDataTypeEnum = ModbusDataTypeEnum.UNKNOW;
+	}
+
+
+	public byte getB1(){
+		return register.getB1();
+	}
+
+	public byte getB2(){
+		return register.getB2();
+	}
+
 	@Override
 	public List<Register> getRegisters() {
 		List<Register> l=new ArrayList<>();
@@ -28,7 +41,7 @@ public class UnknownTypeRegisterValue extends RegisterValue {
 
 	@Override
 	public UnknownTypeRegisterValue decode(byte[] bytes, int offset) {
-		this.register=new Register(bytes[offset],bytes[offset+1]);
+		this.register=new Register(bytes[offset*2],bytes[offset*2+1]);
 		return this;
 	}