From dec31d5d19346c24412e8b51783455a1f4bec7b1 Mon Sep 17 00:00:00 2001
From: whyclj <1525436766@qq.com>
Date: 星期三, 26 八月 2020 21:29:18 +0800
Subject: [PATCH] 提高读取速度

---
 Motor_MonitorServer/src/com/modbus/data/MyModbusMaster.java |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/Motor_MonitorServer/src/com/modbus/data/MyModbusMaster.java b/Motor_MonitorServer/src/com/modbus/data/MyModbusMaster.java
index a9e8d75..343cad3 100644
--- a/Motor_MonitorServer/src/com/modbus/data/MyModbusMaster.java
+++ b/Motor_MonitorServer/src/com/modbus/data/MyModbusMaster.java
@@ -1,8 +1,5 @@
 package com.modbus.data;
 
-import java.text.NumberFormat;
-
-import com.base.ComBase;
 import com.serotonin.modbus4j.ModbusMaster;
 import com.serotonin.modbus4j.ip.IpParameters;
 
@@ -12,6 +9,7 @@
 	public final static int MAX_ERROR_COUNT = 2;		//最大连续错误计数
 	private ModbusMaster master;
 	private int errcount;								//错误计数	错误连续超过三个时重新获取master
+	private int totalerr;								//总的错误计数			//用于判别设备是否掉线
 	private String target_ip;							//目标ip
 	private int slaveId;								//设备ID
 	
@@ -28,9 +26,20 @@
 		if(this.errcount > MAX_ERROR_COUNT) {
 			reConnect();
 		}
+		if(this.totalerr > 99999999) {
+			this.totalerr = 5;
+		}
+		this.totalerr ++;
+	}
+	
+	//清空错误计数
+	public void clearError() {
+		errcount = 0;
+		totalerr = 0;
 	}
 	
 	public void reConnect() {
+		System.out.println(target_ip);
 		IpParameters params = new IpParameters();
 		params.setHost(target_ip);
 		if(this.master != null) {
@@ -74,6 +83,14 @@
 		
 	}
 	
+	public int getTotalerr() {
+		return totalerr;
+	}
+
+	public void setTotalerr(int totalerr) {
+		this.totalerr = totalerr;
+	}
+
 	public ModbusMaster getMaster() {
 		return master;
 	}

--
Gitblit v1.9.1