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
package com.dev.simpower.dev;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
 
import com.dev.bts.data.FBS9100_ComBase;
 
/**
 * µçÔ´¸æ¾¯²ÎÊý
 * @author DELL
 *
 */
public class Power_AlmParam {
    public static final int REG_Count         = 11;            //ϵͳ²ÎÊý¼Ä´æÆ÷ÊýÁ¿
    
    public float acin_vol_high;            //2400    ½»Á÷ÊäÈë¸ßãÐÖµ        0.1V
    public float acin_vol_low;            //2401    ½»Á÷ÊäÈëµÍãÐÖµ        0.1V
    public float groupvol_high;            //2402    ×é¶Ëµçѹ¸ßãÐÖµ        0.1V
    public float groupvol_low;            //2403    ×é¶ËµçѹµÍãÐÖµ        0.1V
    public float monvol_high;            //2404    µ¥Ìåµçѹ¸ßãÐÖµ        0.001V
    public float monvol_low;            //2405    µ¥ÌåµçѹµÍãÐÖµ        0.001V
    public float discurr_high;            //2406    ·ÅµçµçÁ÷´óãÐÖµ        A
    public float chrcurr_high;            //2407    ³äµçµçÁ÷´óãÐÖµ        A
    public float dcoutputcurr_high;        //2408    Ö±Á÷Êä³öµçÁ÷´óãÐÖµ    A
    public float dev_temp_high;            //2409    É豸ÄÚ²¿Î¶ȸßãÐÖµ    0.1¡æ
    public float dev_temp_low;            //2410    É豸ÄÚ²¿Î¶ȵÍãÐÖµ    0.1¡æ
    
    
    public boolean putByteBuffer(ByteBuffer bbf_rx) {
        if(bbf_rx.limit() < REG_Count*2) {
            return false;
        }
        bbf_rx.position(0);
        
        this.acin_vol_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //2400    ½»Á÷ÊäÈë¸ßãÐÖµ        0.1V
        this.acin_vol_low = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //2401    ½»Á÷ÊäÈëµÍãÐÖµ        0.1V
        this.groupvol_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //2402    ×é¶Ëµçѹ¸ßãÐÖµ        0.1V
        this.groupvol_low = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //2403    ×é¶ËµçѹµÍãÐÖµ        0.1V
        this.monvol_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;            //2404    µ¥Ìåµçѹ¸ßãÐÖµ        0.001V
        this.monvol_low = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;            //2405    µ¥ÌåµçѹµÍãÐÖµ        0.001V
        this.discurr_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                //2406    ·ÅµçµçÁ÷´óãÐÖµ        A
        this.chrcurr_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                //2407    ³äµçµçÁ÷´óãÐÖµ        A
        this.dcoutputcurr_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());            //2408    Ö±Á÷Êä³öµçÁ÷´óãÐÖµ    A
        this.dev_temp_high = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //2409    É豸ÄÚ²¿Î¶ȸßãÐÖµ    0.1¡æ
        this.dev_temp_low = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //2410    É豸ÄÚ²¿Î¶ȵÍãÐÖµ    0.1¡æ
        //System.out.println(this);
        return true;
    }
    
    public ByteBuffer getByteBuffer() {
        ByteBuffer buffer = ByteBuffer.allocate(REG_Count*2);
        buffer.order(ByteOrder.BIG_ENDIAN);
        buffer.position(0);
        
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.acin_vol_high*10));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.acin_vol_low*10));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.groupvol_high*10));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.groupvol_low*10));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.monvol_high*1000));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.monvol_low*1000));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.discurr_high));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.chrcurr_high));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.dcoutputcurr_high));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.dev_temp_high*10));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.dev_temp_low*10));
        
        buffer.flip();
        return buffer;
    }
    
}