package com.dev.simpower.dev;
|
|
import java.nio.ByteBuffer;
|
import java.util.Arrays;
|
|
import com.dev.bts.data.FBS9100_ComBase;
|
|
public class Power_ACData {
|
public static final int LOAD_COUNT = 8;
|
|
//public static final int REG_Count = 17; //¼Ä´æÆ÷ÊýÁ¿
|
public static final int REG_Count = 36; //¼Ä´æÆ÷ÊýÁ¿
|
|
public float acin_vol; //½»Á÷ÊäÈëµçѹ 0.1V
|
public float acin_curr; //½»Á÷ÊäÈëµçÁ÷ 0.1A
|
public float acin_power; //½»Á÷ÊäÈ빦ÂÊ 0.1W
|
public float group_vol; //×é¶Ëµçѹ 0.1V
|
public float batt_curr; //µç³ØµçÁ÷ 0.1A£¬ÓзûºÅÊý£¬¡°+¡±´ú±í³äµç£¬¡°-¡±´ú±í·Åµç
|
public float total_curr; //¸ººÉ×ܵçÁ÷ 0.1A
|
public float[] load_curr; //·Ö·µçÁ÷1~8 ·Ö·²âÁ¿µÄµçÁ÷£¬1~8·£¬0.1A
|
public float dev_temp; //É豸Ö÷°åÎÂ¶È 0.1¡æ£¬ÓзûºÅÊý
|
public float envir_temp; //»·¾³ÎÂ¶È 0.1¡æ£¬ÓзûºÅÊý
|
public float envir_humid; //»·¾³Êª¶È 0.1%RH
|
public float[] load_kwh; //·Ö·¼ÆÁ¿µçÁ¿1 0.1KWH£¬2¸ö¼Ä´æÆ÷
|
|
public int[] dev_version; //É豸°æ±¾ºÅ
|
|
public Power_ACData() {
|
load_curr = new float[LOAD_COUNT];
|
|
load_kwh = new float[LOAD_COUNT];
|
|
dev_version = new int[3];
|
}
|
|
public boolean putByteBuffer(ByteBuffer bbf_rx) {
|
if(bbf_rx.limit() < REG_Count*2) {
|
System.out.println("bbf_rx.limit()"+bbf_rx.limit());
|
return false;
|
}
|
|
this.acin_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //½»Á÷ÊäÈëµçѹ 0.1V
|
this.acin_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //½»Á÷ÊäÈëµçÁ÷ 0.1A
|
this.acin_power = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //½»Á÷ÊäÈ빦ÂÊ 0.1W
|
this.group_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //×é¶Ëµçѹ 0.1V
|
this.batt_curr = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort())/10; //µç³ØµçÁ÷ 0.1A£¬ÓзûºÅÊý£¬¡°+¡±´ú±í³äµç£¬¡°-¡±´ú±í·Åµç
|
this.total_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //¸ººÉ×ܵçÁ÷ 0.1A
|
for(int i = 0;i< load_curr.length;i++) {
|
load_curr[i] = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //·Ö·µçÁ÷1~8 ·Ö·²âÁ¿µÄµçÁ÷£¬1~8·£¬0.1A
|
}
|
this.dev_temp = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort())/10; //É豸Ö÷°åÎÂ¶È 0.1¡æ£¬ÓзûºÅÊý
|
this.envir_temp = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort())/10; //»·¾³ÎÂ¶È 0.1¡æ£¬ÓзûºÅÊý
|
this.envir_humid = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //»·¾³Êª¶È 0.1%RH
|
|
for(int k = 0;k<load_kwh.length;k++) {
|
float aa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());
|
float dd = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())*65536;
|
|
//int aa = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
//int dd = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort())<<16&0xFFFFFFFF;
|
load_kwh[k] = (aa+dd)/10; //·Ö·1-8¼ÆÁ¿µçÁ¿1 0.1KWH£¬2¸ö¼Ä´æÆ÷
|
}
|
//System.err.println(" position: " + bbf_rx.position());
|
for(int k = 0;k<dev_version.length;k++) {
|
dev_version[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //É豸°æ±¾ºÅ VXX.XX.XX
|
}
|
|
//System.err.println(this);
|
return true;
|
}
|
|
@Override
|
public String toString() {
|
return "Power_ACData [acin_vol=" + acin_vol + ", acin_curr=" + acin_curr + ", acin_power=" + acin_power
|
+ ", group_vol=" + group_vol + ", batt_curr=" + batt_curr + ", total_curr=" + total_curr
|
+ ", load_curr=" + Arrays.toString(load_curr) + ", dev_temp=" + dev_temp + ", envir_temp=" + envir_temp
|
+ ", envir_humid=" + envir_humid + ", load_kwh=" + Arrays.toString(load_kwh) + ", dev_version="
|
+ Arrays.toString(dev_version) + "]";
|
}
|
|
|
}
|