Browse Source

修改报文打印的格式 增加连续寻址的地址打印

xiuwei 3 years ago
parent
commit
3c05f9cb4f

+ 10 - 8
protocol-iec104/src/main/java/wei/yigulu/iec104/asdudataframe/NoQualityNormalizedIntegerType.java

@@ -160,21 +160,23 @@ public class NoQualityNormalizedIntegerType extends AbstractDataFrameType {
 
 	@Override
 	public String toString() {
-		String s = "无质量归一化值";
+		StringBuilder s = new StringBuilder("无质量归一化值");
 		if (addresses.size() == 1) {
-			s += "连续寻址\n";
-			s += addresses.get(0).toString() + "\n";
+			s.append( "连续寻址\n");
+			s.append( addresses.get(0).toString() + "\n");
+			int i=0;
 			for (Integer e : datas) {
-				s += "值为 :" + e + "\n";
+				s.append("点位:"+addresses.get(0)+(i++)+",");
+				s.append( "值为 :" + e + "\n");
 			}
 		} else {
-			s += "单一寻址\n";
+			s.append( "单一寻址\n");
 			int f = 0;
 			for (Integer i : datas) {
-				s += addresses.get(f++).toString();
-				s += i.toString() + "\n";
+				s.append( addresses.get(f++).toString());
+				s.append( i.toString() + "\n");
 			}
 		}
-		return s;
+		return s.toString();
 	}
 }

+ 11 - 9
protocol-iec104/src/main/java/wei/yigulu/iec104/asdudataframe/NormalizedIntegerType.java

@@ -188,22 +188,24 @@ public class NormalizedIntegerType extends AbstractDataFrameType {
 
 	@Override
 	public String toString() {
-		String s = "归一化值";
+		StringBuilder s = new StringBuilder("归一化值");
 		if (addresses.size() == 1) {
-			s += "连续寻址\n";
-			s += addresses.get(0).toString() + "\n";
+			s.append("连续寻址\n");
+			s.append(addresses.get(0).toString() + "\n");
+			int i=0;
 			for (Map.Entry<IeMeasuredQuality, Integer> e : datas.entrySet()) {
-				s += "值为 :" + e.getValue() + ";" + e.getKey().toString() + "\n";
+				s.append("点位:"+addresses.get(0)+(i++)+",");
+				s.append("值为 :" + e.getValue() + ";" + e.getKey().toString() + "\n");
 			}
 		} else {
-			s += "单一寻址\n";
+			s.append("单一寻址\n");
 			int f = 0;
 			for (Map.Entry<IeMeasuredQuality, Integer> i : datas.entrySet()) {
-				s += addresses.get(f++).toString();
-				s += i.getValue().toString();
-				s += i.getKey().toString() + "\n";
+				s.append(addresses.get(f++).toString());
+				s.append(i.getValue().toString());
+				s.append(i.getKey().toString() + "\n");
 			}
 		}
-		return s;
+		return s.toString();
 	}
 }

+ 11 - 9
protocol-iec104/src/main/java/wei/yigulu/iec104/asdudataframe/ShortFloatType.java

@@ -190,23 +190,25 @@ public class ShortFloatType extends AbstractDataFrameType {
 
 	@Override
 	public String toString() {
-		String s = "短浮点";
+		StringBuilder s = new StringBuilder("短浮点");
 		if (addresses.size() == 1) {
-			s += "连续寻址\n";
-			s += addresses.get(0).toString() + "\n";
+			s.append( "连续寻址\n");
+			s.append(addresses.get(0).toString() + "\n");
+			int i=0;
 			for (Map.Entry<IeMeasuredQuality, Float> e : datas.entrySet()) {
-				s += "值为 :" + e.getValue() + ";" + e.getKey().toString() + "\n";
+				s.append("点位:"+addresses.get(0)+(i++)+",");
+				s.append( "值为 :" + e.getValue() + ";" + e.getKey().toString() + "\n");
 			}
 		} else {
-			s += "单一寻址\n";
+			s.append("单一寻址\n");
 			int f = 0;
 			for (Map.Entry<IeMeasuredQuality, Float> i : datas.entrySet()) {
-				s += addresses.get(f++).toString();
-				s += i.getValue().toString();
-				s += i.getKey().toString() + "\n";
+				s.append( addresses.get(f++).toString());
+				s.append( i.getValue().toString());
+				s.append( i.getKey().toString() + "\n");
 			}
 		}
-		return s;
+		return s.toString();
 	}
 
 }

+ 11 - 9
protocol-iec104/src/main/java/wei/yigulu/iec104/asdudataframe/ShortIntegerType.java

@@ -189,22 +189,24 @@ public class ShortIntegerType extends AbstractDataFrameType {
 
 	@Override
 	public String toString() {
-		String s = "短整型";
+		StringBuilder s = new StringBuilder("短整型");
 		if (addresses.size() == 1) {
-			s += "连续寻址\n";
-			s += addresses.get(0).toString() + "\n";
+			s.append("连续寻址\n");
+			s.append(addresses.get(0).toString() + "\n");
+			int i=0;
 			for (Map.Entry<IeMeasuredQuality, Integer> e : datas.entrySet()) {
-				s += "值为 :" + e.getValue() + ";" + e.getKey().toString() + "\n";
+				s.append("点位:"+addresses.get(0)+(i++)+",");
+				s.append("值为 :" + e.getValue() + ";" + e.getKey().toString() + "\n");
 			}
 		} else {
-			s += "单一寻址\n";
+			s.append("单一寻址\n");
 			int f = 0;
 			for (Map.Entry<IeMeasuredQuality, Integer> i : datas.entrySet()) {
-				s += addresses.get(f++).toString();
-				s += i.getValue().toString();
-				s += i.getKey().toString() + "\n";
+				s.append(addresses.get(f++).toString());
+				s.append(i.getValue().toString());
+				s.append(i.getKey().toString() + "\n");
 			}
 		}
-		return s;
+		return s.toString();
 	}
 }