定制版本逆变电源通讯程序[增加干节点状态读取和母联开关状态读取以及防雷显示]
V10.645 edit at date 2022-03-03 lijun
1.修复远程升级BTS只能远程升级加密版本BTSbug
2.平台可以通过版本号区分当前BTS是否为加密协议版本BTS
4个文件已修改
5个文件已添加
120 ■■■■ 已修改文件
BattMonitor_FBS9100S_Inverter/bin/aopalliance-1.0.jar 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/bin/c3p0-0.9.5.jar 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/bin/c3p0-oracle-thin-extras-0.9.5.jar 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/bin/c3p0.properties 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/config.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/comm/FBS9100S_SocketClient2.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/data/FBS9100S_QHZZ_FZCD_State.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/data/FBS9100_ComBase.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/data/FBS9100_ParamDischarge.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BattMonitor_FBS9100S_Inverter/bin/aopalliance-1.0.jar
Binary files differ
BattMonitor_FBS9100S_Inverter/bin/c3p0-0.9.5.jar
Binary files differ
BattMonitor_FBS9100S_Inverter/bin/c3p0-oracle-thin-extras-0.9.5.jar
Binary files differ
BattMonitor_FBS9100S_Inverter/bin/c3p0.properties
BattMonitor_FBS9100S_Inverter/config.xml
@@ -2,7 +2,7 @@
<root>
  <mysql_ramdb_recreate_en>false</mysql_ramdb_recreate_en>
  <mysql_server_ip>127.0.0.1</mysql_server_ip>
  <mysql_server_ip>192.168.10.79</mysql_server_ip>
  <!--SOURCE_BATTDATA_TYPE_FBSDEV = 0-->
  <!--SOURCE_BATTDATA_TYPE_SQLSERVER = 1-->
  <!--SOURCE_BATTDATA_TYPE_C_INTERFACE = 2-->
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/comm/FBS9100S_SocketClient2.java
@@ -213,7 +213,7 @@
                            //当前设备协议加密类型true:加密;false:不加密
                            logger.debug("dev_id:"+m_StatAndParam.dev_id+" Dev Encryp Type ------>" + this.DevFBS9100_Encry_en);
                            logger.debug("dev_id:"+m_StatAndParam.dev_id+" Dev Type ------>" + this.m_BTSDevSoftType);
                            m_BTSDevSoftType = FBS9100_ComBase.BTSE_DevType_NiBian;
                            if(m_Data.getItem(i).getDevRegCode().length() > 8) {
                                if(m_StatAndParam.dev_reg_code.equals(m_Data.getItem(i).getDevRegCode())) {
                                    reg_in_st = true;
@@ -816,7 +816,7 @@
                    }else {
                        cipher_tx_t = plain_tx_t;
                    }
                    //System.out.println("发送数据:"+ComFn.bytesToHexString(plain_tx_t, plain_tx_t.length));
                    System.out.println("发送数据:"+ComFn.bytesToHexString(plain_tx_t, plain_tx_t.length));
                }
                
                //=====================================================================//
