zhubaomin
2024-10-22 ae844683ede273edad59085227e36ae3ce02de06
Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
1个文件已添加
30个文件已修改
733 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/ComResVo.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd10Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd21Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd36Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd37And67Vo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd38And68Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd39And69Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3AAnd6AVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3BAnd6BVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3CAnd65Vo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3DVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3EVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd51Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd5EVo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd66Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd6CVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd71Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd92Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd93Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd97Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd98Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd99Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA0Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA1Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA2Vo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global(test测试系统).yml 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global(ym元谋系统).yml 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-global/src/main/resources/application-global(开发测试---166PC机).yml 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test测试).xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ym元谋).xml 284 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/ComResVo.java
New file
@@ -0,0 +1,11 @@
package com.dy.common.mw.protocol.p206V1_0_0.upVos;
/**
 * @Author: liurunyu
 * @Date: 2024/10/21 16:29
 * @Description
 */
public interface ComResVo {
    public String comLog() ;
    public String comLog(String code) ;
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd10Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd10Vo {
public class DataCd10Vo implements ComResVo {
    public String newRtuAddr ;
    public String toString(){
@@ -30,4 +30,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd21Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd21Vo {
public class DataCd21Vo implements ComResVo {
    public String ip ;
    public Integer port ;
@@ -35,4 +35,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd36Vo.java
@@ -3,7 +3,7 @@
import lombok.Data;
@Data
public class DataCd36Vo {
public class DataCd36Vo implements ComResVo {
    public String ip ;//IP地址
    public Integer port ;//端口号
@@ -29,4 +29,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd37And67Vo.java
@@ -10,7 +10,7 @@
 * @Description
 */
@Data
public class DataCd37And67Vo {
public class DataCd37And67Vo implements ComResVo {
    public Integer second ;
    public String toString(){
@@ -22,6 +22,12 @@
        return sb.toString() ;
    }
    @Override
    public String comLog() {
        return null;
    }
    public String comLog(String code){
        StringBuilder sb = new StringBuilder() ;
        if(code.equals(CodeV1_0_1.cd_37)){
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd38And68Vo.java
@@ -10,7 +10,7 @@
 * @Description
 */
@Data
public class DataCd38And68Vo {
public class DataCd38And68Vo implements ComResVo {
    public Double remainMoneyAlarm ;
    public String toString(){
@@ -23,6 +23,11 @@
        return sb.toString() ;
    }
    @Override
    public String comLog() {
        return null;
    }
    public String comLog(String code){
        StringBuilder sb = new StringBuilder() ;
        if(code.equals(CodeV1_0_1.cd_38)){
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd39And69Vo.java
@@ -10,7 +10,7 @@
 * @Description
 */
@Data
public class DataCd39And69Vo {
public class DataCd39And69Vo implements ComResVo {
    public Double batteryVoltAlarm ;
    public String toString(){
@@ -24,6 +24,11 @@
    }
    @Override
    public String comLog() {
        return null;
    }
    public String comLog(String code){
        StringBuilder sb = new StringBuilder() ;
        if(code.equals(CodeV1_0_1.cd_39)){
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3AAnd6AVo.java
@@ -10,7 +10,7 @@
 * @Description
 */
@Data
public class DataCd3AAnd6AVo {
public class DataCd3AAnd6AVo implements ComResVo {
    public Double current ;
    public String toString(){
@@ -24,6 +24,11 @@
    }
    @Override
    public String comLog() {
        return null ;
    }
    public String comLog(String code){
        StringBuilder sb = new StringBuilder() ;
        if(code.equals(CodeV1_0_1.cd_3A)){
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3BAnd6BVo.java
@@ -10,7 +10,7 @@
 * @Description
 */
@Data
public class DataCd3BAnd6BVo {
public class DataCd3BAnd6BVo implements ComResVo {
    public Integer second ;
    public String toString(){
@@ -24,6 +24,11 @@
    }
    @Override
    public String comLog() {
        return null;
    }
    public String comLog(String code){
        StringBuilder sb = new StringBuilder() ;
        if(code.equals(CodeV1_0_1.cd_3B)){
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3CAnd65Vo.java
@@ -10,7 +10,7 @@
 * @Description
 */
@Data
public class DataCd3CAnd65Vo {
public class DataCd3CAnd65Vo implements ComResVo {
    public Integer minute ;
    public String toString(){
@@ -22,6 +22,12 @@
        return sb.toString() ;
    }
    @Override
    public String comLog() {
        return null;
    }
    public String comLog(String code){
        StringBuilder sb = new StringBuilder() ;
        if(code.equals(CodeV1_0_1.cd_3C)){
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3DVo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd3DVo {
public class DataCd3DVo implements ComResVo {
    public Double price ;
    public String toString(){
@@ -32,4 +32,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd3EVo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd3EVo {
public class DataCd3EVo  implements ComResVo {
    public String icCardNo ;
    public String toString(){
@@ -31,4 +31,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd51Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd51Vo {
public class DataCd51Vo implements ComResVo {
    public String rtuDt ;
    public String toString(){
@@ -32,4 +32,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd5EVo.java
@@ -1,6 +1,5 @@
package com.dy.common.mw.protocol.p206V1_0_0.upVos;
import com.dy.common.mw.protocol.p206V1_0_0.CommonV1_0_1;
import lombok.Data;
/**
@@ -10,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd5EVo {
public class DataCd5EVo implements ComResVo {
    public DataAlarmVo alarmVo ;
    public DataStateVo stateVo ;
@@ -41,4 +40,9 @@
        }
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd66Vo.java
@@ -3,7 +3,7 @@
import lombok.Data;
@Data
public class DataCd66Vo {
public class DataCd66Vo implements ComResVo {
    public String ip ;//IP地址
    public Integer port ;//端口号
@@ -30,4 +30,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd6CVo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd6CVo {
public class DataCd6CVo implements ComResVo {
    public Double price ;
    public String toString(){
@@ -30,4 +30,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd71Vo.java
@@ -3,7 +3,7 @@
import lombok.Data;
@Data
public class DataCd71Vo {
public class DataCd71Vo implements ComResVo {
    public Byte state ;//阀门状态码(0:阀门关闭状态;1:阀门打开状态)
    public String stateName ;
@@ -28,4 +28,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd92Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd92Vo {
public class DataCd92Vo implements ComResVo {
    public boolean success;
    public String toString(){
@@ -31,4 +31,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd93Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd93Vo {
public class DataCd93Vo implements ComResVo {
    public boolean success;
    public String toString(){
@@ -29,4 +29,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd97Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd97Vo {
public class DataCd97Vo implements ComResVo {
    public String cardNo ;//虚拟卡号
    public boolean success;
@@ -37,4 +37,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd98Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd98Vo {
public class DataCd98Vo implements ComResVo {
    public String cardNo ;//虚拟卡号
    public boolean success;
@@ -39,4 +39,9 @@
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCd99Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCd99Vo {
public class DataCd99Vo  implements ComResVo{
    public String cardNo ;//虚拟卡号
    public boolean success;
@@ -38,4 +38,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA0Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCdA0Vo {
public class DataCdA0Vo implements ComResVo {
    public String cardNo ;//虚拟卡号
    public boolean success;
@@ -38,4 +38,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA1Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCdA1Vo {
public class DataCdA1Vo implements ComResVo {
    public String cardNo ;//虚拟卡号
    public boolean success;
@@ -38,4 +38,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdA2Vo.java
@@ -9,7 +9,7 @@
 * @Description
 */
@Data
public class DataCdA2Vo {
public class DataCdA2Vo implements ComResVo {
    public String cardNo ;//虚拟卡号
    public boolean success;
@@ -38,4 +38,9 @@
        sb.append("\n");
        return sb.toString() ;
    }
    @Override
    public String comLog(String code) {
        return null;
    }
}
pipIrr-platform/pipIrr-global/src/main/resources/application-global(test²âÊÔϵͳ).yml
@@ -73,6 +73,8 @@
    global:
        dev: false  #是否开发阶段,true或false
        dsName: ym  #开发阶段,设置临时的数据库名称
    nginx:
        webPort: 54321
    mw:
        webPort: 8072
        actutorPort: 9072
@@ -129,45 +131,44 @@
        actutorPort: 9089
        idSuffix: 11
    file:
        idSuffix: 99
    file1:
        webPort: 8180
        actutorPort: 9180
    file2:
        webPort: 8181
        actutorPort: 9181
        webPort: 8180
        actutorPort: 9180
    file3:
        webPort: 8182
        actutorPort: 9182
        webPort: 8180
        actutorPort: 9180
    file4:
        webPort: 8183
        actutorPort: 9183
        webPort: 8180
        actutorPort: 9180
    file5:
        webPort: 8184
        actutorPort: 9184
        webPort: 8180
        actutorPort: 9180
    file6:
        webPort: 8185
        actutorPort: 9185
        webPort: 8180
        actutorPort: 9180
    file7:
        webPort: 8186
        actutorPort: 9186
        webPort: 8180
        actutorPort: 9180
    file8:
        webPort: 8187
        actutorPort: 9187
        webPort: 8180
        actutorPort: 9180
    file9:
        webPort: 8188
        actutorPort: 9188
        webPort: 8180
        actutorPort: 9180
    file10:
        webPort: 8189
        actutorPort: 9189
        webPort: 8180
        actutorPort: 9180
    file11:
        webPort: 8190
        actutorPort: 9190
        webPort: 8180
        actutorPort: 9180
    file12:
        webPort: 8191
        actutorPort: 9191
        webPort: 8180
        actutorPort: 9180
#web分布式文件系统
@@ -175,7 +176,7 @@
    photoZipWidth: 400 #缩略图尺寸
    webFile:
        fmUrl: http://127.0.0.1:${pipIrr.file1.webPort}/file # fm的web上下文 URL
        supportedFileTypes: docx,xlsx,doc,xls,pdf #支持的文档(非照片、录音、录像)文件类型
        supportedFileTypes: docx,xlsx,doc,xls,pdf #支持的文档(非媒体文件,如照片、录音、录像)文件类型
        sv1:
            id: dyFile1
            absolutePath: E:/java/nginx-1.24.0/html/webfiles/
@@ -285,7 +286,6 @@
            webUrl: http://127.0.0.1:${pipIrr.nginx.webPort}/webfiles/
            webDownloadPath: http://127.0.0.1:${pipIrr.file12.webPort}/file/download/down?id=
#项目编号
#projectCode:
#    ym: 100
@@ -301,7 +301,7 @@
    divisionCode: 120114403100
#通讯协议
#通讯中间件相关配置
#protocol: DYJS_2023,DYJS_2024
mw:
    #命令发送地址(中缀是机构tag,其也是数据源后缀名称)
@@ -329,6 +329,8 @@
        - /remote/comRes/receive
        - /wx/comRes/receive
        - /app/captcha/get
        - /file/file #web分布式文件系统
#自动统计配置,自动统计定时任务会每天定时进行
auto-statistics:
    startHour: 0 #开始小时 0
@@ -360,6 +362,7 @@
            secret: SEC6042bc964d08899a5853eb321eb5a4d842a395982777f815bd07451c879228b7
        at-all: true
        mobile: 18602657034
#阀控器参数
rtu:
    batteryVolt: 17
pipIrr-platform/pipIrr-global/src/main/resources/application-global(ymԪıϵͳ).yml
@@ -73,6 +73,8 @@
    global:
        dev: false  #是否开发阶段,true或false
        dsName: ym  #开发阶段,设置临时的数据库名称
    nginx:
        webPort: 54321
    mw:
        webPort: 8070
        actutorPort: 9070
@@ -129,45 +131,44 @@
        actutorPort: 9089
        idSuffix: 11
    file:
        idSuffix: 99
    file1:
        webPort: 8180
        actutorPort: 9180
    file2:
        webPort: 8181
        actutorPort: 9181
        webPort: 8180
        actutorPort: 9180
    file3:
        webPort: 8182
        actutorPort: 9182
        webPort: 8180
        actutorPort: 9180
    file4:
        webPort: 8183
        actutorPort: 9183
        webPort: 8180
        actutorPort: 9180
    file5:
        webPort: 8184
        actutorPort: 9184
        webPort: 8180
        actutorPort: 9180
    file6:
        webPort: 8185
        actutorPort: 9185
        webPort: 8180
        actutorPort: 9180
    file7:
        webPort: 8186
        actutorPort: 9186
        webPort: 8180
        actutorPort: 9180
    file8:
        webPort: 8187
        actutorPort: 9187
        webPort: 8180
        actutorPort: 9180
    file9:
        webPort: 8188
        actutorPort: 9188
        webPort: 8180
        actutorPort: 9180
    file10:
        webPort: 8189
        actutorPort: 9189
        webPort: 8180
        actutorPort: 9180
    file11:
        webPort: 8190
        actutorPort: 9190
        webPort: 8180
        actutorPort: 9180
    file12:
        webPort: 8191
        actutorPort: 9191
        webPort: 8180
        actutorPort: 9180
#web分布式文件系统
@@ -175,7 +176,7 @@
    photoZipWidth: 400 #缩略图尺寸
    webFile:
        fmUrl: http://127.0.0.1:${pipIrr.file1.webPort}/file # fm的web上下文 URL
        supportedFileTypes: docx,xlsx,doc,xls,pdf #支持的文档(非照片、录音、录像)文件类型
        supportedFileTypes: docx,xlsx,doc,xls,pdf #支持的文档(非媒体文件,如照片、录音、录像)文件类型
        sv1:
            id: dyFile1
            absolutePath: E:/java/nginx-1.24.0/html/webfiles/
@@ -285,7 +286,6 @@
            webUrl: http://127.0.0.1:${pipIrr.nginx.webPort}/webfiles/
            webDownloadPath: http://127.0.0.1:${pipIrr.file12.webPort}/file/download/down?id=
#项目编号
#projectCode:
#    ym: 100
@@ -301,7 +301,7 @@
    divisionCode: 120114403100
#通讯协议
#通讯中间件相关配置
#protocol: DYJS_2023,DYJS_2024
mw:
    #命令发送地址(中缀是机构tag,其也是数据源后缀名称)
@@ -329,6 +329,8 @@
        - /remote/comRes/receive
        - /wx/comRes/receive
        - /app/captcha/get
        - /file/file #web分布式文件系统
#自动统计配置,自动统计定时任务会每天定时进行
auto-statistics:
    startHour: 0 #开始小时 0
pipIrr-platform/pipIrr-global/src/main/resources/application-global(¿ª·¢²âÊÔ---166PC»ú).yml
@@ -73,6 +73,8 @@
    global:
        dev: true  #是否开发阶段,true或false
        dsName: ym  #开发阶段,设置临时的数据库名称
    nginx:
        webPort: 54321
    mw:
        webPort: 8070
        actutorPort: 9070
@@ -136,38 +138,38 @@
        webPort: 8180
        actutorPort: 9180
    file2:
        webPort: 8181
        actutorPort: 9181
        webPort: 8180
        actutorPort: 9180
    file3:
        webPort: 8182
        actutorPort: 9182
        webPort: 8180
        actutorPort: 9180
    file4:
        webPort: 8183
        actutorPort: 9183
        webPort: 8180
        actutorPort: 9180
    file5:
        webPort: 8184
        actutorPort: 9184
        webPort: 8180
        actutorPort: 9180
    file6:
        webPort: 8185
        actutorPort: 9185
        webPort: 8180
        actutorPort: 9180
    file7:
        webPort: 8186
        actutorPort: 9186
        webPort: 8180
        actutorPort: 9180
    file8:
        webPort: 8187
        actutorPort: 9187
        webPort: 8180
        actutorPort: 9180
    file9:
        webPort: 8188
        actutorPort: 9188
        webPort: 8180
        actutorPort: 9180
    file10:
        webPort: 8189
        actutorPort: 9189
        webPort: 8180
        actutorPort: 9180
    file11:
        webPort: 8190
        actutorPort: 9190
        webPort: 8180
        actutorPort: 9180
    file12:
        webPort: 8191
        actutorPort: 9191
        webPort: 8180
        actutorPort: 9180
#web分布式文件系统
@@ -175,7 +177,7 @@
    photoZipWidth: 400 #缩略图尺寸
    webFile:
        fmUrl: http://127.0.0.1:${pipIrr.file1.webPort}/file # fm的web上下文 URL
        supportedFileTypes: docx,xlsx,doc,xls,pdf #支持的文档(非照片、录音、录像)文件类型
        supportedFileTypes: docx,xlsx,doc,xls,pdf #支持的文档(非媒体文件,如照片、录音、录像)文件类型
        sv1:
            id: dyFile1
            absolutePath: E:/java/nginx-1.24.0/html/webfiles/
@@ -329,6 +331,8 @@
        - /remote/comRes/receive
        - /wx/comRes/receive
        - /app/captcha/get
        - /file/file #web分布式文件系统
#自动统计配置,自动统计定时任务会每天定时进行
auto-statistics:
    startHour: 0 #开始小时 0
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkRtuDealCommandResponse.java
@@ -53,96 +53,32 @@
    }
    public RmCommandHistory updateCommandLogPo(RmCommandHistory po, String code, DataV1_0_1 dV1_0_1, Object obj) throws Exception{
        po.setResult((byte)1);
        po.setResultTime(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt)) ;
        if(obj instanceof DataCd97Vo){
            DataCd97Vo vo = (DataCd97Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
            po.setResult(vo.success?(byte)1:(byte)0);
            po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code));
            log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code)));
        }else if(obj instanceof DataCd98Vo){
            DataCd98Vo vo = (DataCd98Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
            po.setResult(vo.success?(byte)1:(byte)0);
            po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code));
            log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code)));
        }else if(obj instanceof DataCd92Vo){
            DataCd92Vo vo = (DataCd92Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
            po.setResult(vo.success?(byte)1:(byte)0);
            po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code));
            log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code)));
        }else if(obj instanceof DataCd93Vo){
            DataCd93Vo vo = (DataCd93Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd3AAnd6AVo){
            DataCd3AAnd6AVo vo = (DataCd3AAnd6AVo)obj ;
            po.setResultText(vo.comLog(code));
            log.info("----------------------------------\n" + vo.comLog(code));
        }else if(obj instanceof DataCd3BAnd6BVo){
            DataCd3BAnd6BVo vo = (DataCd3BAnd6BVo)obj ;
            po.setResultText(vo.comLog(code));
            log.info("----------------------------------\n" + vo.comLog(code));
        }else if(obj instanceof DataCd3BAnd6BVo){
            DataCd3CAnd65Vo vo = (DataCd3CAnd65Vo)obj ;
            po.setResultText(vo.comLog(code));
            log.info("----------------------------------\n" + vo.comLog(code));
        }else if(obj instanceof DataCd3DVo){
            DataCd3DVo vo = (DataCd3DVo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd3EVo){
            DataCd3EVo vo = (DataCd3EVo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd5EVo){
            DataCd5EVo vo = (DataCd5EVo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd6CVo){
            DataCd6CVo vo = (DataCd6CVo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd10Vo){
            DataCd10Vo vo = (DataCd10Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd21Vo){
            DataCd21Vo vo = (DataCd21Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd36Vo){
            DataCd36Vo vo = (DataCd36Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd37And67Vo){
            DataCd37And67Vo vo = (DataCd37And67Vo)obj ;
            po.setResultText(vo.comLog(code));
            log.info("----------------------------------\n" + vo.comLog(code));
        }else if(obj instanceof DataCd38And68Vo){
            DataCd38And68Vo vo = (DataCd38And68Vo)obj ;
            po.setResultText(vo.comLog(code));
            log.info("----------------------------------\n" + vo.comLog(code));
        }else if(obj instanceof DataCd39And69Vo){
            DataCd39And69Vo vo = (DataCd39And69Vo)obj ;
            po.setResultText(vo.comLog(code));
            log.info("----------------------------------\n" + vo.comLog(code));
        }else if(obj instanceof DataCd51Vo){
            DataCd51Vo vo = (DataCd51Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd66Vo){
            DataCd66Vo vo = (DataCd66Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd71Vo){
            DataCd71Vo vo = (DataCd71Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCd99Vo){
            DataCd99Vo vo = (DataCd99Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
        }else if(obj instanceof DataCdA0Vo){
            DataCdA0Vo vo = (DataCdA0Vo)obj ;
            po.setResultText(vo.comLog());
            log.info("----------------------------------\n" + vo.comLog());
            po.setResult(vo.success?(byte)1:(byte)0);
            po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code));
            log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code)));
        }else if(obj instanceof ComResVo){
            ComResVo vo = (ComResVo)obj ;
            po.setResult((byte)1);
            po.setResultText(vo.comLog()!=null?vo.comLog():vo.comLog(code));
            log.info("----------------------------------\n" + (vo.comLog()!=null?vo.comLog():vo.comLog(code)));
        }
        return po ;
    }
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test²âÊÔ).xml
@@ -20,7 +20,7 @@
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
    disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
    workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
    intakeAlarmLossMinValue: è§¦å‘发送钉钉报警消息的取水口日漏损量的最小值(包括)
    intakeAlarmLossMinValue: è§¦å‘发送钉钉报警消息的取水口日漏损量的最小值(包括但除0.0外)(小数)
    sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
     -->
    <base
@@ -38,7 +38,7 @@
        cacheUpDownDataMaxCount="110000"
        disconnectedByNoUpDataMinutes="3"
        workReportDealOneByTimes="5"
        intakeAlarmLossMinValue="1"
        intakeAlarmLossMinValue="1.0"
        sendDingDingAlarmMsInterval="60"
    />
@@ -56,7 +56,7 @@
    <!-- 2024-10-08 æ­¤é…ç½®æš‚时未应用
    è½¯ä»¶å‡çº§ -->
     è½¯ä»¶å‡çº§ -->
    <updateRtuSoft enable="true">
        <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
            <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
@@ -97,14 +97,14 @@
    <!--
    èµ„源模块
    rtuLogDir:RTU日志文件存储目录(相对目录)
    rtuLogFileMaxSize:RTU日志文件最大字节数(KB)
    rtuLogFileMaxSize:RTU日志文件最大字节数(B)
    rtuLogFileMaxCount:RTU日志文件最大文件数
    monitorInterval:Rtu状态监视间隔(分钟)
    saveDbInterval:Rtu状态存数据库间隔(分钟)
     -->
    <resource
        rtuLogDir="rtuLogs/"
        rtuLogFileMaxSize="1000"
        rtuLogFileMaxSize="100000"
        rtuLogFileMaxCount="2"
        monitorInterval="2"
        saveDbInterval="10"
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ymԪı).xml
@@ -1,148 +1,148 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
        <server name="通信中间件" showStartInfo="true" company="http://www.dyjs.com"/>
        <!--
        åŸºæœ¬é…ç½®
        orgTag æœºæž„tag(对应机构tag,和数据源后缀)
        isLowPower: æ˜¯å¦ä¸ºä½ŽåŠŸè€—
        onlyDealRtus:只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,
        onlyOneProtocol:在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
                         å¦‚æžœRTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
                         å½“只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
        onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
        downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
        commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
        cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
        offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
        lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
        dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
        cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
        cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
        disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
        workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
        intakeAlarmLossMinValue: è§¦å‘发送钉钉报警消息的取水口日漏损量的最小值(包括)
        sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
         -->
        <base
            orgTag="ym"
            isLowPower="false"
            onlyDealRtus=""
            onlyOneProtocol="false"
            downComandMaxResendTimes="1"
            commandSendInterval="2"
            cachWaitResultTimeout="120"
            offLineCachTimeout="86400"
            lastUpDataTimeLive="500"
            dbDataIdSuffix="0"
            cacheUpDownDataWarnCount="100000"
            cacheUpDownDataMaxCount="110000"
            disconnectedByNoUpDataMinutes="3"
            workReportDealOneByTimes="5"
            intakeAlarmLossMinValue="1"
            sendDingDingAlarmMsInterval="60"
        />
        <!--
        2024-08-22 æ­¤é…ç½®æš‚时未应用
        centerAddr: ä¸­å¿ƒåœ°å€ï¼Œå½“前,centerAddr未用到
        synchroRtuClock: æ˜¯å¦å¯¹RTU校时
        synchroRtuClockTimepieces:当RTU与服务器时钟相差一定毫秒(配置文件是秒钟)后,进行校时
         -->
        <protocol
            centerAddr="1"
            synchroRtuClock="true"
            synchroRtuClockTimepieces="300000"
        />
    <server name="通信中间件" showStartInfo="true" company="http://www.dyjs.com"/>
    <!--
    åŸºæœ¬é…ç½®
    orgTag æœºæž„tag(对应机构tag,和数据源后缀)
    isLowPower: æ˜¯å¦ä¸ºä½ŽåŠŸè€—
    onlyDealRtus:只处理指定RTU地址设备,其他设备数据丢弃,多个RTU地址用英文逗号隔开,
    onlyOneProtocol:在支持多通信协议时,只有RTU上线了,才能识别出该RTU实际用的通信协议,进而用此协议解析上行数据及构造下行命令。
                     å¦‚æžœRTU未曾上线(通信中间件启动后该RTU未曾上线),那么在向它发送下行命令时,不能判断出其采用的协议,也不能构造命令,尤其是低功耗情况下,不上线是正常现象。
                     å½“只有一个协议情况下,在RTU未曾上线时,也能用此协议构造命令并缓存下来,尤其适合低功耗情况。
    onlyOneProtocol=true: é€šä¿¡ä¸­é—´ä»¶å½“前只有一个协议
    downComandMaxResendTimes: ä¸‹è¡Œå‘½ä»¤å…è®¸å‘送的最大次数X,即允许重发X-1
    commandSendInterval: é’ˆå¯¹ä¸€ä¸ªRTU,下发命令的时间间隔(秒)
    cachWaitResultTimeout: å‘½ä»¤å·²ç»å‘送达最大次数,仍未收到命令结果,需要在缓存继续等待,其等待最大时长(秒),本系统RTU,对于开关泵命令,其先执行开关泵报,然后再进行命令应答,所以此值 è¦å¤§ä¸€äº›
    offLineCachTimeout: ä¸åœ¨çº¿ç¼“存的命令最大缓存时长(秒)
    lastUpDataTimeLive: TCP上行数据时刻缓存时长(毫秒),当达到时长时,TCP上行数据时刻被清空,采用TCP上行数据时刻目的是,阻止上行数据同时下发数据,因为RTU处理不过来(经初次实验,1秒还是有问题,2秒无问题)
    dbDataIdSuffix:数据库数据id生成器的id后缀,0是默认的后缀,一般web系统应用,数据中间件id后缀大于等于1
    cacheUpDownDataWarnCount:上下行数据缓存队列中缓存数据个数的报警量,这个与现实项目所接水表数相关
    cacheUpDownDataMaxCount:上下行数据缓存队列中缓存数据个数的最大值,这个与现实项目所接水表数相关
    disconnectedByNoUpDataMinutes:没有上行数据的分钟数,达到这个分钟数,认为RTU断网了,取值范围是2-100
    workReportDealOneByTimes: å·¥ä½œæŠ¥å¤ªé¢‘繁,N次上报处理1次,取值范围是1-100
    intakeAlarmLossMinValue: è§¦å‘发送钉钉报警消息的取水口日漏损量的最小值(包括但除0.0外)(小数)
    sendDingDingAlarmMsInterval: æœ‰æŠ¥è­¦å‘生时,向钉钉发送消息的间隔时长(分钟)
     -->
    <base
        orgTag="ym"
        isLowPower="false"
        onlyDealRtus=""
        onlyOneProtocol="false"
        downComandMaxResendTimes="1"
        commandSendInterval="2"
        cachWaitResultTimeout="120"
        offLineCachTimeout="86400"
        lastUpDataTimeLive="500"
        dbDataIdSuffix="0"
        cacheUpDownDataWarnCount="100000"
        cacheUpDownDataMaxCount="110000"
        disconnectedByNoUpDataMinutes="3"
        workReportDealOneByTimes="5"
        intakeAlarmLossMinValue="1.0"
        sendDingDingAlarmMsInterval="60"
    />
        <!-- 2024-10-08 æ­¤é…ç½®æš‚时未应用
         è½¯ä»¶å‡çº§ -->
        <updateRtuSoft enable="true">
            <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
                <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
            </soft1>
            <!--
            <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" >
                <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion>
            </soft2>
             -->
        </updateRtuSoft>
        <!--
        æ”¯æŒæ¨¡å—
        çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
        short_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制 ï¼Œè®¾ç½®ä¸º0,表示不启动线程池
        short_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
        short_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程,为了不清除,把minThread与maxThread设置相等
        short_busyTimeout:线程不间断工作时长(单位为秒)超时限,认为线程已经了崩溃,将强制清除,短工作时长设置为5秒
        é•¿å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒé•¿çš„工作任务,例如数据库存取操作
        long_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制,设置为0,表示不启动线程池
        long_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
        long_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程
        long_busyTimeout:线程不间断工作时长(单位为秒)超时限,若为-1,不受限制
        enableThreadPool:是否启用线程池
         -->
        <support
            short_maxThread="6"
            short_minThread="6"
            short_freeTimeout="60"
            short_busyTimeout="5"
            long_maxThread="6"
            long_minThread="6"
            long_freeTimeout="60"
            long_busyTimeout="-1"
            enableThreadPool="true"
        />
        <!--
        èµ„源模块
        rtuLogDir:RTU日志文件存储目录(相对目录)
        rtuLogFileMaxSize:RTU日志文件最大字节数(B)
        rtuLogFileMaxCount:RTU日志文件最大文件数
        monitorInterval:Rtu状态监视间隔(分钟)
        saveDbInterval:Rtu状态存数据库间隔(分钟)
         -->
        <resource
            rtuLogDir="rtuLogs/"
            rtuLogFileMaxSize="100000"
            rtuLogFileMaxCount="2"
            monitorInterval="2"
            saveDbInterval="10"
        />
    <!--
    2024-08-22 æ­¤é…ç½®æš‚时未应用
    centerAddr: ä¸­å¿ƒåœ°å€ï¼Œå½“前,centerAddr未用到
    synchroRtuClock: æ˜¯å¦å¯¹RTU校时
    synchroRtuClockTimepieces:当RTU与服务器时钟相差一定毫秒(配置文件是秒钟)后,进行校时
     -->
    <protocol
        centerAddr="1"
        synchroRtuClock="true"
        synchroRtuClockTimepieces="300000"
    />
    <!-- 2024-10-08 æ­¤é…ç½®æš‚时未应用
     è½¯ä»¶å‡çº§ -->
    <updateRtuSoft enable="true">
        <soft1 enable="true" oldVersionName="meter_v2_0,meter_v1_0" >
            <newVersion newVersionName="meter_v3_0" file="rtuSoft/meter_v3_0.txt"></newVersion>
        </soft1>
        <!--
        2024-08-22 æ­¤é…ç½®æš‚时未应用
        port:rmi服务端口号
        context:rmi服务上下文
         -->
        <rmi enable="true"
            port="65400"
            context="rtuMw"
        />
        <!--
        sleepBigBusy:主线程大忙时每次执行间隔时长(毫秒)
        sleepSmallBusy:主线程小忙时每次执行间隔时长(毫秒)
        queueWarnSize: ç¼“存队列节点数警告数量
        queueMaxSize: ç¼“存队列节点数最大数量
         -->
        <core
            sleepBigBusy="100"
            sleepSmallBusy="500"
            queueWarnSize="100000"
            queueMaxSize="300000"
        />
        <!--
        port:端口
        processors: Mina IO å¤„理上下行数据的线程数,一般是CPU总核数+1
        idle: å‘呆时长(秒)
         -->
        <tcp enable="true"
            port="60000"
            processors="3"
            idle="10"
        />
        <soft2 enable="false" oldVersionName="rtu_v1_0,rtu_v2_0,rtu_v3_0" >
            <newVersion newVersionName="rtu_v4_0" file="rtuSoft/rtu_v4_0.txt"></newVersion>
        </soft2>
         -->
    </updateRtuSoft>
    <!--
    æ”¯æŒæ¨¡å—
    çŸ­å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒçŸ­çš„工作任务
    short_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制 ï¼Œè®¾ç½®ä¸º0,表示不启动线程池
    short_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
    short_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程,为了不清除,把minThread与maxThread设置相等
    short_busyTimeout:线程不间断工作时长(单位为秒)超时限,认为线程已经了崩溃,将强制清除,短工作时长设置为5秒
    é•¿å·¥ä½œæ—¶é•¿çº¿ç¨‹æ± ï¼Œçº¿ç¨‹è´Ÿè´£ç”¨æ—¶è¾ƒé•¿çš„工作任务,例如数据库存取操作
    long_maxThread: æ± ä¸­æœ€å¤§çº¿ç¨‹æ•°ä¸ºæ‰€æœ‰CPU核数+1(short池与long池各分一半),若为-1,不受限制,设置为0,表示不启动线程池
    long_minThread: æ± ä¸­æœ€å°çº¿ç¨‹æ•°ï¼Œè‹¥ä¸º-1,不受限制,设置为0,表示不启动线程池
    long_freeTimeout: çº¿ç¨‹æ•°ç©ºé—²æ—¶é•¿ï¼Œè‹¥æ± ä¸­çº¿ç¨‹æ•°é‡å¤§äºŽminThread,且有的线程空闲时长超过freeTimeout,则清除该线程
    long_busyTimeout:线程不间断工作时长(单位为秒)超时限,若为-1,不受限制
    enableThreadPool:是否启用线程池
     -->
    <support
        short_maxThread="6"
        short_minThread="6"
        short_freeTimeout="60"
        short_busyTimeout="5"
        long_maxThread="6"
        long_minThread="6"
        long_freeTimeout="60"
        long_busyTimeout="-1"
        enableThreadPool="true"
    />
    <!--
    èµ„源模块
    rtuLogDir:RTU日志文件存储目录(相对目录)
    rtuLogFileMaxSize:RTU日志文件最大字节数(B)
    rtuLogFileMaxCount:RTU日志文件最大文件数
    monitorInterval:Rtu状态监视间隔(分钟)
    saveDbInterval:Rtu状态存数据库间隔(分钟)
     -->
    <resource
        rtuLogDir="rtuLogs/"
        rtuLogFileMaxSize="100000"
        rtuLogFileMaxCount="2"
        monitorInterval="2"
        saveDbInterval="10"
    />
    <!--
    2024-08-22 æ­¤é…ç½®æš‚时未应用
    port:rmi服务端口号
    context:rmi服务上下文
     -->
    <rmi enable="true"
         port="65400"
         context="rtuMw"
    />
    <!--
    sleepBigBusy:主线程大忙时每次执行间隔时长(毫秒)
    sleepSmallBusy:主线程小忙时每次执行间隔时长(毫秒)
    queueWarnSize: ç¼“存队列节点数警告数量
    queueMaxSize: ç¼“存队列节点数最大数量
     -->
    <core
        sleepBigBusy="100"
        sleepSmallBusy="500"
        queueWarnSize="100000"
        queueMaxSize="300000"
    />
    <!--
    port:端口
    processors: Mina IO å¤„理上下行数据的线程数,一般是CPU总核数+1
    idle: å‘呆时长(秒)
     -->
    <tcp enable="true"
         port="60000"
         processors="3"
         idle="10"
    />
</config>