فهرست منبع

升级版本 + 104对时帧bug修改

xiuwei 4 سال پیش
والد
کامیت
ea6a8b62f3

+ 3 - 3
pom.xml

@@ -6,7 +6,7 @@
 
 
     <groupId>wei.yigulu</groupId>
     <groupId>wei.yigulu</groupId>
     <artifactId>protocol</artifactId>
     <artifactId>protocol</artifactId>
-    <version>1.1.3</version>
+    <version>1.1.4</version>
     <packaging>pom</packaging>
     <packaging>pom</packaging>
     <modules>
     <modules>
         <module>protocol-core</module>
         <module>protocol-core</module>
@@ -32,8 +32,8 @@
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
         <java.version>1.8</java.version>
-        <protocol.version>1.1.3</protocol.version>
-        <iec104.version>1.4.9</iec104.version>
+        <protocol.version>1.1.4</protocol.version>
+        <iec104.version>1.4.10</iec104.version>
         <modbus.version>1.2.3</modbus.version>
         <modbus.version>1.2.3</modbus.version>
         <cdt.version>1.0.0</cdt.version>
         <cdt.version>1.0.0</cdt.version>
     </properties>
     </properties>

+ 1 - 1
protocol-all/pom.xml

@@ -6,7 +6,7 @@
     <parent>
     <parent>
         <artifactId>protocol</artifactId>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
         <groupId>wei.yigulu</groupId>
-        <version>1.1.3</version>
+        <version>1.1.4</version>
     </parent>
     </parent>
 
 
 
 

+ 1 - 1
protocol-cdt/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>protocol</artifactId>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
         <groupId>wei.yigulu</groupId>
-        <version>1.1.3</version>
+        <version>1.1.4</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 

+ 1 - 1
protocol-core/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>protocol</artifactId>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
         <groupId>wei.yigulu</groupId>
-        <version>1.1.3</version>
+        <version>1.1.4</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 

+ 1 - 1
protocol-iec104/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>protocol</artifactId>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
         <groupId>wei.yigulu</groupId>
-        <version>1.1.3</version>
+        <version>1.1.4</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 

+ 3 - 3
protocol-iec104/src/main/java/wei/yigulu/iec104/apdumodel/Apdu.java