@@ -887,7 +887,7 @@
                    }else {
                        plain_buf = cipher_buf;
                    }
                    //System.out.println("接收数据:"+ComFn.bytesToHexString(plain_buf,plain_buf.length));
                    System.out.println("接收数据:"+ComFn.bytesToHexString(plain_buf,plain_buf.length));
                    if((cipher_buf.length > 8) && (true == getDataFromCommBuf(plain_buf))) {
                        m_StatAndParam.m_SysState.setCommCountInc();
                        rx_errcount_for_live_of_thread = 0;
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/data/FBS9100S_QHZZ_FZCD_State.java
New file
@@ -0,0 +1,47 @@
package com.dev.btse.data;
import java.nio.ByteBuffer;
/**
 *
 * @author LiJun
 *
 */
public class FBS9100S_QHZZ_FZCD_State {
    public final int BYTELEN = 34;
    public int[] posState;                //正极接触器状态    0:通信异常;1:正常;2:异常
    public int[] negState;                //负极接触器状态    0:通信异常;1:正常;2:异常
    public int CRC;
    public FBS9100S_QHZZ_FZCD_State() {
        posState = new int[FBS9100_ComBase.BattGroupCountMax];
        negState = new int[FBS9100_ComBase.BattGroupCountMax];
    }
    public boolean putByteBuffer(final ByteBuffer bf)
    {
        if(bf.limit() < BYTELEN)
            return false;
        ByteBuffer tmpbuf = bf;
        int crc0 = tmpbuf.getShort(BYTELEN-2) & 0xFFFF;
        int crc1 = FBS9100_Crc16.CalCRC16(tmpbuf, BYTELEN-2);
        if(crc0 != crc1) {
            return false;
        }
        tmpbuf.position(0);
        for(int i=0;i<posState.length;i++) {
            posState[i] = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        }
        for(int i=0;i<negState.length;i++) {
            negState[i] = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        }
        CRC = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        tmpbuf.compact();
        tmpbuf.flip();
        return true;
    }
}
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/data/FBS9100_ComBase.java
@@ -98,6 +98,12 @@
    public static final int     CMD_ReStartDCDC                    =    0x9A;        //远程重启内部DCDC模块
    
    /**
     * 读取切换箱正负极开关状态
     */
    public static final int     CMD_ReadQHZZFZCDState            =    0xC3;        //读取切换箱正负极开关状态
    /**
     * 2022-01-06 edit by lijun 逆变设备新增机柜头数据
     * 
     * 读取
@@ -299,6 +305,12 @@
    public static short changeDoubleToShort(double data)
    {
        int tmp = (int)data;
        System.out.println("tmp:"+tmp);
        return (short)(tmp & 0xFFFF);
    }
    public static short changeFloatToShort(float data)
    {
        int tmp = (int)data;
        return (short)(tmp & 0xFFFF);
    }
    //------------------------------------------------------------------------------
BattMonitor_FBS9100S_Inverter/src/com/dev/btse/data/FBS9100_ParamDischarge.java
@@ -12,22 +12,22 @@
    public int test_cmd = 0;
    
    public int HourRate = 0;
    public double DisCurr = 0;
    public double DisCap = 0;
    public float DisCurr = 0;
    public float DisCap = 0;
    public int DisTime = 0;
    public double GroupVol_LOW = 0;
    public double MonomerVol_LOW = 0;
    public float GroupVol_LOW = 0;
    public float MonomerVol_LOW = 0;
    public int MonomerLowCount = 0;
    public int BattGroupNum = 0;
    public int OnlineVolLowAction = 0;
    public int StaticTime = 0;
    public int DisTestCount = 0;
    
    public double DCVolHighLimit = 0;
    public float DCVolHighLimit = 0;
    
    public double ChargeCurrSet = 0;
    public float ChargeCurrSet = 0;
    public int bakeup3 = 0;
    public double MonomerTmp_High = 0;
    public float MonomerTmp_High = 0;
    
    public int bakeup5 = 0;
    public int bakeup6 = 0;
@@ -96,21 +96,21 @@
    
        tmpbuf.position(0);
        HourRate = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        DisCurr = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort());
        DisCap = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort());
        DisCurr = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort());
        DisCap = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort());
        DisTime = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        GroupVol_LOW = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
        MonomerVol_LOW = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/1000;
        GroupVol_LOW = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
        MonomerVol_LOW = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/1000;
        MonomerLowCount = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        BattGroupNum = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        OnlineVolLowAction = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        StaticTime = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        DisTestCount = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        DCVolHighLimit = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
        DCVolHighLimit = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
        
        ChargeCurrSet = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort());
        ChargeCurrSet = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort());
        bakeup3 = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        MonomerTmp_High = FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
        MonomerTmp_High = (float)FBS9100_ComBase.changeShortToDouble(tmpbuf.getShort())/10;
        bakeup5 = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        bakeup6 = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
        bakeup7 = FBS9100_ComBase.changeShortToInt(tmpbuf.getShort());
@@ -125,25 +125,28 @@
    
    public ByteBuffer getByteBuffer()
    {
        System.out.println(this);
        ByteBuffer bytebuffer = ByteBuffer.allocate(BYTE_LEN);
        bytebuffer.order(ByteOrder.LITTLE_ENDIAN);
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(HourRate));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(DisCurr));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(DisCap));
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(DisTime));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort((GroupVol_LOW+0.000001)*10));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort((MonomerVol_LOW+0.000001)*1000));
        //bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort((GroupVol_LOW+0.000001)*10));
        bytebuffer.putShort(FBS9100_ComBase.changeFloatToShort((GroupVol_LOW)*10));
        bytebuffer.putShort(FBS9100_ComBase.changeFloatToShort((MonomerVol_LOW)*1000));
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(MonomerLowCount));
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(BattGroupNum));
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(OnlineVolLowAction));
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(StaticTime));
        
        bytebuffer.putShort(FBS9100_ComBase.changeIntToShort(DisTestCount));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort((DCVolHighLimit+0.000001)*10));
        bytebuffer.putShort(FBS9100_ComBase.changeFloatToShort((DCVolHighLimit)*10));
        
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(ChargeCurrSet));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(bakeup3));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort((MonomerTmp_High+0.000001)*10));
        bytebuffer.putShort(FBS9100_ComBase.changeFloatToShort((MonomerTmp_High)*10));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(bakeup5));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(bakeup6));
        bytebuffer.putShort(FBS9100_ComBase.changeDoubleToShort(bakeup7));
@@ -171,6 +174,20 @@
                + ", bakeup10=" + bakeup10 + ", CRC=" + CRC + "]";
    }
    
    public static void main(String[] args) {
        double d = 56.6;
        float f = (float)d;
        float ff = (56.6f)*10;
        System.err.println(f);
        double dd = 56.6;
        System.out.println("dd:"+dd);
        FBS9100_ComBase.changeDoubleToShort((dd)*10);
        System.out.println((int)ff);
    }
}
/***************************************************************************************
****************************** end of file (FBS_TestParam) *****************************