222
DELL
2024-10-30 9764dbb84e14efa922af7d487d15c8c4eabbbdcf
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
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) + "]";
    }
 
    
}