liurunyu
2023-11-22 429f9d85eddbb07081c149d7156964337ba688aa
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
package com.dy.aceMw.server;
 
public class ServerProperties {
    
    //是否为低功耗
    public static Boolean isLowPower = false ;
    //在支持多通信协议时,只有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 ;
 
}