DELL
2024-05-21 b3c0ad2b00c503efaf2e8ef8ac930c8823c08324
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
package com.dev.simpower.dev;
 
import java.nio.ByteBuffer;
import java.util.Arrays;
 
import com.dev.bts.data.FBS9100_ComBase;
 
/**
 * ï®µç³ØBMS°üÐÅÏ¢
 * @author DELL
 *
 */
public class Power_LIBMSData {
    public static final int LOAD_COUNT = 8;
    
    public static final int MONCNT_COUNT = 16;
    
    public static final int REG_Count   = 90;        //¼Ä´æÆ÷ÊýÁ¿
    
    public int reserve1[] = new int[2];            //500    ±£Áô    
    public int mon_cout;                        //502    µ¥Ìåµç³ØÊýÁ¿    Ò»°ã¹Ì¶¨16
    public float mon_vol[] = new  float[16];    //503~518    µ¥Ìåµç³Øµçѹ    0.001V£¬1~16½Úµ¥Ìåµçѹ
    public int montemp_cout;                    //519    µçоζÈÊýÁ¿    Ò»°ã¹Ì¶¨4
    public float mon_temp[] = new  float[4];    //520~523    µçоζȠ   0.1¡æ£¬1~4¸öµçоζÈÊý¾Ý
    public float envir_temp;                    //524    »·¾³Î¶Ƞ   0.1¡æ
    public float mos_temp;                        //525    MOS¹ÜζȠ   0.1¡æ
    public float batt_curr;                        //526    µç³ØµçÁ÷    0.01A
    public float batt_totalvol;                    //527    µç³Ø×Üѹ    0.01V
    public float rest_cap;                        //528    Ê£ÓàÈÝÁ¿    0.01AH
    public float total_cap;                        //529    ×ÜÈÝÁ¿    0.01AH
    public int battcyclecount;                    //530    µç³ØÑ­»·´ÎÊý    
    public int reserve2;                        //531    ±£Áô    
    public int soc_state;                        //532    SOC    µç³ØºÉµç״̬
    public int soh_state;                        //533    SOH    µç³Ø½¡¿µ×´Ì¬
    public int[] reserve3 = new int[10];        //534~543    ±£Áô    
    public int mon_vol_alm[] = new int[16];        //544~559    µ¥Ìåµç³Øµçѹ¸æ¾¯×´Ì¬    1~16½Úµ¥Ìåµçѹ¸æ¾¯ (*¼û×¢ÊÍ1)
    public int mon_tmp_count;                    //560    µçоζÈÊýÁ¿    Ò»°ã¹Ì¶¨Îª4
    public int mon_tmp_alm[] = new int[4];        //561~564    µçоζȸ澯״̬    1~4¸öµçоζȸ澯(*¼û×¢ÊÍ1)
    public int reserve4[] = new int[25];        //565~589    ±£Áô
    
    
    public boolean putByteBuffer(ByteBuffer bbf_rx) {
        if(bbf_rx.limit() < REG_Count*2) {
            return false;
        }
        
        for(int k = 0;k<reserve1.length;k++) {
            this.reserve1[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //500    ±£Áô    
        }
        
        this.mon_cout = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //502    µ¥Ìåµç³ØÊýÁ¿    Ò»°ã¹Ì¶¨16
        for(int k = 0;k<mon_vol.length;k++) {
            this.mon_vol[k] = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;    //503~518    µ¥Ìåµç³Øµçѹ    0.001V£¬1~16½Úµ¥Ìåµçѹ
        }
        this.montemp_cout = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //519    µçоζÈÊýÁ¿    Ò»°ã¹Ì¶¨4
        for(int k = 0;k<mon_temp.length;k++) {
            this.mon_temp[k] = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;    //520~523    µçоζȠ   0.1¡æ£¬1~4¸öµçоζÈÊý¾Ý
            
        }
        this.envir_temp = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //524    »·¾³Î¶Ƞ   0.1¡æ
        this.mos_temp = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //525    MOS¹ÜζȠ   0.1¡æ
        this.batt_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100;            //526    µç³ØµçÁ÷    0.01A
        this.batt_totalvol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100;        //527    µç³Ø×Üѹ    0.01V
        this.rest_cap = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100;            //528    Ê£ÓàÈÝÁ¿    0.01AH
        this.total_cap = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100;            //529    ×ÜÈÝÁ¿    0.01AH
        this.battcyclecount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //530    µç³ØÑ­»·´ÎÊý    
        this.reserve2 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //531    ±£Áô    
        this.soc_state = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //532    SOC    µç³ØºÉµç״̬
        this.soh_state = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //533    SOH    µç³Ø½¡¿µ×´Ì¬
        for(int k =0;k<reserve3.length;k++) {
            reserve3[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //534~543    ±£Áô    
        }    
        for(int k = 0;k<mon_vol_alm.length;k++) {
            this.mon_vol_alm[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());        //544~559    µ¥Ìåµç³Øµçѹ¸æ¾¯×´Ì¬    1~16½Úµ¥Ìåµçѹ¸æ¾¯ (*¼û×¢ÊÍ1)
            
        }
        this.mon_tmp_count = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //560    µçоζÈÊýÁ¿    Ò»°ã¹Ì¶¨Îª4
        for(int k = 0;k<mon_tmp_alm.length;k++) {
            this.mon_tmp_alm[k]  = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());        //561~564    µçоζȸ澯״̬    1~4¸öµçоζȸ澯(*¼û×¢ÊÍ1)
        }
        
        for(int k = 0;k<reserve4.length;k++) {
            this.reserve4[k]  = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());        //565~589    ±£Áô
        }
        
        //System.out.println(this);
        return true;
    }
 
 
    @Override
    public String toString() {
        return "Power_LIBMSData [reserve1=" + Arrays.toString(reserve1) + ", mon_cout=" + mon_cout + ", mon_vol="
                + Arrays.toString(mon_vol) + ", montemp_cout=" + montemp_cout + ", mon_temp="
                + Arrays.toString(mon_temp) + ", envir_temp=" + envir_temp + ", mos_temp=" + mos_temp + ", batt_curr="
                + batt_curr + ", batt_totalvol=" + batt_totalvol + ", rest_cap=" + rest_cap + ", total_cap=" + total_cap
                + ", battcyclecount=" + battcyclecount + ", reserve2=" + reserve2 + ", soc_state=" + soc_state
                + ", soh_state=" + soh_state + ", reserve3=" + Arrays.toString(reserve3) + ", mon_vol_alm="
                + Arrays.toString(mon_vol_alm) + ", mon_tmp_count=" + mon_tmp_count + ", mon_tmp_alm="
                + Arrays.toString(mon_tmp_alm) + ", reserve4=" + Arrays.toString(reserve4) + "]";
    }
    
}