liurunyu
2025-04-02 84864ae37ed1237da21bc36f01a641de4b01cfa8
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.dy.common.mw.protocol.p206V1;
 
public class CodeV1 {
    //功能码为字符串,十六进制数据
    public static final String cd_02 = "02" ;//遥测站链路检测     主动上报
    public static final String cd_10 = "10" ;//设置遥测站终端地址
    public static final String cd_11 = "11" ;//设置遥测站时钟(未实现)
    public static final String cd_12 = "12" ;//设置工作模式(未实现)
    public static final String cd_1F = "1F" ;//设置流量参数上限值(未实现)
    public static final String cd_21 = "21" ;//设置服务端IP和端口
    public static final String cd_36 = "36" ;//设置主信道IP和端口(无此命令)
    public static final String cd_37 = "37" ;//设置流量采集周期
    public static final String cd_38 = "38" ;//设置用户余额报警值
    public static final String cd_39 = "39" ;//设置电池电压报警值
    public static final String cd_3A = "3A" ;//设置阀门堵转电流
    public static final String cd_3B = "3B" ;//设置阀门超时时间
    public static final String cd_3C = "3C" ;//设置自报周期
    public static final String cd_3D = "3D" ;//设置阶梯水价(RTU未实现)
    public static final String cd_3E = "3E" ;//设置黑名单(未实现)
    public static final String cd_50 = "50" ;//查询遥测站终端地址
    public static final String cd_51 = "51" ;//查询时钟
    public static final String cd_52 = "52" ;//查询工作模式(未实现)
    public static final String cd_53 = "53" ;//查询自报种类及时间间隔(未实现)
    public static final String cd_5E = "5E" ;//查询终端状态和报警状态
    public static final String cd_65 = "65" ;//查询自报周期
    public static final String cd_66 = "66" ;//查询IP和端口
    public static final String cd_67 = "67" ;//查询流量采集周期
    public static final String cd_68 = "68" ;//查询用户余额报警值
    public static final String cd_69 = "69" ;//查询电池电压报警值
    public static final String cd_6A = "6A" ;//查询阀门堵转电流值
    public static final String cd_6B = "6B" ;//查询阀门超时时间
    public static final String cd_6D = "6D" ;//查询阶梯水价
    public static final String cd_81 = "81" ;//随机自报报     主动上报
    public static final String cd_83 = "83" ;//遥测站开关阀自报    主动上报
    public static final String cd_84 = "84" ;//开阀工作报    主动上报
    public static final String cd_91 = "91" ;//清空历史记录
    public static final String cd_92 = "92" ;//遥控启动阀门
    public static final String cd_93 = "93" ;//遥控关闭阀门
    public static final String cd_95 = "95" ;//复位终端参数和状态(未实现)
    public static final String cd_97 = "97" ;//APP远程开阀
    public static final String cd_98 = "98" ;//APP远程关阀
    public static final String cd_99 = "99" ;//定时关阀式开阀
    public static final String cd_A0 = "A0" ;//定量关阀式开阀
    public static final String cd_A1 = "A1" ;//定时关阀式计划开阀
    public static final String cd_A2 = "A2" ;//定量关阀式计划开阀
    public static final String cd_B0 = "B0" ;//查询实时数据(未实现)
    public static final String cd_C0 = "C0" ;//遥测站整点上报实时数据    主动上报
 
    public static final String cd_1600 = "1600" ;//升级复位
    public static final String cd_1601 = "1601" ;//升级配置
    public static final String cd_1602 = "1602" ;//升级数据
    public static final String cd_1603 = "1603" ;//升级校验
    public static final String cd_9601 = "9601" ;//升级配置
    public static final String cd_9602 = "9602" ;//升级数据
    public static final String cd_9603 = "9603" ;//升级校验
 
    public static String getCodeName(String code) {
        String name = (code.equals(cd_02) ? "链路检测" :
            (code.equals(cd_10) ? "设置终端地址" :
            (code.equals(cd_11) ? "设置终端时钟" :
            (code.equals(cd_12) ? "设置终端工作模式" :
            (code.equals(cd_1F) ? "设置流量参数上限值" :
            (code.equals(cd_21) ? "设置IP和端口" :
            (code.equals(cd_36) ? "设置IP和端口" :
            (code.equals(cd_37) ? "设置流量采集周期" :
            (code.equals(cd_38) ? "设置用户余额报警值" :
            (code.equals(cd_39) ? "设置电池电压报警值" :
            (code.equals(cd_3A) ? "设置阀门堵转电流" :
            (code.equals(cd_3B) ? "设置阀门超时时间" :
            (code.equals(cd_3C) ? "设置自报周期" :
            (code.equals(cd_3D) ? "设置水价" :
            (code.equals(cd_3E) ? "设置黑名单" :
            (code.equals(cd_50) ? "查询终端地址" :
            (code.equals(cd_51) ? "查询终端时钟" :
            (code.equals(cd_52) ? "查询终端工作模式" :
            (code.equals(cd_53) ? "查询自报种类及时间间隔" :
            (code.equals(cd_5E) ? "查询终端状态和报警状态" :
            (code.equals(cd_65) ? "查询自报周期" :
            (code.equals(cd_66) ? "查询IP和端口" :
            (code.equals(cd_67) ? "查询流量采集周期" :
            (code.equals(cd_68) ? "查询用户余额报警值" :
            (code.equals(cd_69) ? "查询电池电压报警值" :
            (code.equals(cd_6A) ? "查询阀门堵转电流值" :
            (code.equals(cd_6B) ? "查询阀门超时时间" :
            (code.equals(cd_6D) ? "查询水价" :
            (code.equals(cd_81) ? "随机自报" :
            (code.equals(cd_83) ? "开关阀自报" :
            (code.equals(cd_84) ? "开阀工作报" :
            (code.equals(cd_91) ? "清空历史记录" :
            (code.equals(cd_92) ? "遥控启动阀门" :
            (code.equals(cd_93) ? "遥控关闭阀门" :
            (code.equals(cd_95) ? "复位终端参数和状态" :
            (code.equals(cd_97) ? "APP远程开阀" :
            (code.equals(cd_98) ? "APP远程关阀" :
            (code.equals(cd_99) ? "定时关阀式开阀" :
            (code.equals(cd_A0) ? "定量关阀式开阀" :
            (code.equals(cd_A1) ? "定时关阀式计划开阀" :
            (code.equals(cd_A2) ? "定量关阀式计划开阀" :
            (code.equals(cd_B0) ? "查询实时数据" :
            (code.equals(cd_C0) ? "自报(整点)实时数据" :
            (code.equals(cd_1600) ? "升级复位" :
            (code.equals(cd_1601) ? "升级配置" :
            (code.equals(cd_1602) ? "升级数据" :
            (code.equals(cd_1603) ? "升级校验" :
            (code.equals(cd_9601) ? "升级配置" :
            (code.equals(cd_9602) ? "升级数据" :
            (code.equals(cd_9603) ? "升级校验" :
            "")))))))))))))))))))))))))))))))))))))))))))))))))) ;
        if(name == null || name.equals("")){
            name = code ;
        }
        return name ;
    }
 
 
    /**
     * 是否为有效功能码
     * @param code 功能码
     * @return 有效true,无效false
     */
    public static boolean isValid(String code){
        String name = getCodeName(code) ;
        if(name != null && !name.equals("")){
            return true ;
        }
        return false ;
    }
}