package com.dev.simpower.dev;
|
|
import java.nio.ByteBuffer;
|
|
import com.dev.bts.data.FBS9100_ComBase;
|
|
/**
|
* Ö±Á÷ÅäµçÐÅÏ¢
|
* @author DELL
|
*
|
*/
|
public class Power_MU_DCData {
|
public static final int REG_Count = 56; //¼Ä´æÆ÷ÊýÁ¿
|
|
public static final int MAX_LOAD_COUNT = 12;
|
|
public float dc_output_vol; //Ö±Á÷Êä³öµçѹ
|
public float load_total_curr; //¸ºÔØ×ܵçÁ÷
|
public float batt_total_curr; //µç³Ø×ܵçÁ÷
|
public float batt_rest_cap; //µç³Ø×éÊ£ÓàÈÝÁ¿
|
public float batt_temp; //µç³Ø×éζÈ
|
public float envir_temp1; //»·¾³Î¶È1
|
public float envir_temp2; //»·¾³Î¶È2
|
public float envir_humid; //»·¾³Êª¶È
|
public float load_total_power; //¸ºÔØ×ܹ¦ÂÊ
|
public float load_total_elect; //¸ºÔØ×ܵçÁ¿
|
public float load_curr[] = new float[MAX_LOAD_COUNT]; //¸ºÔØ1~12µçÁ÷
|
public int dc_vol_st; //Ö±Á÷µçѹ״̬
|
public int dc_thunder_st; //Ö±Á÷·ÀÀ×״̬
|
|
public int[] batt_fuse_st = new int[4]; //µç³Ø×éÈÛ˿״̬
|
public int load_fuse_st; //¸ºÔØÈÛ˿״̬
|
public int batt_poweroff_st; //µç³Ø×éϵç״̬
|
public int batt_temp_st; //µç³Ø×éζÈ״̬
|
public int envir_temp1_st; //»·¾³Î¶È1״̬
|
public int envir_temp2_st; //»·¾³Î¶È2״̬
|
public int envir_humid_st; //»·¾³Êª¶È״̬
|
public int door_sensor_st; //ÃÅ´Å״̬
|
public int water_st; //Ë®½þ״̬
|
public int smoke_st; //ÑÌÎí״̬
|
public int[] din_st = new int[6]; //DIN״̬
|
public int[] load_poweroff_st = new int[MAX_LOAD_COUNT]; //¸ºÔØ1~12ϵç״̬
|
|
public DCParam dcParam;
|
|
public class DCParam{
|
public static final int REG_Count = 20;
|
|
public float dc_overvol_coe; //Ö±Á÷¹ýѹ¸æ¾¯µã(0.01V)
|
public float dc_lessvol_coe; //Ö±Á÷Ƿѹ¸æ¾¯µã(0.01V)
|
public int batt_hightemp_coe; //µç³Ø¸ßθ澯µã1¡æ
|
public int batt_lowtemp_coe; //µç³ØµÍθ澯µã1¡æ
|
public int envir_hightemp_coe; //»·¾³¸ßθ澯µã1¡æ
|
public int envir_lowtemp_coe; //»·¾³µÍθ澯µã1¡æ
|
public int envir_highhumid_coe; //»·¾³¸ßʪ¸æ¾¯µã1%
|
public int envir_lowhumid_coe; //»·¾³µÍʪ¸æ¾¯µã1%
|
public float float_vol; //¸¡³äµçѹ(0.01V)
|
public float jun_vol; //¾ù³äµçѹ(0.01V)
|
public int batt_temp_coe; //µç³ØÎ¶Ȳ¹³¥ÏµÊý(1mV/¡æ)
|
public int batt_temp_core; //µç³ØÎ¶Ȳ¹³¥ÖÐÐĵã(1¡æ)
|
public float floattojun_coe; //¸¡³äת¾ù³äϵÊý(0.01C)
|
public float juntofloat_coe; //¾ù³äת¸¡³äϵÊý(0.01C)
|
public int batt_count; //µç³Ø×é×éÊý
|
public int batt_cap; //µ¥×éµç³ØÈÝÁ¿(1AH)
|
public float char_curr_limit; //µç³Ø³äµçÏÞÁ÷(0.01C)
|
public int load_poweroff_mode; //¸ºÔØÏµçģʽ 0-µçѹ 1-ʱ¼ä 2-µçÁ¿
|
public float batt_poweroff_vol; //µç³Ø×éϵçµçѹ(0.01V)
|
public float batt_poweron_vol; //µç³Ø×éÉϵçµçѹ(0.01V)
|
|
public boolean putDCParamByteBuffer(ByteBuffer bbf_rx) {
|
if(bbf_rx.limit() < REG_Count*2) {
|
return false;
|
}
|
bbf_rx.position(0);
|
|
this.dc_overvol_coe = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //Ö±Á÷¹ýѹ¸æ¾¯µã(0.01V)
|
this.dc_lessvol_coe = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //Ö±Á÷Ƿѹ¸æ¾¯µã(0.01V)
|
this.batt_hightemp_coe = FBS9100_ComBase.changeSigleShortToInt(bbf_rx.getShort()); //µç³Ø¸ßθ澯µã1¡æ
|
this.batt_lowtemp_coe = FBS9100_ComBase.changeSigleShortToInt(bbf_rx.getShort()); //µç³ØµÍθ澯µã1¡æ
|
this.envir_hightemp_coe = FBS9100_ComBase.changeSigleShortToInt(bbf_rx.getShort()); //»·¾³¸ßθ澯µã1¡æ
|
this.envir_lowtemp_coe = FBS9100_ComBase.changeSigleShortToInt(bbf_rx.getShort()); //»·¾³µÍθ澯µã1¡æ
|
this.envir_highhumid_coe = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //»·¾³¸ßʪ¸æ¾¯µã1%
|
this.envir_lowhumid_coe = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //»·¾³µÍʪ¸æ¾¯µã1%
|
this.float_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //¸¡³äµçѹ(0.01V)
|
this.jun_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //¾ù³äµçѹ(0.01V)
|
this.batt_temp_coe = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µç³ØÎ¶Ȳ¹³¥ÏµÊý(1mV/¡æ)
|
this.batt_temp_core = FBS9100_ComBase.changeSigleShortToInt(bbf_rx.getShort()); //µç³ØÎ¶Ȳ¹³¥ÖÐÐĵã(1¡æ)
|
this.floattojun_coe = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //¸¡³äת¾ù³äϵÊý(0.01C)
|
this.juntofloat_coe = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //¾ù³äת¸¡³äϵÊý(0.01C)
|
this.batt_count = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µç³Ø×é×éÊý
|
this.batt_cap = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µ¥×éµç³ØÈÝÁ¿(1AH)
|
this.char_curr_limit = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //µç³Ø³äµçÏÞÁ÷(0.01C)
|
this.load_poweroff_mode = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¸ºÔØÏµçģʽ 0-µçѹ 1-ʱ¼ä 2-µçÁ¿
|
this.batt_poweroff_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //µç³Ø×éϵçµçѹ(0.01V)
|
this.batt_poweron_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //µç³Ø×éÉϵçµçѹ(0.01V)
|
//sysgate_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
return true;
|
}
|
|
}
|
|
|
public Power_MU_DCData() {
|
this.dcParam = new DCParam();
|
}
|
|
public boolean putByteBuffer(ByteBuffer bbf_rx) {
|
if(bbf_rx.limit() < REG_Count*2) {
|
return false;
|
}
|
bbf_rx.position(0);
|
|
this.dc_output_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //Ö±Á÷Êä³öµçѹ
|
this.load_total_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //¸ºÔØ×ܵçÁ÷
|
this.batt_total_curr = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort())/10; //µç³Ø×ܵçÁ÷
|
this.batt_rest_cap = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //µç³Ø×éÊ£ÓàÈÝÁ¿
|
this.batt_temp = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort()); //µç³Ø×éζÈ
|
this.envir_temp1 = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort()); //»·¾³Î¶È1
|
this.envir_temp2 = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort()); //»·¾³Î¶È2
|
this.envir_humid = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort()); //»·¾³Êª¶È
|
this.load_total_power = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100; //¸ºÔØ×ܹ¦ÂÊ
|
|
int elect_high = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
int elect_low = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
this.load_total_elect = (elect_high<<16 + elect_low)&0xFFFFFFFF; //¸ºÔØ×ܵçÁ¿
|
|
for(int k =0;k<MAX_LOAD_COUNT;k++) {
|
this.load_curr[k] = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //¸ºÔØ1~12µçÁ÷
|
}
|
this.dc_vol_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //Ö±Á÷µçѹ״̬
|
this.dc_thunder_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //Ö±Á÷·ÀÀ×״̬
|
|
for(int k =0;k<batt_fuse_st.length;k++) {
|
batt_fuse_st[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µç³Ø×éÈÛ˿״̬
|
}
|
this.load_fuse_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¸ºÔØÈÛ˿״̬
|
this.batt_poweroff_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µç³Ø×éϵç״̬
|
this.batt_temp_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µç³Ø×éζÈ״̬
|
this.envir_temp1_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //»·¾³Î¶È1״̬
|
this.envir_temp2_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //»·¾³Î¶È2״̬
|
this.envir_humid_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //»·¾³Êª¶È״̬
|
this.door_sensor_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //ÃÅ´Å״̬
|
this.water_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //Ë®½þ״̬
|
this.smoke_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //ÑÌÎí״̬
|
|
for(int k =0;k<din_st.length;k++) {
|
din_st[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //DIN״̬
|
}
|
for(int k =0;k<load_poweroff_st.length;k++) {
|
load_poweroff_st[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¸ºÔØ1~12ϵç״̬
|
}
|
//sysgate_st = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
return true;
|
}
|
|
public boolean putDCParamByteBuffer(ByteBuffer bbf_rx) {
|
return dcParam.putDCParamByteBuffer(bbf_rx);
|
}
|
|
}
|