DELL
2024-05-31 989d45448bedd8dc8ae5b09c7ecbdfa2998df13d
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
83
84
85
86
87
88
89
90
package com.dev.simpower.dev;
 
import java.nio.ByteBuffer;
 
import com.dev.bts.data.FBS9100_ComBase;
 
/**
 * ÕûÁ÷Ä£¿éÐÅÏ¢
 * @author DELL
 *
 */
public class Power_MU_Rectifier {
    public static final int REG_Count   = 27;            //¼Ä´æÆ÷ÊýÁ¿
    
    //¸ù¾ÝЭÒéÖеĵãλ×î¶àÓÐ19¸öÕûÁ÷Ä£¿é
    public static final int MODEL_COUNT_MAX  = 19;
    
    public int model_count_effect;        //ÕûÁ÷Ä£¿éÓÐЧÊýÁ¿
    public int model_count_max;            //ÕûÁ÷Ä£¿é×î´óÊýÁ¿
    public float output_tatal_vol;        //ÕûÁ÷Ä£¿é×ÜÊä³öµçѹ
    public float output_tatal_curr;        //ÕûÁ÷Ä£¿é×ÜÊä³öµçÁ÷
    public int model_fault;                //ÕûÁ÷Ä£¿é¹ÊÕÏ
    public int model_protect;            //ÕûÁ÷Ä£¿é±£»¤
    public int model_commerr;            //ÕûÁ÷Ä£¿éͨÐÅÖжÏ
    
    public RectifierData[] rectifierDatas; 
    
    public Power_MU_Rectifier() {
        rectifierDatas = new RectifierData[MODEL_COUNT_MAX];
    }
    
    
    public class RectifierData{
        public static final int REG_Count_Model   = 10;            //¼Ä´æÆ÷ÊýÁ¿
        
        public float input_vol;            //ÊäÈëµçѹ
        public float input_curr;        //ÊäÈëµçÁ÷
        public float output_vol;        //Êä³öµçѹ
        public float output_curr;        //Êä³öµçÁ÷
        public float model_temp;        //Ä£¿éζÈ
        public int model_open;            //Ä£¿é¿ª¹Ø»ú״̬0-¿ª»ú  1-¹Ø»ú
        public int comm_err;            //ͨÐÅÖжϠ0-Õý³£   1-¹ÊÕÏ
        public int model_fault;            //¹ÊÕÏ
        public int model_protect;        //±£»¤
        public int back_up;                //Ô¤Áô
        
        public boolean putByteBuffer(ByteBuffer bbf_rx) {
            if(bbf_rx.remaining() < REG_Count_Model*2) {
                return false;
            }
            this.input_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //ÊäÈëµçѹ
            this.input_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //ÊäÈëµçÁ÷
            this.output_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100;        //Êä³öµçѹ
            this.output_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //Êä³öµçÁ÷
            this.model_temp = FBS9100_ComBase.changeSigleShortToFloat(bbf_rx.getShort())/10;        //Ä£¿éζÈ
            this.model_open = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //Ä£¿é¿ª¹Ø»ú״̬0-¿ª»ú  1-¹Ø»ú
            this.comm_err = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //ͨÐÅÖжϠ0-Õý³£   1-¹ÊÕÏ
            this.model_fault = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //¹ÊÕÏ
            this.model_protect = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());        //±£»¤
            this.back_up = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //Ô¤Áô
            
            return true;
        }
        
    }
 
 
    public boolean putByteBuffer(ByteBuffer bbf_rx) {
        if(bbf_rx.limit() < REG_Count*2) {
            return false;
        }
        bbf_rx.position(0);
        
        this.model_count_effect = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());        //ÕûÁ÷Ä£¿éÓÐЧÊýÁ¿
        this.model_count_max = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //ÕûÁ÷Ä£¿é×î´óÊýÁ¿
        this.output_tatal_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/100;        //ÕûÁ÷Ä£¿é×ÜÊä³öµçѹ
        this.output_tatal_curr = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //ÕûÁ÷Ä£¿é×ÜÊä³öµçÁ÷
        this.model_fault = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //ÕûÁ÷Ä£¿é¹ÊÕÏ
        this.model_protect = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //ÕûÁ÷Ä£¿é±£»¤
        this.model_commerr = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());            //ÕûÁ÷Ä£¿éͨÐÅÖжÏ
        
        for(int i = 0;i<model_count_effect && i<rectifierDatas.length;i++) {
            if(null == rectifierDatas[i]) {
                rectifierDatas[i] = new RectifierData();
            }
            rectifierDatas[i].putByteBuffer(bbf_rx);
        }        
        return true;
    }
}