针对远程RTU升级,增加快速命令类型,为此增加相关配置,增加相关处理逻辑
14个文件已修改
113 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1600_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(mj梅江).xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(mq民勤).xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(sp沙盘).xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test测试).xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ym元谋).xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/MidResultToRtu.java
@@ -24,7 +24,8 @@
    public boolean isCachForOffLine ;//RTU不在线,命令是否缓存
    
    public boolean isSendFirst;//优先其他发送,例如各命令的应答
    public boolean isQuickSend;//速发命令,即不受下发数据时间间隔限制
    public boolean isQuickSend;//速发命令,即不受下发数据时间间隔限制(通信中间件为低功耗时起作用)
    public boolean isFastCom;//速发命令,下发数据时间间隔受小值(配置文件中fastCommandSendInterval)限制(如升级命令)
    //public Object param ;//缓存一些数据,例如为兼容王工(江海)协议与靳总协议(虚拟IC卡编号长度不一致),把不兼容的虚拟IC卡编号的前半部分放入此处
@@ -33,6 +34,7 @@
        isCachForOffLine = false ;
        isSendFirst = false ;
        isQuickSend = false ;
        isFastCom = false ;
    }
    @Override
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1600_Down.java
@@ -37,6 +37,8 @@
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isFastCom = true ;//速发命令,下发数据时间间隔受小值(配置文件中fastCommandSendInterval)限制
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1601_Down.java
@@ -37,6 +37,8 @@
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isFastCom = true ;//速发命令,下发数据时间间隔受小值(配置文件中fastCommandSendInterval)限制
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1602_Down.java
@@ -37,6 +37,8 @@
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isFastCom = true ;//速发命令,下发数据时间间隔受小值(配置文件中fastCommandSendInterval)限制
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/parse/Cd_1603_Down.java
@@ -36,6 +36,8 @@
        midRs.maxSendTimes = null ;//命令最大发送次数(当收不到应答时,将重发),如果不设置,命令缓存器进行补充设置
        midRs.isCachForOffLine = false ;//RTU不在线,命令是否缓存,低功耗时为true
        midRs.isFastCom = true ;//速发命令,下发数据时间间隔受小值(配置文件中fastCommandSendInterval)限制
        if(isLowPower != null && isLowPower.booleanValue()){
            //低功耗时,尽快发送
            midRs.isQuickSend = true ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
@@ -181,10 +181,12 @@
            ServerProperties.downComandMaxResendTimes = conf.getSetAttrPlusInt(doc, "config.base", "downComandMaxResendTimes", null, 1, 5, null).byteValue() ;
            //针对一个RTU,下发命令的时间间隔
            ServerProperties.commandSendInterval = conf.getSetAttrPlusInt(doc, "config.base", "commandSendInterval", null, 1, 40, null) * 1000L ;
            //针对一个RTU,下发快速命令的时间间隔
            ServerProperties.fastCommandSendInterval = conf.getSetAttrPlusInt(doc, "config.base", "fastCommandSendInterval", null, 1, 40000, null) * 1L ;
            //命令已经发送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长
            ServerProperties.cachWaitResultTimeout = conf.getSetAttrPlusInt(doc, "config.base", "cachWaitResultTimeout", null, 10, 360, null) * 1000L ;
            ServerProperties.cacheWaitResultTimeout = conf.getSetAttrPlusInt(doc, "config.base", "cacheWaitResultTimeout", null, 10, 360, null) * 1000L ;
            //不在线缓存的命令最大缓存时长
            ServerProperties.offLineCachTimeout = conf.getSetAttrPlusInt(doc, "config.base", "offLineCachTimeout", null, 15, 172800, null) * 1000L ;
            ServerProperties.offLineCacheTimeout = conf.getSetAttrPlusInt(doc, "config.base", "offLineCacheTimeout", null, 15, 172800, null) * 1000L ;
            //TCP上行数据时刻缓存时长,当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上数据同时下发数据,因为RTU处理不过来
            ServerProperties.lastUpDataTimeLive = conf.getSetAttrPlusInt(doc, "config.base", "lastUpDataTimeLive", null, 0, 5000, null) * 1L ;
            //数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java
@@ -21,12 +21,14 @@
    
    //针对一个RTU,下发命令的时间间隔
    public static Long commandSendInterval = 5 * 1000L ;
    //针对一个RTU,下发快速命令的时间间隔
    public static Long fastCommandSendInterval = 1000L ;
    //命令已经发送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长
    public static Long cachWaitResultTimeout = 15 * 1000L ;
    public static Long cacheWaitResultTimeout = 15 * 1000L ;
    
    //不在线缓存的命令最大缓存时长
    public static Long offLineCachTimeout = 60 * 1000L ;
    public static Long offLineCacheTimeout = 60 * 1000L ;
    
    //TCP上行数据时刻缓存时长,当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上数据同时下发数据,因为RTU处理不过来
    public static Long lastUpDataTimeLive = 1000L ;
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpDownCommandObj.java
@@ -41,7 +41,7 @@
        }
        if(this.sendedTimes >= this.result.maxSendTimes){
            //发送次数达到最大值
            if(now - this.lastSendStamp >= ServerProperties.cachWaitResultTimeout){
            if(now - this.lastSendStamp >= ServerProperties.cacheWaitResultTimeout){
                //超时
                removeNodeFromCach = true ;
                 //记录状态
@@ -59,7 +59,7 @@
                removeNodeFromCach = true ;
            }else{
                //不在线命令缓存
                if(now - this.cachTime >= ServerProperties.offLineCachTimeout){
                if(now - this.cachTime >= ServerProperties.offLineCacheTimeout){
                    //缓存超时
                    removeNodeFromCach = true ;
                }
@@ -73,8 +73,15 @@
        }
        Long lastSendStamp = tcpSe.lastDownComTime ;
        if(this.result.isQuickSend || lastSendStamp == null || (now - lastSendStamp >= ServerProperties.commandSendInterval)){
            //未收到命令结果,未达到最大发送次数,RTU在线,速发命令或超过命令下发间隔,以上满足发送命令条件,执行发送命令
        boolean nowSend = false ;
        if(this.result.isQuickSend || lastSendStamp == null || (this.result.isFastCom && now - lastSendStamp >= ServerProperties.fastCommandSendInterval)){
            //未收到命令结果,未达到最大发送次数,RTU在线,当前是速发命令,或者是快速命令超过命令下发间隔,以上满足发送命令条件,执行发送命令
            nowSend = true ;
        }else if(this.result.isQuickSend || lastSendStamp == null || (now - lastSendStamp >= ServerProperties.commandSendInterval)) {
            //未收到命令结果,未达到最大发送次数,RTU在线,当前是速发命令,或者是命令超过命令下发间隔,以上满足发送命令条件,执行发送命令
            nowSend = true ;
        }
        if(nowSend){
            tcpSe.ioSession.write(this.result.downBuffer) ;
            tcpSe.lastDownComTime = now ;
            if(!this.result.hasResponse){
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(mj÷½­).xml
@@ -12,9 +12,10 @@
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    fastCommandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发快速命令(如升级命令)的时间间隔(毫秒),此配置作用力受下面配置项lastUpDataTimeLive限制
    cacheWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCacheTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
@@ -30,8 +31,9 @@
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="3"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            fastCommandSendInterval="500"
            cacheWaitResultTimeout="120"
            offLineCacheTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(mqÃñÇÚ).xml
@@ -12,9 +12,10 @@
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    fastCommandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发快速命令(如升级命令)的时间间隔(毫秒),此配置作用力受下面配置项lastUpDataTimeLive限制
    cacheWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCacheTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
@@ -30,8 +31,9 @@
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="3"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            fastCommandSendInterval="500"
            cacheWaitResultTimeout="120"
            offLineCacheTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(spɳÅÌ).xml
@@ -12,9 +12,10 @@
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    fastCommandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发快速命令(如升级命令)的时间间隔(毫秒),此配置作用力受下面配置项lastUpDataTimeLive限制
    cacheWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCacheTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
@@ -30,8 +31,9 @@
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="3"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            fastCommandSendInterval="500"
            cacheWaitResultTimeout="120"
            offLineCacheTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test²âÊÔ).xml
@@ -12,9 +12,10 @@
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    fastCommandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发快速命令(如升级命令)的时间间隔(毫秒),此配置作用力受下面配置项lastUpDataTimeLive限制
    cacheWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCacheTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
@@ -30,8 +31,9 @@
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="3"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            fastCommandSendInterval="500"
            cacheWaitResultTimeout="120"
            offLineCacheTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ymԪı).xml
@@ -12,9 +12,10 @@
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    fastCommandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发快速命令(如升级命令)的时间间隔(毫秒),此配置作用力受下面配置项lastUpDataTimeLive限制
    cacheWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCacheTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
@@ -30,8 +31,9 @@
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="3"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            fastCommandSendInterval="500"
            cacheWaitResultTimeout="120"
            offLineCacheTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
@@ -12,9 +12,10 @@
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    fastCommandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发快速命令(如升级命令)的时间间隔(毫秒),此配置作用力受下面配置项lastUpDataTimeLive限制
    cacheWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCacheTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
@@ -30,8 +31,9 @@
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="3"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            fastCommandSendInterval="500"
            cacheWaitResultTimeout="120"
            offLineCacheTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"