From 02706f6f7a5962945c6eded9c0325aa02b93c7b6 Mon Sep 17 00:00:00 2001
From: whyclj <1525436766@qq.com>
Date: 星期六, 19 九月 2020 15:09:36 +0800
Subject: [PATCH] 添加设备通讯状态更新

---
 WaterSystem_MonitorServer/src/com/modbus/data/MyModbusMaster.java |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/WaterSystem_MonitorServer/src/com/modbus/data/MyModbusMaster.java b/WaterSystem_MonitorServer/src/com/modbus/data/MyModbusMaster.java
index 283d680..fa6bf5d 100644
--- a/WaterSystem_MonitorServer/src/com/modbus/data/MyModbusMaster.java
+++ b/WaterSystem_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;
 
@@ -10,9 +7,11 @@
 	public final static int SLAVEID_DEFAULT = 2;
 	
 	public final static int MAX_ERROR_COUNT = 2;		//最大连续错误计数
+	public final static int LOSE_CONNECT_COUNT = 20;	//通讯中断最大计数
+	
 	private ModbusMaster master;
 	private int errcount;								//错误计数	错误连续超过三个时重新获取master
-	private int totalerr;								//总的错误计数			//用于判别设备是否掉线
+	private int totalerr = 31;							//总的错误计数[默认失去连接]	用于判别设备是否掉线
 	private String target_ip;							//目标ip
 	private int slaveId;								//设备ID
 	
@@ -42,6 +41,7 @@
 	}
 	
 	public void reConnect() {
+		System.out.println(target_ip);
 		IpParameters params = new IpParameters();
 		params.setHost(target_ip);
 		if(this.master != null) {
@@ -85,6 +85,13 @@
 		
 	}
 	
+	public int getConnectState() {
+		if(this.totalerr < LOSE_CONNECT_COUNT) {
+			return 1;
+		}
+		return 0;
+	}
+	
 	public int getTotalerr() {
 		return totalerr;
 	}

--
Gitblit v1.9.1