1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.dy.rtuMw.server;
 
public class ServerProperties {
    
    //是否为低功耗
    public static String orgTag = "ym" ;
    //是否为低功耗
    public static Boolean isLowPower = false ;
    //只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,如果配置空串(即无IMEI号),则接收全部水表数据,设置此目的是针对某个水表进行调试
    public static Boolean onlyDealRtusTest = false ;
    public static String[] onlyDealRtus ;
 
 
    //在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
    //如果RTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
    // 当只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
    //onlyOne=true: 通信中间件当前只有一个协议   
    public static Boolean onlyOneProtocol = false ;
    //下行命令允许发送的最大次数X,即允许重发X-1
    public static Byte downComandMaxResendTimes = 3 ;
    
    //针对一个RTU,下发命令的时间间隔
    public static Long commandSendInterval = 5 * 1000L ;
    
    //命令已经发送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长
    public static Long cachWaitResultTimeout = 15 * 1000L ;
    
    //不在线缓存的命令最大缓存时长
    public static Long offLineCachTimeout = 60 * 1000L ;
    
    //TCP上行数据时刻缓存时长,当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上数据同时下发数据,因为RTU处理不过来
    public static Long lastUpDataTimeLive = 1000L ;
    
    //数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    public static Integer dbDataIdSuffix = 1 ;
 
    //上下行数据缓存队列中缓存数据个数的报警量,这个与实体项目所接水表数相关
    public static Integer cacheUpDownDataWarnCount = 1000000 ;
 
    //上下行数据缓存队列中缓存数据个数的最大值,这个与实体项目所接水表数相关
    public static Integer cacheUpDownDataMaxCount = 1100000 ;
 
    //没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2000_100000
    public static Long disconnectedByNoUpDataMinutes = 3000L ;
 
    //工作报太频繁,N次上报处理1次
    public static Integer workReportDealOneByTimes = 5 ;
 
    //触发发送钉钉报警消息的取水口日漏损量的最小值(包括但除0.0外)
    public static Double intakeAlarmLossMinValue = 1.0 ;
 
    //有报警发生时,向钉钉发送消息的间隔时长(分钟)
    public static Integer sendDingDingAlarmMsInterval = 60 ;
 
}