DELL
2025-04-28 e6eb7fb0af366e370f125668d62e89eb0004f517
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.dev.ica_600kw;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;
 
import com.dev.bts.data.FBS9100_ComBase;
 
/**
 *     ²âÊÔ²ÎÊý
 * @author DELL
 *
 */
public class IAC_TestParam {
    
    public static final int ParamType_WT         = 0;    //ÎÈ̬²âÊÔ
    public static final int ParamType_Other     = 1;    //ÆäËû²âÊÔ
    
    public static final int REG_Count = 32;
    public static final int REG_Count_Set = 29;
    
    public boolean is_ReadParam = false;
 
    public int JiFangNum;                    //»ú·¿±àºÅ
    public int DeviceNum;                    //É豸±àºÅ[1-9999999]
    
    public int WTPowerCount;                //¹¦ÂʶÎÊý[1-10]
    public int VolLowLimit;                    //µçѹÏÂÏÞ[1-220V]
    public int[] Power1 = new int[10];        //¹¦ÂʶÎ[0-9999KVA]
    public float CurrHigh;                    //µçÁ÷ÉÏÏÞ£¨1-525A£©
    public float VolHigh;                    //µçѹÉÏÏÞ£¨1-255V£©
    public int[] TestTime = new int[10];    //²âÊÔʱ¼ä¶Î£¨0-5999min£©
    
    public float STDPower;                    //¶î¶¨¹¦ÂʸºÔØ(0-9999KW)
    public int TimeCount;                    //²âÊÔ¼ä¸ô(5-9999S)
    public int ZDPowerCount;                //¹¦ÂʶÎÊý(2-5)
    public int PowerPercent;                //¸ºÔØÂÊ(0-100%)
    public int ParamType;                    //ÉèÖòÎÊýÀàÐÍ 0-ÎÈ̬²âÊÔ  1-ÆäËû
    
    public boolean putByteBuffer(ByteBuffer bbf_rx) {
        
        if(bbf_rx.limit() < REG_Count*2) {
            return false;
        }
        bbf_rx.position(0);
        int s1 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
        int s2 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
        
        this.JiFangNum = s1 + s2*65536;
        //this.JiFangNum = bbf_rx.getInt();                    //»ú·¿±àºÅ
        this.DeviceNum = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //É豸±àºÅ[1-9999999]
        
        this.WTPowerCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //¹¦ÂʶÎÊý[1-10]
        this.VolLowLimit = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //µçѹÏÂÏÞ[1-220V]
        
        for(int k = 0;k<Power1.length ;k++) {
            Power1[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //¹¦ÂʶÎ[0-9999KVA]
        }
        
        this.CurrHigh = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                    //µçÁ÷ÉÏÏÞ£¨1-525A£©
        this.VolHigh = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                    //µçѹÉÏÏÞ£¨1-255V£©
        
        for(int k = 0;k<TestTime.length ;k++) {
            TestTime[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //²âÊÔʱ¼ä¶Î£¨0-5999min£©
        }
        
        this.STDPower = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                    //¶î¶¨¹¦ÂʸºÔØ(0-9999KW)
        
        this.TimeCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //²âÊÔ¼ä¸ô(5-9999S)
        this.ZDPowerCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //¹¦ÂʶÎÊý(2-5)
        this.PowerPercent = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //¸ºÔØÂÊ(0-100%)
        this.ParamType = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //ÉèÖòÎÊýÀàÐÍ 0-ÎÈ̬²âÊÔ  1-ÆäËû
    
        System.out.println(this);
        
        this.is_ReadParam = true;
        return true;
    }
    
    
    public ByteBuffer getByteBuffer() {
        ByteBuffer buffer = ByteBuffer.allocate(REG_Count_Set*2);
        buffer.order(ByteOrder.BIG_ENDIAN);
        buffer.position(0);
        
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.WTPowerCount));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.VolLowLimit));
        for(int k = 0;k<Power1.length;k++) {
            buffer.putShort(FBS9100_ComBase.changeIntToShort(this.Power1[k]));
        }
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.CurrHigh));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.VolHigh));
        
        for(int k = 0;k<TestTime.length ;k++) {
            buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.TestTime[k]));                    //²âÊÔʱ¼ä¶Î£¨0-5999min£©
        }
        
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.STDPower));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.TimeCount));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.ZDPowerCount));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.PowerPercent));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.ParamType));
        
        
        
        buffer.flip();
        return buffer;
    }
    
    
    public void clone(IAC_TestParam param) {
        if(null != param) {
            this.JiFangNum = param.JiFangNum;                    //»ú·¿±àºÅ
            this.DeviceNum = param.DeviceNum;                    //É豸±àºÅ[1-9999999]
            
            this.WTPowerCount = param.WTPowerCount;                //¹¦ÂʶÎÊý[1-10]
            this.VolLowLimit = param.VolLowLimit;                    //µçѹÏÂÏÞ[1-220V]
            
            for(int k = 0;k<Power1.length ;k++) {
                Power1[k] = param.Power1[k];                    //¹¦ÂʶÎ[0-9999KVA]
            }
            
            this.CurrHigh = param.CurrHigh;                    //µçÁ÷ÉÏÏÞ£¨1-525A£©
            this.VolHigh = param.VolHigh;                    //µçѹÉÏÏÞ£¨1-255V£©
            
            for(int k = 0;k<TestTime.length ;k++) {
                TestTime[k] = param.TestTime[k];                    //²âÊÔʱ¼ä¶Î£¨0-5999min£©
            }
            
            this.STDPower = param.STDPower;                    //¶î¶¨¹¦ÂʸºÔØ(0-9999KW)
            
            this.TimeCount = param.TimeCount;                    //²âÊÔ¼ä¸ô(5-9999S)
            this.ZDPowerCount = param.ZDPowerCount;                //¹¦ÂʶÎÊý(2-5)
            this.PowerPercent = param.PowerPercent;                //¸ºÔØÂÊ(0-100%)
            this.ParamType = param.ParamType;                    //ÉèÖòÎÊýÀàÐÍ 0-ÎÈ̬²âÊÔ  1-ÆäËû
        }
        
    }
 
 
    public boolean isIs_ReadParam() {
        return is_ReadParam;
    }
 
 
    public void setIs_ReadParam(boolean is_ReadParam) {
        this.is_ReadParam = is_ReadParam;
    }
 
 
    @Override
    public String toString() {
        return "IAC_TestParam [is_ReadParam=" + is_ReadParam + ", JiFangNum=" + JiFangNum + ", DeviceNum=" + DeviceNum
                + ", WTPowerCount=" + WTPowerCount + ", VolLowLimit=" + VolLowLimit + ", Power1="
                + Arrays.toString(Power1) + ", CurrHigh=" + CurrHigh + ", VolHigh=" + VolHigh + ", TestTime="
                + Arrays.toString(TestTime) + ", STDPower=" + STDPower + ", TimeCount=" + TimeCount + ", ZDPowerCount="
                + ZDPowerCount + ", PowerPercent=" + PowerPercent + ", ParamType=" + ParamType + "]";
    }
    
}