@@ -243,17 +243,17 @@ public class Apdu {
 	 * @throws Iec104Exception iec exception
 	 * @throws Iec104Exception iec exception
 	 */
 	 */
 	public void answer() throws Iec104Exception {
 	public void answer() throws Iec104Exception {
-		byte[][] bb;
+		byte[][] bb = new byte[0][];
 		if (this.apciType == ApciType.I_FORMAT) {
 		if (this.apciType == ApciType.I_FORMAT) {
 			try {
 			try {
 				bb = this.asdu.getDataFrame().handleAndAnswer(this);
 				bb = this.asdu.getDataFrame().handleAndAnswer(this);
 			} catch (Exception e) {
 			} catch (Exception e) {
 				if (e instanceof NullPointerException) {
 				if (e instanceof NullPointerException) {
 					log.error("数据帧解析后的逻辑处理出现异常", e);
 					log.error("数据帧解析后的逻辑处理出现异常", e);
-					throw new Iec104Exception("该I帧无数据体");
+					//throw new Iec104Exception("该I帧无数据体");
 				}
 				}
 				log.error("数据帧解析后的逻辑处理出现异常", e);
 				log.error("数据帧解析后的逻辑处理出现异常", e);
-				throw new Iec104Exception("I帧响应帧编译出错");
+				//throw new Iec104Exception("I帧响应帧编译出错");
 			}
 			}
 		} else if (this.apciType == ApciType.S_FORMAT) {
 		} else if (this.apciType == ApciType.S_FORMAT) {
 			bb = sHandleAndAnswer();
 			bb = sHandleAndAnswer();

+ 5 - 2
protocol-iec104/src/main/java/wei/yigulu/iec104/apdumodel/Asdu.java

@@ -157,9 +157,12 @@ public class Asdu {
 			} else {
 			} else {
 				byte[] unknown = new byte[dataInputStream.readableBytes()];
 				byte[] unknown = new byte[dataInputStream.readableBytes()];
 				dataInputStream.readBytes(unknown);
 				dataInputStream.readBytes(unknown);
-				throw new IOException("无法转换信息对象,由于类型标识未知: " + typeId);
+				//throw new IOException("无法转换信息对象,由于类型标识未知: " + typeId);
+				log.error("无法转换信息对象,由于类型标识未知: " + typeId);
+			}
+			if(dataFrame!=null) {
+				log.debug(dataFrame.toString());
 			}
 			}
-			log.debug(dataFrame.toString());
 			privateInformation = null;
 			privateInformation = null;
 		} else {
 		} else {
 			log.debug("");
 			log.debug("");

+ 1 - 1
protocol-iec104/src/main/java/wei/yigulu/iec104/asdudataframe/typemodel/IeProofreadTime.java

@@ -32,7 +32,7 @@ public class IeProofreadTime {
 	 * @param is is
 	 * @param is is
 	 */
 	 */
 	public IeProofreadTime(ByteBuf is) {
 	public IeProofreadTime(ByteBuf is) {
-		byte[] btime = new byte[8];
+		byte[] btime = new byte[7];
 		is.readBytes(btime);
 		is.readBytes(btime);
 		int milliSecond = (btime[0] & 0xff) + ((btime[1] & 0xff) << 8);
 		int milliSecond = (btime[0] & 0xff) + ((btime[1] & 0xff) << 8);
 		int minute = btime[2] & 0xff;
 		int minute = btime[2] & 0xff;

+ 1 - 0
protocol-iec104/src/main/java/wei/yigulu/iec104/nettyconfig/Master104Handle.java

@@ -68,6 +68,7 @@ public class Master104Handle extends SimpleChannelInboundHandler<ByteBuf> {
 		if (apdu.getApciType() == Apdu.ApciType.I_FORMAT) {
 		if (apdu.getApciType() == Apdu.ApciType.I_FORMAT) {
 			this.testNum = 0;
 			this.testNum = 0;
 		}
 		}
+
 		apdu.answer();
 		apdu.answer();
 
 
 	}
 	}

+ 1 - 1
protocol-iec104/src/test/java/ClientTest.java

@@ -11,7 +11,7 @@ import wei.yigulu.iec104.nettyconfig.Iec104HSMasterBuilder;
 public class ClientTest {
 public class ClientTest {
 
 
 	public static void main(String[] args) {
 	public static void main(String[] args) {
-		new Iec104HSMasterBuilder("127.0.0.1", 2404).setSpareIp("127.0.0.2").create();
+		new Iec104HSMasterBuilder("127.0.0.1", 2404).create();
 		System.out.println(123);
 		System.out.println(123);
 	}
 	}
 
 

+ 1 - 1
protocol-modbus/pom.xml

@@ -5,7 +5,7 @@
     <parent>
     <parent>
         <artifactId>protocol</artifactId>
         <artifactId>protocol</artifactId>
         <groupId>wei.yigulu</groupId>
         <groupId>wei.yigulu</groupId>
-        <version>1.1.3</version>
+        <version>1.1.4</version>
     </parent>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
     <version>${modbus.version}</version>
     <version>${modbus.version}</version>

+ 2 - 3
protocol-modbus/src/main/java/wei/yigulu/modbus/domain/synchronouswaitingroom/TcpSynchronousWaitingRoom.java

@@ -1,7 +1,6 @@
 package wei.yigulu.modbus.domain.synchronouswaitingroom;
 package wei.yigulu.modbus.domain.synchronouswaitingroom;
 
 
 
 
-import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import wei.yigulu.modbus.domain.datatype.numeric.P_AB;
 import wei.yigulu.modbus.domain.datatype.numeric.P_AB;
 
 
@@ -33,7 +32,7 @@ public class TcpSynchronousWaitingRoom implements SynchronousWaitingRoom {
 		try {
 		try {
 			byteBuffer = guest.getData();
 			byteBuffer = guest.getData();
 		} catch (InterruptedException e) {
 		} catch (InterruptedException e) {
-			log.error("响应超时,事务识别码为:"+key);
+			log.trace("响应超时,事务识别码为:"+key);
 		}
 		}
 		this.guestMap.remove(key);
 		this.guestMap.remove(key);
 		return byteBuffer;
 		return byteBuffer;
@@ -48,7 +47,7 @@ public class TcpSynchronousWaitingRoom implements SynchronousWaitingRoom {
 			if (this.guestMap.containsKey(key)) {
 			if (this.guestMap.containsKey(key)) {
 				this.guestMap.get(key).setData(bytes);
 				this.guestMap.get(key).setData(bytes);
 			}else{
 			}else{
-				log.error("置入响应数据时,未发现等待者:"+key);
+				log.trace("置入响应数据时,未发现等待者:"+key);
 			}
 			}
 		}
 		}
 	}
 	}

+ 1 - 1
protocol-modbus/src/main/java/wei/yigulu/modbus/netty/ModbusRtuMasterDelimiterHandler.java

@@ -27,7 +27,7 @@ public class ModbusRtuMasterDelimiterHandler extends AbstractDelimiterHandler {
 	/**
 	/**
 	 * 是否进行CRC校验判断
 	 * 是否进行CRC校验判断
 	 */
 	 */
-	private boolean doCrcCheck = false;
+	private boolean doCrcCheck = true;
 
 
 
 
 	@Override
 	@Override