liurunyu
2025-02-25 5e31f7c1f3eaf5cfd3be0e5fc942aa78f3a4133c
修改下发缓存命令的等待逻辑,RTU上行数据后,使尽快发送下行命令。
2个文件已修改
7 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java
@@ -215,12 +215,13 @@
    }
    
    /**
     * 设置上行数据时刻
     * 当有上行数据时
     * @param rtuAddr
     */
    public static void cacheUpDataTime(String rtuAddr){
    public static void whenUpData(String rtuAddr){
        TcpSession tcpSe = map.get(rtuAddr) ;
        if(tcpSe != null){
            tcpSe.lastDownComTime = 0L ;//置0,使等待lastUpDataTimeLive(见config.xml配置文件)时长后,即刻下发缓存中的命令
            tcpSe.lastUpDataTime = System.currentTimeMillis() ;
            tcpSe.lastUpDataTimeForOnlineCtrl = System.currentTimeMillis() ;
        }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/tasks/RtuUpTask.java
@@ -104,7 +104,7 @@
                */
                //设置收到数据时刻
                TcpSessionCache.cacheUpDataTime(rtuAddr);
                TcpSessionCache.whenUpData(rtuAddr);
                if(protocolName != null){
                    //对上行数据进行处理