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) + "]";
|
}
|
|
}
|