From 30a313e8a229770ec5c4eef49c6e4f57220deca3 Mon Sep 17 00:00:00 2001 From: whyclj <1525436766@qq.com> Date: 星期六, 19 九月 2020 14:39:49 +0800 Subject: [PATCH] 添加设备通讯状态更新功能 --- src/com/modbus/data/MyModbusMaster.java | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/modbus/data/MyModbusMaster.java b/src/com/modbus/data/MyModbusMaster.java index 283d680..fa6bf5d 100644 --- a/src/com/modbus/data/MyModbusMaster.java +++ b/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