DELL
2024-11-11 9f17762ee2fca4b3f87c658a5088610f239358b0
IAC-600KW调试工具开发初步测试完成
2 文件已重命名
17个文件已删除
4个文件已修改
37个文件已添加
4334 ■■■■■ 已修改文件
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/IAC_Cmd.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/IAC_RealData.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/IAC_TestParam.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/SPCommIAC_200KW.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$2.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$4.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$5.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$6.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$7.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_Cmd.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_ComBase.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_RealData.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_TestParam.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/ModBus_ComBase.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/SPCommIAC_600KW.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$1.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$10.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$11.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$12.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$13.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$14.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$15.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$16.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$17.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$18.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$19.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$2.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$20.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$21.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$22.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$23.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$24.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$25.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$3.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$4.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$5.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$6.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$7.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$8.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$9.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$22.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer$23.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/main/main_window_computer.class 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/IAC_Cmd.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/IAC_RealData.java 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/IAC_TestParam.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/SPCommIAC_200KW.java 659 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/iac_200kw_page.java 525 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_Cmd.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_ComBase.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_RealData.java 374 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_TestParam.java 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/ModBus_ComBase.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/SPCommIAC_600KW.java 530 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/iac_600kw_page.java 1641 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/src/main/main_window_computer.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/IAC_Cmd.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/IAC_RealData.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/IAC_TestParam.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/SPCommIAC_200KW.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$2.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$4.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$5.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$6.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page$7.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_200kw/iac_200kw_page.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_Cmd.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_ComBase.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_RealData.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/IAC_TestParam.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/ModBus_ComBase.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/SPCommIAC_600KW.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$1.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$10.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$11.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$12.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$13.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$14.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$15.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$16.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$17.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$18.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$19.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$2.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$20.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$21.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$22.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$23.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$24.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$25.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$3.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$4.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$5.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$6.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$7.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$8.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page$9.class
Binary files differ
Device_Simulator_DTS_Tester/bin/com/dev/ica_600kw/iac_600kw_page.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$22.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer$23.class
Binary files differ
Device_Simulator_DTS_Tester/bin/main/main_window_computer.class
Binary files differ
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/IAC_Cmd.java
File was deleted
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/IAC_RealData.java
File was deleted
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/IAC_TestParam.java
File was deleted
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/SPCommIAC_200KW.java
File was deleted
Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/iac_200kw_page.java
File was deleted
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_Cmd.java
New file
@@ -0,0 +1,33 @@
package com.dev.ica_600kw;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import com.dev.bts.data.FBS9100_ComBase;
public class IAC_Cmd {
    public static final int Byte_Len = 18;        //基本数据长度
    public int addr;                    //地址
    public int[] synCode = new int[] {0xAA,0xAA,0xAA};
    public int length;                    //发送字节长度
    public int cmd;                        //操作指令
    public int result;                    //操作返回
    public int testType;                //测试类型
    public int state;                    //״̬
    public int alarm;                    //停止条件
    public int[] back = new int[4];     //预留
    public int crc;                        //crc16
    public static ByteBuffer createControlByteBuffer(int control) {
        ByteBuffer buffer = ByteBuffer.allocate(2);
        buffer.order(ByteOrder.BIG_ENDIAN);
        buffer.position(0);
        buffer.putShort(FBS9100_ComBase.changeIntToShort(control));
        buffer.flip();
        return buffer;
    }
}
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_ComBase.java
New file
@@ -0,0 +1,34 @@
package com.dev.ica_600kw;
public class IAC_ComBase {
    public static final int CMD_Null                        = 0x0000;        //空命令
    public static final int CMD_Fail                        = 0x0000;        //失败
    public static final int CMD_Success                        = 0x0001;        //成功
    public static final int CMD_GetParam_Ack                = 0x48;            //成功
    public static final int CMD_RealData_Addr                = 0x1000;        //实时数据
    public static final int CMD_TestParam_Addr                = 0xB000;        //测试参数
    public static final int CMD_SetTestParam_Addr            = 0xB003;        //设置测试参数地址[设置时不设置机房编号和设备编号]
    public static final int CMD_WTTest_Addr                    = 0xD000;        //稳态测试
    public static final int CMD_ZDTest_Addr                    = 0xD001;        //整定测试
    public static final int CMD_BDTest_Addr                    = 0xD002;        //波动测试
    public static final int CMD_STTest_Addr                    = 0xD003;        //瞬态测试
    public static final int CMD_XBTest_Addr                    = 0xD004;        //谐波测试
    public static final int CMD_ClosePage_Addr                = 0xD005;        //退出界面
}
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_RealData.java
New file
@@ -0,0 +1,374 @@
package com.dev.ica_600kw;
import java.nio.ByteBuffer;
import com.dev.bts.data.FBS9100_ComBase;
public class IAC_RealData {
    public static final int Stopped        =        0;
    public static final int WTtesting   =        1;
    public static final int WTPause     =        2;
    public static final int ZDtesting   =        3;
    public static final int ZDPause     =        4;
    public static final int BDtesting   =        5;
    public static final int BDPause     =        6;
    public static final int STtesting   =        7;
    public static final int STPause     =        8;
    public static final int XBtesting   =        9;
    public static final int XBPause     =        10;
    public static final int REG_Count = 36;        //寄存器数量
    private float Ua;            //a相电压(0.1V)
    private float Ub;            //b相电压(0.1V)
    private float Uc;            //c相电压(0.1V)
    private float Uab;            //a相和b相之间的线电压(0.1V)
    private float Ubc;            //b相和c相之间的线电压(0.1V)
    private float Uca;            //c相和a相之间的线电压(0.1V)
    private float Ia;            //a相电流(0.1A)
    private float Ib;            //b相电流(0.1A)
    private float Ic;            //c相电流(0.1A)
    private float Fre;            //交流频率(0.1Hz)
    private float FT;            //功率因数(0.001)
    private float FTa;            //(0.001)
    private float FTb;            //(0.001)
    private float FTc;            //(0.001)
    private float Pa;            //(0.1kw)
    private float Pb;            //(0.1kw)
    private float Pc;            //(0.1kw)
    private float P;            //有功功率(0.1kw)
    private float Qa;            //(0.1KVar)
    private float Qb;            //(0.1KVar)
    private float Qc;            //(0.1KVar)
    private float Q;            //(0.1KVar)
    private float Sa;            //(0.1KKVA)
    private float Sb;            //(0.1KKVA)
    private float Sc;            //(0.1KKVA)
    private float S;            //(0.1KKVA)
    private float Ep;            //(0.1KVH)
    private float PHv;            //(1)
    private float PHa;            //(1)
    private float JBXBUa;        //基波谐波电压a(0.1V)
    private float JBXBUb;        //基波谐波电压b(0.1V)
    private float JBXBUc;        //基波谐波电压c(0.1V)
    private float JBXBIa;        //基波谐波电流a(0.1A)
    private float JBXBIb;        //基波谐波电流b(0.1A)
    private float JBXBIc;        //基波谐波电流c(0.1A)
    private int SysWorkState;        //状态(0-停止  1-稳态测试  2-稳态暂停  3-整定测试  4-整定暂停 5-波动测试  6-波动暂停 7-瞬态测试 8-瞬态暂停  9-谐波测试  10-谐波暂停)
    public boolean putByteBuffer(ByteBuffer bbf_rx) {
        if(bbf_rx.limit() < REG_Count*2) {
            return false;
        }
        bbf_rx.position(0);
        this.Ua = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //a相电压(0.1V)
        this.Ub = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //b相电压(0.1V)
        this.Uc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //c相电压(0.1V)
        this.Uab = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //a相和b相之间的线电压(0.1V)
        this.Ubc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //b相和c相之间的线电压(0.1V)
        this.Uca = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //c相和a相之间的线电压(0.1V)
        this.Ia = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //a相电流(0.1A)
        this.Ib = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //b相电流(0.1A)
        this.Ic = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //c相电流(0.1A)
        this.Fre = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //交流频率(0.1Hz)
        this.FT = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;        //功率因数(0.001)
        this.FTa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;        //(0.001)
        this.FTb = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;        //(0.001)
        this.FTc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/1000;        //(0.001)
        this.Pa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1kw)
        this.Pb = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1kw)
        this.Pc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1kw)
        this.P = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //有功功率(0.1kw)
        this.Qa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KVar)
        this.Qb = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KVar)
        this.Qc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KVar)
        this.Q = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KVar)
        this.Sa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KKVA)
        this.Sb = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KKVA)
        this.Sc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KKVA)
        this.S = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KKVA)
        this.Ep = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;            //(0.1KVH)
        this.PHv = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());            //(1)
        this.PHa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());            //(1)
        this.JBXBUa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //基波谐波电压a(0.1V)
        this.JBXBUb = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //基波谐波电压b(0.1V)
        this.JBXBUc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //基波谐波电压c(0.1V)
        this.JBXBIa = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //基波谐波电流a(0.1A)
        this.JBXBIb = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //基波谐波电流b(0.1A)
        this.JBXBIc = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10;        //基波谐波电流c(0.1A)
        this.SysWorkState = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());    //状态(0-停止  1-稳态测试  2-稳态暂停  3-整定测试  4-整定暂停 5-波动测试  6-波动暂停 7-瞬态测试 8-瞬态暂停  9-谐波测试  10-谐波暂停)
        return true;
    }
    public String getSysWorkStateStr() {
        String work_str = "δ֪-"+this.SysWorkState;
        switch (this.SysWorkState) {
        case Stopped:
            work_str = "ֹͣ";
            break;
        case WTtesting:
            work_str = "稳态测试";
            break;
        case WTPause:
            work_str = "稳态暂停";
            break;
        case ZDtesting:
            work_str = "整定测试";
            break;
        case ZDPause:
            work_str = "整定暂停";
            break;
        case BDtesting:
            work_str = "波动测试";
            break;
        case BDPause:
            work_str = "波动暂停";
            break;
        case STtesting:
            work_str = "瞬态测试";
            break;
        case STPause:
            work_str = "瞬态暂停";
            break;
        case XBtesting:
            work_str = "谐波测试";
            break;
        case XBPause:
            work_str = "谐波暂停";
            break;
        default:
            work_str = "δ֪-"+this.SysWorkState;
            break;
        }
        return work_str;
    }
    public float getUa() {
        return Ua;
    }
    public float getUb() {
        return Ub;
    }
    public float getUc() {
        return Uc;
    }
    public float getUab() {
        return Uab;
    }
    public float getUbc() {
        return Ubc;
    }
    public float getUca() {
        return Uca;
    }
    public float getIa() {
        return Ia;
    }
    public float getIb() {
        return Ib;
    }
    public float getIc() {
        return Ic;
    }
    public float getFre() {
        return Fre;
    }
    public float getFT() {
        return FT;
    }
    public float getFTa() {
        return FTa;
    }
    public float getFTb() {
        return FTb;
    }
    public float getFTc() {
        return FTc;
    }
    public float getPa() {
        return Pa;
    }
    public float getPb() {
        return Pb;
    }
    public float getPc() {
        return Pc;
    }
    public float getP() {
        return P;
    }
    public float getQa() {
        return Qa;
    }
    public float getQb() {
        return Qb;
    }
    public float getQc() {
        return Qc;
    }
    public float getQ() {
        return Q;
    }
    public float getSa() {
        return Sa;
    }
    public float getSb() {
        return Sb;
    }
    public float getSc() {
        return Sc;
    }
    public float getS() {
        return S;
    }
    public float getEp() {
        return Ep;
    }
    public float getPHv() {
        return PHv;
    }
    public float getPHa() {
        return PHa;
    }
    public float getJBXBUa() {
        return JBXBUa;
    }
    public float getJBXBUb() {
        return JBXBUb;
    }
    public float getJBXBUc() {
        return JBXBUc;
    }
    public float getJBXBIa() {
        return JBXBIa;
    }
    public float getJBXBIb() {
        return JBXBIb;
    }
    public float getJBXBIc() {
        return JBXBIc;
    }
    public void setUa(float ua) {
        Ua = ua;
    }
    public void setUb(float ub) {
        Ub = ub;
    }
    public void setUc(float uc) {
        Uc = uc;
    }
    public void setUab(float uab) {
        Uab = uab;
    }
    public void setUbc(float ubc) {
        Ubc = ubc;
    }
    public void setUca(float uca) {
        Uca = uca;
    }
    public void setIa(float ia) {
        Ia = ia;
    }
    public void setIb(float ib) {
        Ib = ib;
    }
    public void setIc(float ic) {
        Ic = ic;
    }
    public void setFre(float fre) {
        Fre = fre;
    }
    public void setFT(float fT) {
        FT = fT;
    }
    public void setFTa(float fTa) {
        FTa = fTa;
    }
    public void setFTb(float fTb) {
        FTb = fTb;
    }
    public void setFTc(float fTc) {
        FTc = fTc;
    }
    public void setPa(float pa) {
        Pa = pa;
    }
    public void setPb(float pb) {
        Pb = pb;
    }
    public void setPc(float pc) {
        Pc = pc;
    }
    public void setP(float p) {
        P = p;
    }
    public void setQa(float qa) {
        Qa = qa;
    }
    public void setQb(float qb) {
        Qb = qb;
    }
    public void setQc(float qc) {
        Qc = qc;
    }
    public void setQ(float q) {
        Q = q;
    }
    public void setSa(float sa) {
        Sa = sa;
    }
    public void setSb(float sb) {
        Sb = sb;
    }
    public void setSc(float sc) {
        Sc = sc;
    }
    public void setS(float s) {
        S = s;
    }
    public void setEp(float ep) {
        Ep = ep;
    }
    public void setPHv(float pHv) {
        PHv = pHv;
    }
    public void setPHa(float pHa) {
        PHa = pHa;
    }
    public void setJBXBUa(float jBXBUa) {
        JBXBUa = jBXBUa;
    }
    public void setJBXBUb(float jBXBUb) {
        JBXBUb = jBXBUb;
    }
    public void setJBXBUc(float jBXBUc) {
        JBXBUc = jBXBUc;
    }
    public void setJBXBIa(float jBXBIa) {
        JBXBIa = jBXBIa;
    }
    public void setJBXBIb(float jBXBIb) {
        JBXBIb = jBXBIb;
    }
    public void setJBXBIc(float jBXBIc) {
        JBXBIc = jBXBIc;
    }
    @Override
    public String toString() {
        return "IAC_RealData [Ua=" + Ua + ", Ub=" + Ub + ", Uc=" + Uc + ", Uab=" + Uab + ", Ubc=" + Ubc + ", Uca=" + Uca
                + ", Ia=" + Ia + ", Ib=" + Ib + ", Ic=" + Ic + ", Fre=" + Fre + ", FT=" + FT + ", FTa=" + FTa + ", FTb="
                + FTb + ", FTc=" + FTc + ", Pa=" + Pa + ", Pb=" + Pb + ", Pc=" + Pc + ", P=" + P + ", Qa=" + Qa
                + ", Qb=" + Qb + ", Qc=" + Qc + ", Q=" + Q + ", Sa=" + Sa + ", Sb=" + Sb + ", Sc=" + Sc + ", S=" + S
                + ", Ep=" + Ep + ", PHv=" + PHv + ", PHa=" + PHa + ", JBXBUa=" + JBXBUa + ", JBXBUb=" + JBXBUb
                + ", JBXBUc=" + JBXBUc + ", JBXBIa=" + JBXBIa + ", JBXBIb=" + JBXBIb + ", JBXBIc=" + JBXBIc
                + ", SysWorkState=" + SysWorkState + "]";
    }
}
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/IAC_TestParam.java
New file
@@ -0,0 +1,160 @@
package com.dev.ica_600kw;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;
import com.dev.bts.data.FBS9100_ComBase;
/**
 *     测试参数
 * @author DELL
 *
 */
public class IAC_TestParam {
    public static final int ParamType_WT         = 0;    //稳态测试
    public static final int ParamType_Other     = 1;    //其他测试
    public static final int REG_Count = 32;
    public static final int REG_Count_Set = 29;
    public boolean is_ReadParam = false;
    public int JiFangNum;                    //机房编号
    public int DeviceNum;                    //设备编号[1-9999999]
    public int WTPowerCount;                //功率段数[1-10]
    public int VolLowLimit;                    //电压下限[1-220V]
    public int[] Power1 = new int[10];        //功率段[0-9999KVA]
    public float CurrHigh;                    //电流上限(1-525A)
    public float VolHigh;                    //电压上限(1-255V)
    public int[] TestTime = new int[10];    //测试时间段(0-5999min)
    public float STDPower;                    //额定功率负载(0-9999KW)
    public int TimeCount;                    //测试间隔(5-9999S)
    public int ZDPowerCount;                //功率段数(2-5)
    public int PowerPercent;                //负载率(0-100%)
    public int ParamType;                    //设置参数类型 0-稳态测试  1-其他
    public boolean putByteBuffer(ByteBuffer bbf_rx) {
        if(bbf_rx.limit() < REG_Count*2) {
            return false;
        }
        bbf_rx.position(0);
        int s1 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
        int s2 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
        this.JiFangNum = s1 + s2*65536;
        //this.JiFangNum = bbf_rx.getInt();                    //机房编号
        this.DeviceNum = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //设备编号[1-9999999]
        this.WTPowerCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //功率段数[1-10]
        this.VolLowLimit = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //电压下限[1-220V]
        for(int k = 0;k<Power1.length ;k++) {
            Power1[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //功率段[0-9999KVA]
        }
        this.CurrHigh = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                    //电流上限(1-525A)
        this.VolHigh = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                    //电压上限(1-255V)
        for(int k = 0;k<TestTime.length ;k++) {
            TestTime[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //测试时间段(0-5999min)
        }
        this.STDPower = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort());                    //额定功率负载(0-9999KW)
        this.TimeCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //测试间隔(5-9999S)
        this.ZDPowerCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //功率段数(2-5)
        this.PowerPercent = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                //负载率(0-100%)
        this.ParamType = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());                    //设置参数类型 0-稳态测试  1-其他
        System.out.println(this);
        this.is_ReadParam = true;
        return true;
    }
    public ByteBuffer getByteBuffer() {
        ByteBuffer buffer = ByteBuffer.allocate(REG_Count_Set*2);
        buffer.order(ByteOrder.BIG_ENDIAN);
        buffer.position(0);
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.WTPowerCount));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.VolLowLimit));
        for(int k = 0;k<Power1.length;k++) {
            buffer.putShort(FBS9100_ComBase.changeIntToShort(this.Power1[k]));
        }
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.CurrHigh));
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.VolHigh));
        for(int k = 0;k<TestTime.length ;k++) {
            buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.TestTime[k]));                    //测试时间段(0-5999min)
        }
        buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.STDPower));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.TimeCount));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.ZDPowerCount));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.PowerPercent));
        buffer.putShort(FBS9100_ComBase.changeIntToShort(this.ParamType));
        buffer.flip();
        return buffer;
    }
    public void clone(IAC_TestParam param) {
        if(null != param) {
            this.JiFangNum = param.JiFangNum;                    //机房编号
            this.DeviceNum = param.DeviceNum;                    //设备编号[1-9999999]
            this.WTPowerCount = param.WTPowerCount;                //功率段数[1-10]
            this.VolLowLimit = param.VolLowLimit;                    //电压下限[1-220V]
            for(int k = 0;k<Power1.length ;k++) {
                Power1[k] = param.Power1[k];                    //功率段[0-9999KVA]
            }
            this.CurrHigh = param.CurrHigh;                    //电流上限(1-525A)
            this.VolHigh = param.VolHigh;                    //电压上限(1-255V)
            for(int k = 0;k<TestTime.length ;k++) {
                TestTime[k] = param.TestTime[k];                    //测试时间段(0-5999min)
            }
            this.STDPower = param.STDPower;                    //额定功率负载(0-9999KW)
            this.TimeCount = param.TimeCount;                    //测试间隔(5-9999S)
            this.ZDPowerCount = param.ZDPowerCount;                //功率段数(2-5)
            this.PowerPercent = param.PowerPercent;                //负载率(0-100%)
            this.ParamType = param.ParamType;                    //设置参数类型 0-稳态测试  1-其他
        }
    }
    public boolean isIs_ReadParam() {
        return is_ReadParam;
    }
    public void setIs_ReadParam(boolean is_ReadParam) {
        this.is_ReadParam = is_ReadParam;
    }
    @Override
    public String toString() {
        return "IAC_TestParam [is_ReadParam=" + is_ReadParam + ", JiFangNum=" + JiFangNum + ", DeviceNum=" + DeviceNum
                + ", WTPowerCount=" + WTPowerCount + ", VolLowLimit=" + VolLowLimit + ", Power1="
                + Arrays.toString(Power1) + ", CurrHigh=" + CurrHigh + ", VolHigh=" + VolHigh + ", TestTime="
                + Arrays.toString(TestTime) + ", STDPower=" + STDPower + ", TimeCount=" + TimeCount + ", ZDPowerCount="
                + ZDPowerCount + ", PowerPercent=" + PowerPercent + ", ParamType=" + ParamType + "]";
    }
}
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/ModBus_ComBase.java
File was renamed from Device_Simulator_DTS_Tester/src/com/dev/ica_200kw/ModBus_ComBase.java
@@ -1,4 +1,4 @@
package com.dev.ica_200kw;
package com.dev.ica_600kw;
public class ModBus_ComBase {
    
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/SPCommIAC_600KW.java
New file
@@ -0,0 +1,530 @@
package com.dev.ica_600kw;
import gnu.io.SerialPort;
import gnu.io.UnsupportedCommOperationException;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import org.apache.logging.log4j.Logger;
import sp_comm.CommSerialPort;
import sp_comm.Comm_Socket;
import main.page_debug_inf;
import com.Com;
import com.ComFn;
import com.Crc16;
import com.PlaySound;
import com.dev.bts.data.FBS9100_ComBase;
import com.dev.bts.data.FBS9100_DFU;
import com.dev.fbs9600_mon.SPCommMon;
import com.dev.modbus.MyModBusRtu;
import com.dev.simpower.dev.Power_ACData;
import com.dev.simpower.dev.Power_AlmParam;
import com.dev.simpower.dev.Power_AlmState;
import com.dev.simpower.dev.Power_ComBase;
import com.dev.simpower.dev.Power_LIBMSData;
import com.dev.simpower.dev.Power_ModelData;
import com.dev.simpower.dev.Power_Param;
import com.dev.simpower.dev.Power_RoadState;
import com.dev.simpower.dev.Power_TimeControl;
public class SPCommIAC_600KW implements Runnable/*, SerialPortEventListener*/ {
    private ByteBuffer dt_databuffer = ByteBuffer.allocate(0);                //遥控遥调数据
    private short dt_user_cmd = Power_ComBase.CMD_NULL;
    private int dt_user_cmd_regaddr = 0;                                    //用户控制时的寄存器地址
    /*********************************************************************/
    private  boolean CommThreadRunning = false;
    public  boolean AutoStartResTestEn = false;
    public  Date AutoStartResTestTime = new Date();
    public  Date AutoSaveResDataTime = new Date();
    public  boolean AutoSaveResDataEn = false;
    public  int AutoSaveResDataCount = 0;
    public  String AutoSaveDataFileName = "";
    private ByteBuffer CommRxBuffer = ByteBuffer.allocate(1500);
    private ByteBuffer CommTxBuffer = ByteBuffer.allocate(1048);
    public int comm_tx_cnt = 0;
    public int comm_rx_cnt = 0;
    private int comm_bautrate = 115200;
    public int dt_target_addr = 0;
    public int m_ZDHJ_REG_CNT = 1;
    public int ZDHJ_BattCount = -1;
    //--------------------------------------------------------//
    public int dev_param_data_state = 0;
    public int dev_param_addr = 0;
    public int dev_param_curr_range = 0;
    public double dev_param_FloatCurrLev = 0;
    public double dev_param_float_curr_lev = 0;
    public double dev_param_wenbo_curr_lev = 0;
    public int dev_param_auto_restest_interval = 0;
    public int dev_param_res_test_type = 0;
    public int dev_param_ResDisTestMethod = 0;
    public int dev_param_Batt_StdCap = 0;
    public double dev_param_res_dis_slope = 0;
    public double dev_param_res_wenbo_slope = 0;
    public int dev_param_monnum_setmode = 0;
    public int dev_param_devid = 0;
    public double[] dev_param_resparam_d = new double[4];
    public double[] dev_param_resparam_s = new double[4];
    //--------------------------------------------------------//
    public int dev_stat_version = 0;
    public int dev_stat_state = 0;
    public double GroupVol = 0;
    public double BattCurr = 0;
    public int BattState = 0;
    public int BattCurrDir = 0;
    public double AvgWenBoCurr = 0;
    public double PeakWenBoCurr = 0;
    public int SpiCommErrCount = 0;                                      //SPI通信错误计数
    public int ResTestCount = 0;                                     //内阻测试次数
    public int CurentResTestMode = 0;                                 //当前内阻测试方法
    public int BianhaoErrNum = 0;                                     //编号错误单体号
    public double ExTemp = 0;                                        //外部温度
    //--------------------------------------------------------//
    public short mAddrSettedNow = 0;
    private short dt_cmd = ModBus_ComBase.CMD_Null;
    public int dt_cmd_ack = Power_ComBase.CMD_NULL;
    public MyModBusRtu rtu_rt;
    public MyModBusRtu rtu_rx;
    public Date dt_cmd_ack_time = new Date();
    private short dt_cmd_regaddr = 0;
    private short dt_cmd_regcnt = 0;
    private short[] dt_cmd_regdata = null;
    private int dt_cmd_cnt = 0;
    private page_debug_inf dt_debug_inf;
    private int m_COMM_PORT_TYPE = 0;
    private CommSerialPort m_SP_Comm = null;
    private Comm_Socket m_SocketComm = null;
    private Logger m_Log = null;
    private int read_libms_index = 0;    //读取锂电池包索引
    private int read_model_index = 0;    //读取电源模块索引
    public Power_ACData m_AcData;
    public Power_LIBMSData[] m_LibmsDatas;
    public Power_ModelData[] m_ModelDatas;
    public Power_AlmState m_AlmState;
    public Power_Param m_ParamFromDev;                        //设备读取的参数
    public Power_TimeControl m_TimeControlFromDev;            //设备读取的参数
    public IAC_RealData m_RealData;                             //设备实时数据
    public IAC_TestParam m_TestParam;                        //设置的参数
    public IAC_TestParam m_TestParamFromDev;                //设备上读取的参数
    public String op_result = "";                            //操作返回结果
    public String op_result_setparam = "";                    //设置参数返回结果
    public short dt_user_cmd_ack = Power_ComBase.CMD_NULL;    //操作返回结果,用于界面判断更新
    private boolean dt_dfu_en = false;                        //远程升级标识
    private JTextArea dt_show_msg;                            //升级文本信息域
    private String dt_dfuFileName;                            //升级文件名称
    public SPCommIAC_600KW(int addr_t, int bitrate, page_debug_inf debug, Logger log) {
        dt_target_addr = addr_t & 0x00FF;
        comm_bautrate = bitrate;
        dt_debug_inf = debug;
        m_Log = log;
        rtu_rx = new MyModBusRtu();
        m_TimeControlFromDev = new Power_TimeControl();
        m_ParamFromDev = new Power_Param();
        m_AcData = new Power_ACData();
        m_AlmState = new Power_AlmState();
        m_RealData = new IAC_RealData();                     //设备实时数据
        m_TestParam = new IAC_TestParam();                    //设置的参数
        m_TestParamFromDev = new IAC_TestParam();            //设备上读取的参数
        m_LibmsDatas = new Power_LIBMSData[Power_ComBase.LIBMSDATA_MAX_COUNT];
        for(int i =0;i<m_LibmsDatas.length;i++) {
            m_LibmsDatas[i] = new Power_LIBMSData();
        }
        m_ModelDatas = new Power_ModelData[Power_ComBase.LIMODEL_MAX_COUNT];
        for(int i =0;i<m_LibmsDatas.length;i++) {
            m_ModelDatas[i] = new Power_ModelData();
        }
    }
    public void setCommBautrate(int bt_rate) {
        if(SPCommMon.COMM_PORT_TYPE_Serial != m_COMM_PORT_TYPE) {
            return;
        }
        try {
            comm_bautrate = bt_rate;
            m_SP_Comm.serialPort.setSerialPortParams(comm_bautrate, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
        } catch (UnsupportedCommOperationException e) {
            e.printStackTrace();
        }
    }
    //初始化串口
    public boolean OpenCommPort(int comm_port_type, String comm_name_or_ip, int bitrate_or_comm_port) {
        boolean res = false;
        m_COMM_PORT_TYPE = comm_port_type;
        if(SPCommMon.COMM_PORT_TYPE_Serial == m_COMM_PORT_TYPE) {
            m_SP_Comm = new CommSerialPort(bitrate_or_comm_port, m_Log);
            res = m_SP_Comm.OpenCommPort(comm_name_or_ip);
        } else {
            m_SocketComm = new Comm_Socket(comm_name_or_ip, bitrate_or_comm_port);
            res = true;
        }
        if(true == res) {
            CommTxBuffer.order(ByteOrder.BIG_ENDIAN);
            CommRxBuffer.order(ByteOrder.BIG_ENDIAN);
            comm_tx_cnt = 0;
            comm_rx_cnt = 0;
            CommThreadRunning = true;
        }
        m_TestParamFromDev.setIs_ReadParam(false);
        return res;
    }
    private void makeCommTxData() {
        CommTxBuffer.clear();
        rtu_rt = new MyModBusRtu();
        ByteBuffer dt_data = ByteBuffer.allocate(0);
        rtu_rt.addr = dt_target_addr;
        if(dt_user_cmd == Power_ComBase.CMD_NULL) {
            //随机读取实时数据
            if(++dt_cmd_cnt  > 1000) {
                dt_cmd_cnt = 0;
            }
            rtu_rt.Cmd = MyModBusRtu.CMD_TYPE_READ;
            rtu_rt.reg_addr = IAC_ComBase.CMD_RealData_Addr;
            rtu_rt.reg_count = IAC_RealData.REG_Count;
        } else {
            //数据
            dt_data = dt_databuffer;
            //遥调遥控数据
            rtu_rt.Cmd = dt_user_cmd;
            dt_user_cmd = Power_ComBase.CMD_NULL;
            rtu_rt.reg_addr = dt_user_cmd_regaddr&0xFFFF;
            if(dt_data.capacity() > 0) {
                rtu_rt.reg_count = dt_data.capacity()/2;
            }else if(IAC_ComBase.CMD_TestParam_Addr == rtu_rt.reg_addr) {
                rtu_rt.reg_count = IAC_TestParam.REG_Count;
            }else if(IAC_ComBase.CMD_SetTestParam_Addr == rtu_rt.reg_addr) {
                //设置参数时的寄存器数量
                rtu_rt.reg_count = IAC_TestParam.REG_Count_Set;
            }
            //System.out.println(rtu_rt.reg_count + "===" + rtu_rt.reg_addr);
        }
        makeRTData(rtu_rt,dt_data);
    }
    public void makeRTData(MyModBusRtu rtu,ByteBuffer bf) {
        CommTxBuffer.position(0);
        CommTxBuffer.put((byte)rtu.addr);
        CommTxBuffer.put((byte)rtu.Cmd);
        CommTxBuffer.putShort((short)rtu.reg_addr);
        if(rtu.Cmd == MyModBusRtu.CMD_TYPE_READ) {
            //读取
            CommTxBuffer.putShort((short)rtu.reg_count);
        } else if(
                rtu.Cmd == MyModBusRtu.CMD_TYPE_WRITE_STD
                || rtu.Cmd == MyModBusRtu.CMD_TYPE_WRITE_SysUpdate
                || rtu.Cmd == MyModBusRtu.CMD_TYPE_Read_UpdateFile
        ) {
            //单点写入
            CommTxBuffer.put(bf);
        } else if(rtu.Cmd == MyModBusRtu.CMD_TYPE_WRITE_MULTY) {
            //多点写入
            CommTxBuffer.putShort((short)rtu.reg_count);
            CommTxBuffer.put((byte)bf.capacity());
            CommTxBuffer.put(bf);
        }
        int crc = Crc16.CalCRC16(CommTxBuffer, CommTxBuffer.position()) & 0xFFFF;
        CommTxBuffer.putShort((short) crc);
        CommTxBuffer.flip();
        //System.out.println("发送数据长度:" + CommTxBuffer.remaining());
    }
    public void tr_Msg(ByteBuffer bbf_tx, ByteBuffer bbf_rx, boolean showdat) {
        if(++comm_tx_cnt > 32500) {
            comm_tx_cnt = 0;
        }
        if(SPCommMon.COMM_PORT_TYPE_Serial == m_COMM_PORT_TYPE) {
            m_SP_Comm.SP_Comm(bbf_tx, bbf_rx, CommSerialPort.mutycomm_Type_Samd09, dt_debug_inf, showdat);
        } else {
            m_SocketComm.SocketComm(bbf_tx, bbf_rx, dt_debug_inf, showdat);
        }
    }
    public void CloseCommPort() {
        CommThreadRunning = false;
    }
    public void setCommCmd(short cmd, int cmd_reg_addr, short[] reg_data, int reg_len) {
        if(dt_cmd_regaddr > 0) {
            return;
        }
        dt_cmd = cmd;
        dt_cmd_regaddr = (short) cmd_reg_addr;
        dt_cmd_regdata = reg_data;
        dt_cmd_regcnt = (short) reg_len;
    }
    public void setCommCmd(short cmd, int cmd_user_reg_addr, ByteBuffer bf) {
        if(dt_cmd_regaddr > 0) {
            return;
        }
        dt_user_cmd = cmd;                                            //命令
        dt_user_cmd_regaddr = (short) cmd_user_reg_addr;            //寄存器地址
        dt_databuffer = bf;                                            //遥控或遥调数据
    }
    public void setCommCmdAck(int ack_t) {
        dt_cmd_ack = ack_t;
        dt_cmd_ack_time = new Date();
        //System.out.println(Com.get_DTF(dt_cmd_ack_time, Com.DTF_YMDhms) + ", " + dev_param_data_state);
        String wav_f = "6133.wav";
        if(ack_t%2 == 0) {
            wav_f = "4577.wav";
        }
        if(ack_t > 0) {
            new PlaySound(wav_f);
        }
    }
    private boolean processRxData(ByteBuffer bbf_rx) {
        rtu_rx.clear();
        boolean isSuccess = false;
        if(rtu_rx.putByteBuffer(bbf_rx)) {
            if(MyModBusRtu.CMD_TYPE_READ == rtu_rx.Cmd) {
                if(IAC_ComBase.CMD_RealData_Addr == rtu_rt.reg_addr) {
                    //读取实时数据
                    if(m_RealData.putByteBuffer(bbf_rx)) {
                        isSuccess = true;
                    }
                }else if(IAC_ComBase.CMD_TestParam_Addr == rtu_rt.reg_addr) {
                    //读取参数
                    if(m_TestParamFromDev.putByteBuffer(bbf_rx)) {
                        isSuccess = true;
                        dt_cmd_ack = IAC_ComBase.CMD_GetParam_Ack;
                        op_result = "读取参数成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }
            }else if(MyModBusRtu.CMD_TYPE_WRITE_STD == rtu_rx.Cmd) {
                if(IAC_ComBase.CMD_WTTest_Addr == rtu_rx.reg_addr) {
                    if(IAC_ComBase.CMD_Success == rtu_rx.result) {
                        isSuccess = true;
                        op_result = "控制稳态测试成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }else {
                        op_result = "控制稳态测试失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }else if(IAC_ComBase.CMD_ZDTest_Addr == rtu_rx.reg_addr) {
                    if(IAC_ComBase.CMD_Success == rtu_rx.result) {
                        isSuccess = true;
                        op_result = "控制整定测试成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }else {
                        op_result = "控制整定测试失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }else if(IAC_ComBase.CMD_BDTest_Addr == rtu_rx.reg_addr) {
                    if(IAC_ComBase.CMD_Success == rtu_rx.result) {
                        isSuccess = true;
                        op_result = "控制波动测试成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }else {
                        op_result = "控制波动测试失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }else if(IAC_ComBase.CMD_STTest_Addr == rtu_rx.reg_addr) {
                    if(IAC_ComBase.CMD_Success == rtu_rx.result) {
                        isSuccess = true;
                        op_result = "控制瞬态测试成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }else {
                        op_result = "控制瞬态测试失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }else if(IAC_ComBase.CMD_XBTest_Addr == rtu_rx.reg_addr) {
                    if(IAC_ComBase.CMD_Success == rtu_rx.result) {
                        isSuccess = true;
                        op_result = "控制谐波测试成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }else {
                        op_result = "控制谐波测试失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }else if(IAC_ComBase.CMD_ClosePage_Addr == rtu_rx.reg_addr) {
                    if(IAC_ComBase.CMD_Success == rtu_rx.result) {
                        isSuccess = true;
                        op_result = "退出界面成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }else {
                        op_result = "退出界面失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }
            }else if(MyModBusRtu.CMD_TYPE_WRITE_MULTY == rtu_rx.Cmd) {
                if(IAC_ComBase.CMD_SetTestParam_Addr == rtu_rx.reg_addr) {
                    //设置电源参数
                    if(rtu_rx.result == IAC_ComBase.CMD_Success) {
                        op_result = "设置参数成功-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                        isSuccess = true;
                    }else {
                        op_result = "设置参数失败-" + Com.get_DTF(new Date(), Com.DTF_YMDhms);
                    }
                }
            } else if(MyModBusRtu.CMD_TYPE_WRITE_SysUpdate == rtu_rx.Cmd) {
                if(Power_ComBase.PWD_SysReStart_RegAddr_Start == rtu_rx.reg_addr) {
                    //远程重启设备
                    if(rtu_rx.result == 0xBBBB) {
                        //设备远程重启成功
                        dt_user_cmd_ack = Power_ComBase.PWD_SysRestart_Success_ACK;
                        isSuccess = true;
                    }else {
                        //设备远程重启失败
                        dt_user_cmd_ack = Power_ComBase.PWD_SysRestart_Fail_ACK;
                    }
                }else if(Power_ComBase.PWD_TransUpdateFile_RegAddr_Start == rtu_rx.reg_addr) {
                    if(rtu_rx.result != 0) {
                        isSuccess = true;
                    }
                }else if(Power_ComBase.PWD_StartUpdate_RegAddr_Start == rtu_rx.reg_addr) {
                    if(rtu_rx.result != 0) {
                        isSuccess = true;
                        appendUppdateInfo("System Update Success ... " + Com.get_DTF(new Date(), Com.DTF_YMDhms) + "\n");
                    }else {
                        appendUppdateInfo("System Update Fail ... " + Com.get_DTF(new Date(), Com.DTF_YMDhms) + "\n");
                    }
                }
            } else if(MyModBusRtu.CMD_TYPE_Read_UpdateFile == rtu_rx.Cmd) {
                if(Power_ComBase.PWD_TransUpdateFile_RegAddr_Start == rtu_rt.reg_addr) {
                    if(bbf_rx.remaining() > 2) {
                        isSuccess = true;
                    }else {
                        System.err.println("返回数据长度不足");
                    }
                }
            }
        }
        if(bbf_rx.limit() > 0 && isSuccess) {
            if(++comm_rx_cnt > 32500) {
                comm_rx_cnt = 0;
            }
        }
        return isSuccess;
    }
    public void setAutoStartRestTest(String filename, int type, boolean en) {
        AutoSaveDataFileName = filename;
        AutoStartResTestEn = en;
        AutoSaveResDataCount = 0;
    }
    private void closeSPCommPort() {
        if(SPCommMon.COMM_PORT_TYPE_Serial == m_COMM_PORT_TYPE) {
            m_SP_Comm.serialPort.close();
        } else {
            m_SocketComm.socketClose();
        }
    }
    public void run() {
        while(true == CommThreadRunning) {
            try {
                Thread.sleep(200);
                if(dt_dfu_en == false) {
                    makeCommTxData();
                    tr_Msg(CommTxBuffer, CommRxBuffer, true);
                    processRxData(CommRxBuffer);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
                CloseCommPort();
                JOptionPane.showMessageDialog(null, "ZDHJ CommPort 串口异常: " + e.getMessage());
            }
        }
        /******************************************/
        closeSPCommPort();
        /******************************************/
        dt_debug_inf.addDebugInf(Com.get_DTF(new Date(), Com.DTF_YMDhms_S)
                                + " ZDHJ CommPort is quit,"
                                + " COMM_PORT_TYPE: " + m_COMM_PORT_TYPE + "\n");
        /******************************************/
    }
    public void makeSendFileData(byte[] data,int block_num) {
        dt_databuffer = ByteBuffer.allocate(data.length + 2);
        dt_databuffer.order(ByteOrder.BIG_ENDIAN);
        dt_databuffer.putShort(FBS9100_ComBase.changeIntToShort(block_num));
        dt_databuffer.put(data);
        dt_databuffer.flip();
    }
    public void setCommCmd_DFU(boolean dfu_en, String dfu_file, JTextArea show_area) {
        dt_dfu_en = dfu_en;
        dt_show_msg = show_area;
        dt_dfuFileName = dfu_file;
    }
    public boolean checkDfuReadAckBuf(ByteBuffer bf,byte[] data) {
        boolean  check_ok = false;
        if(data.length <= bf.remaining()) {
            check_ok = true;
            for(int k = 0 ;k< data.length;k++) {
                if(data[k] != bf.get()) {
                    System.err.println("校验字节:" + k + "失败");
                    check_ok = false;
                    break;
                }
            }
        }else {
            //System.err.println("bf:"+ComFn.bytesToHexString(bf.array(), bf.array().length));
            //System.err.println("data:"+ComFn.bytesToHexString(data, data.length));
            //System.err.println("data.length:" + data.length + "\tbf.remaining():"+bf.remaining());
        }
        return check_ok;
    }
    public void appendUppdateInfo(String msg) {
        StringBuffer buffer = new StringBuffer(dt_show_msg.getText());
        dt_show_msg.setText(msg);
        dt_show_msg.append(buffer.toString());
    }
}
Device_Simulator_DTS_Tester/src/com/dev/ica_600kw/iac_600kw_page.java
New file
@@ -0,0 +1,1641 @@
package com.dev.ica_600kw;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.nio.ByteBuffer;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.dev.modbus.MyModBusRtu;
import com.dev.simpower.dev.Power_ComBase;
import main.page_debug_inf;
import user_app_form.LimitedDocument;
/**
 *     极简化电源界面
 * @author DELL
 *
 */
public class iac_600kw_page  extends JPanel {
    public static int LANG_TYPE_CN = 0;
    public static int LANG_TYPE_EN = 1;
    public static int LANG_TYPE    = LANG_TYPE_CN;
    public SPCommIAC_600KW Comm_ICA = null;
    private JTabbedPane tabbedPane;
    private JPanel panel_baseinfo;                //主界面
    private page_debug_inf panel_debug;            //调试信息
    private JTextField tf_Ua;                    //A相电压
    private JTextField tf_Ub;                    //B相电压
    private JTextField tf_Uc;                    //C相电压
    private JTextField tf_Uab;                    //AB线电压
    private JTextField tf_Ubc;                    //BC线电压
    private JTextField tf_Uca;                    //CA线电压
    private JTextField tf_Ia;                    //A相电流
    private JTextField tf_Ib;                    //B相电流
    private JTextField tf_Ic;                    //C相电流
    private JTextField tf_Fre;                    //交流频率
    private JTextField tf_Ft;                    //功率因数
    private JTextField tf_FTa;                    //
    private JTextField tf_FTb;                    //
    private JTextField tf_FTc;                    //
    private JTextField tf_Pa;                    //
    private JTextField tf_Pb;                    //
    private JTextField tf_Pc;                    //
    private JTextField tf_P;                    //有功功率
    private JTextField tf_Qa;                    //
    private JTextField tf_Qb;                    //
    private JTextField tf_Qc;                    //
    private JTextField tf_Q;                    //
    private JTextField tf_Sa;                    //
    private JTextField tf_Sb;                    //
    private JTextField tf_Sc;                    //
    private JTextField tf_S;                    //
    private JTextField tf_Ep;                    //
    private JTextField tf_PHv;                    //
    private JTextField tf_PHa;                    //
    private JTextField tf_JbxbUa;                //基波谐波电压A
    private JTextField tf_JbxbUb;                //基波谐波电压B
    private JTextField tf_JbxbUc;                //基波谐波电压C
    private JTextField tf_JbxbIa;                //基波谐波电流A
    private JTextField tf_JbxbIb;                //基波谐波电流B
    private JTextField tf_JbxbIc;                //基波谐波电流C
    private JTextField SysWorkState;            //工作状态
    private JTextField tf_JiFangNum_wt;            //机房编号
    private JTextField tf_DeviceNum_wt;            //设备编号
    private JTextField tf_PowerCount_wt;        //功率段数
    private JTextField tf_VolLowLimit_wt;        //电压下限
    private JTextField tf_Power1_wt;            //功率1
    private JTextField tf_Power2_wt;            //功率2
    private JTextField tf_Power3_wt;            //功率3
    private JTextField tf_Power4_wt;            //功率4
    private JTextField tf_Power5_wt;            //功率5
    private JTextField tf_Power6_wt;            //功率6
    private JTextField tf_Power7_wt;            //功率7
    private JTextField tf_Power8_wt;            //功率8
    private JTextField tf_Power9_wt;            //功率9
    private JTextField tf_Power10_wt;            //功率10
    private JTextField tf_CurrHigh_wt;            //电流上限
    private JTextField tf_VolHigh_wt;            //电压上限
    private JTextField tf_TestTime1_wt;            //测试时间1
    private JTextField tf_TestTime2_wt;            //测试时间2
    private JTextField tf_TestTime3_wt;            //测试时间3
    private JTextField tf_TestTime4_wt;            //测试时间4
    private JTextField tf_TestTime5_wt;            //测试时间5
    private JTextField tf_TestTime6_wt;            //测试时间6
    private JTextField tf_TestTime7_wt;            //测试时间7
    private JTextField tf_TestTime8_wt;            //测试时间8
    private JTextField tf_TestTime9_wt;            //测试时间9
    private JTextField tf_TestTime10_wt;        //测试时间10
    private JButton btn_wt_read;                //读取
    private JButton btn_wt_write;                //设置
    private JButton btn_wt_start;                //启动
    private JButton btn_wt_pause;                //暂停
    private JButton btn_wt_stop;                //ֹͣ
    private JTextField tf_JiFangNum_zd;            //机房编号
    private JTextField tf_DeviceNum_zd;            //设备编号
    private JTextField tf_STDPower_zd;            //额定功率
    private JTextField tf_TimeCount_zd;            //测试间隔
    private JTextField tf_PowerCount_zd;        //负载段数
    private JButton btn_zd_read;                //读取
    private JButton btn_zd_write;                //设置
    private JButton btn_zd_start;                //启动
    private JButton btn_zd_pause;                //暂停
    private JButton btn_zd_stop;                //ֹͣ
    private JTextField tf_JiFangNum_bd;            //机房编号
    private JTextField tf_DeviceNum_bd;            //设备编号
    private JTextField tf_STDPower_bd;            //额定功率
    private JTextField tf_TimeCount_bd;            //测试间隔
    private JTextField tf_PowerCount_bd;        //负载段数
    private JButton btn_bd_read;                //读取
    private JButton btn_bd_write;                //设置
    private JButton btn_bd_start;                //启动
    private JButton btn_bd_pause;                //暂停
    private JButton btn_bd_stop;                //ֹͣ
    private JTextField tf_JiFangNum_st;            //机房编号
    private JTextField tf_DeviceNum_st;            //设备编号
    private JTextField tf_STDPower_st;            //额定功率
    private JTextField tf_TimeCount_st;            //测试间隔
    private JTextField tf_PowerPercent_st;        //负载率
    private JButton btn_st_read;                //读取
    private JButton btn_st_write;                //设置
    private JButton btn_st_start;                //启动
    private JButton btn_st_pause;                //暂停
    private JButton btn_st_stop;                //ֹͣ
    private JTextField tf_JiFangNum_xb;            //机房编号
    private JTextField tf_DeviceNum_xb;            //设备编号
    private JTextField tf_STDPower_xb;            //额定功率
    private JTextField tf_PowerPercent_xb;        //负载率
    private JButton btn_xb_read;                //读取
    private JButton btn_xb_write;                //设置
    private JButton btn_xb_start;                //启动
    private JButton btn_xb_pause;                //暂停
    private JButton btn_xb_stop;                //ֹͣ
    private JComboBox<String> cb_testtype;        //测试类型
    private JButton btn_set_testtype;            //设置
    private JTextField tf_op_inf;                //工作状态
    private Logger logger;
    private JPanel panel_118;
    private JPanel panel_119;
    /**
     * Create the panel.
     */
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public iac_600kw_page() {
        logger = LogManager.getLogger(iac_600kw_page.class);
        setLayout(new BorderLayout(0, 0));
        tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        add(tabbedPane, BorderLayout.CENTER);
        panel_baseinfo =  new JPanel();                            //电源遥测
        panel_debug =  new page_debug_inf();                    //调试信息
        //tabbedPane.add(panel_baseinfo,"电源遥测");
        tabbedPane.addTab("设备信息",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_baseinfo, null);
//        tabbedPane.addTab("调试信息",null, panel_debug, null);
        tabbedPane.addTab("调试信息",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_debug, null);
        /************************ 电源遥测 ********************************************/
        panel_baseinfo.setLayout(new BorderLayout());
        JPanel panel_100 = new JPanel();
        panel_100.setBorder(new TitledBorder(null, "设备状态", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_baseinfo.add(panel_100, BorderLayout.CENTER);
        panel_100.setLayout(new GridLayout(6, 3, 0, 5));
        JPanel panel_101 = new JPanel();
        panel_101.setBorder(new TitledBorder(null, "设备遥调遥控", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_baseinfo.add(panel_101, BorderLayout.EAST);
        panel_101.setLayout(new BorderLayout(0, 0));
        JPanel panel_102 = new JPanel();
        panel_102.setBorder(new TitledBorder(null, "Ua(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_102.setBorder(new TitledBorder(null, "A相电压", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_102);
        panel_102.setLayout(new BorderLayout(0, 0));
        tf_Ua = new JTextField();
        panel_102.add(tf_Ua);
        tf_Ua.setColumns(10);
        JPanel panel_103 = new JPanel();
//        panel_103.setBorder(new TitledBorder(null, "B相电压", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_103.setBorder(new TitledBorder(null, "Ub(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_103);
        panel_103.setLayout(new BorderLayout(0, 0));
        tf_Ub = new JTextField();
        panel_103.add(tf_Ub);
        tf_Ub.setColumns(10);
        JPanel panel_104 = new JPanel();
        panel_104.setBorder(new TitledBorder(null, "Uc(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_104.setBorder(new TitledBorder(null, "C相电压", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_104);
        panel_104.setLayout(new BorderLayout(0, 0));
        tf_Uc = new JTextField();
        panel_104.add(tf_Uc);
        tf_Uc.setColumns(10);
        JPanel panel_105 = new JPanel();
        panel_105.setBorder(new TitledBorder(null, "Fre(Hz)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_105.setBorder(new TitledBorder(null, "交流频率", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_105.setLayout(new BorderLayout(0, 0));
        tf_Fre = new JTextField();
        panel_105.add(tf_Fre);
        tf_Fre.setColumns(10);
        JPanel panel_106 = new JPanel();
        panel_106.setBorder(new TitledBorder(null, "Uab(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_106.setBorder(new TitledBorder(null, "AB线电压", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_106);
        panel_106.setLayout(new BorderLayout(0, 0));
        tf_Uab = new JTextField();
        panel_106.add(tf_Uab);
        tf_Uab.setColumns(10);
        JPanel panel_107 = new JPanel();
        panel_107.setBorder(new TitledBorder(null, "Ubc(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_107.setBorder(new TitledBorder(null, "BC线电压", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_107);
        panel_107.setLayout(new BorderLayout(0, 0));
        tf_Ubc = new JTextField();
        panel_107.add(tf_Ubc);
        tf_Ubc.setColumns(10);
        JPanel panel_108 = new JPanel();
//        panel_108.setBorder(new TitledBorder(null, "CA线电压", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_108.setBorder(new TitledBorder(null, "Uca(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_108);
        panel_108.setLayout(new BorderLayout(0, 0));
        tf_Uca = new JTextField();
        panel_108.add(tf_Uca);
        tf_Uca.setColumns(10);
        JPanel panel_109 = new JPanel();
        panel_109.setBorder(new TitledBorder(null, "Ft", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_109.setBorder(new TitledBorder(null, "功率因数", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_109.setLayout(new BorderLayout(0, 0));
        tf_Ft = new JTextField();
        panel_109.add(tf_Ft);
        tf_Ft.setColumns(10);
        JPanel panel_110 = new JPanel();
        panel_110.setBorder(new TitledBorder(null, "JbxbUa(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_110.setBorder(new TitledBorder(null, "基波谐波电压A", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_110);
        panel_110.setLayout(new BorderLayout(0, 0));
        tf_JbxbUa = new JTextField();
        panel_110.add(tf_JbxbUa);
        tf_JbxbUa.setColumns(10);
        JPanel panel_111 = new JPanel();
        panel_111.setBorder(new TitledBorder(null, "JbxbUb(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_111.setBorder(new TitledBorder(null, "基波谐波电压B", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_111);
        panel_111.setLayout(new BorderLayout(0, 0));
        tf_JbxbUb = new JTextField();
        panel_111.add(tf_JbxbUb);
        tf_JbxbUb.setColumns(10);
        JPanel panel_112 = new JPanel();
        panel_112.setBorder(new TitledBorder(null, "JbxbUc(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_112.setBorder(new TitledBorder(null, "基波谐波电压C", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_112);
        panel_112.setLayout(new BorderLayout(0, 0));
        tf_JbxbUc = new JTextField();
        panel_112.add(tf_JbxbUc);
        tf_JbxbUc.setColumns(10);
        JPanel panel_113 = new JPanel();
        panel_113.setBorder(new TitledBorder(null, "P(kW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_113.setBorder(new TitledBorder(null, "有功功率", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_113.setLayout(new BorderLayout(0, 0));
        tf_P = new JTextField();
        panel_113.add(tf_P);
        tf_P.setColumns(10);
        JPanel panel_114 = new JPanel();
        panel_114.setBorder(new TitledBorder(null, "JbxbIa(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_114.setBorder(new TitledBorder(null, "基波谐波电流A", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_114);
        panel_114.setLayout(new BorderLayout(0, 0));
        tf_JbxbIa = new JTextField();
        panel_114.add(tf_JbxbIa);
        tf_JbxbIa.setColumns(10);
        JPanel panel_115 = new JPanel();
        panel_115.setBorder(new TitledBorder(null, "JbxbIb(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_115.setBorder(new TitledBorder(null, "基波谐波电流B", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_115);
        panel_115.setLayout(new BorderLayout(0, 0));
        tf_JbxbIb = new JTextField();
        panel_115.add(tf_JbxbIb);
        tf_JbxbIb.setColumns(10);
        JPanel panel_116 = new JPanel();
        panel_116.setBorder(new TitledBorder(null, "JbxbIc(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
//        panel_116.setBorder(new TitledBorder(null, "基波谐波电流C", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_116);
        panel_116.setLayout(new BorderLayout(0, 0));
        tf_JbxbIc = new JTextField();
        panel_116.add(tf_JbxbIc);
        tf_JbxbIc.setColumns(10);
        JPanel panel_117 = new JPanel();
        panel_117.setBorder(new TitledBorder(null, "工作状态", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_117.setLayout(new BorderLayout(0, 0));
        panel_100.add(panel_105);
        panel_100.add(panel_109);
        panel_100.add(panel_113);
        panel_100.add(panel_117);
        SysWorkState = new JTextField();
        panel_117.add(SysWorkState);
        SysWorkState.setColumns(10);
        panel_118 = new JPanel();
        panel_100.add(panel_118);
        panel_118.setBorder(new TitledBorder(null, "Ia(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_118.setLayout(new BorderLayout(0, 0));
        tf_Ia = new JTextField();
        panel_118.add(tf_Ia);
        tf_Ia.setColumns(10);
        panel_119 = new JPanel();
        panel_119.setBorder(new TitledBorder(null, "Ib(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_119);
        panel_119.setLayout(new BorderLayout(0, 0));
        tf_Ib = new JTextField();
        tf_Ib.setColumns(10);
        panel_119.add(tf_Ib);
        JPanel panel_120 = new JPanel();
        panel_120.setBorder(new TitledBorder(null, "Ic(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_120);
        panel_120.setLayout(new BorderLayout(0, 0));
        tf_Ic = new JTextField();
        tf_Ic.setColumns(10);
        panel_120.add(tf_Ic);
        JPanel panel_121 = new JPanel();
        panel_121.setBorder(new TitledBorder(null, "FTa", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_121);
        panel_121.setLayout(new BorderLayout(0, 0));
        tf_FTa = new JTextField();
        tf_FTa.setColumns(10);
        panel_121.add(tf_FTa);
        JPanel panel_122 = new JPanel();
        panel_122.setBorder(new TitledBorder(null, "FTb", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_122);
        panel_122.setLayout(new BorderLayout(0, 0));
        tf_FTb = new JTextField();
        tf_FTb.setColumns(10);
        panel_122.add(tf_FTb);
        JPanel panel_123 = new JPanel();
        panel_123.setBorder(new TitledBorder(null, "FTc", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_123);
        panel_123.setLayout(new BorderLayout(0, 0));
        tf_FTc = new JTextField();
        tf_FTc.setColumns(10);
        panel_123.add(tf_FTc);
        JPanel panel_124 = new JPanel();
        panel_124.setBorder(new TitledBorder(null, "Pa(kW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_124);
        panel_124.setLayout(new BorderLayout(0, 0));
        tf_Pa = new JTextField();
        tf_Pa.setColumns(10);
        panel_124.add(tf_Pa);
        JPanel panel_125 = new JPanel();
        panel_125.setBorder(new TitledBorder(null, "Pb(kW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_125);
        panel_125.setLayout(new BorderLayout(0, 0));
        tf_Pb = new JTextField();
        tf_Pb.setColumns(10);
        panel_125.add(tf_Pb);
        JPanel panel_126 = new JPanel();
        panel_126.setBorder(new TitledBorder(null, "Pc(kW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_126);
        panel_126.setLayout(new BorderLayout(0, 0));
        tf_Pc = new JTextField();
        tf_Pc.setColumns(10);
        panel_126.add(tf_Pc);
        JPanel panel_127 = new JPanel();
        panel_127.setBorder(new TitledBorder(null, "Qa(kVar)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_127);
        panel_127.setLayout(new BorderLayout(0, 0));
        tf_Qa = new JTextField();
        tf_Qa.setColumns(10);
        panel_127.add(tf_Qa);
        JPanel panel_128 = new JPanel();
        panel_128.setBorder(new TitledBorder(null, "Qb(kVar)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_128);
        panel_128.setLayout(new BorderLayout(0, 0));
        tf_Qb = new JTextField();
        tf_Qb.setColumns(10);
        panel_128.add(tf_Qb);
        JPanel panel_129 = new JPanel();
        panel_129.setBorder(new TitledBorder(null, "Qc(kVar)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_129);
        panel_129.setLayout(new BorderLayout(0, 0));
        tf_Qc = new JTextField();
        tf_Qc.setColumns(10);
        panel_129.add(tf_Qc);
        JPanel panel_170 = new JPanel();
        panel_170.setBorder(new TitledBorder(null, "Q(kVar)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_170);
        panel_170.setLayout(new BorderLayout(0, 0));
        tf_Q = new JTextField();
        tf_Q.setColumns(10);
        panel_170.add(tf_Q);
        JPanel panel_171 = new JPanel();
        panel_171.setBorder(new TitledBorder(null, "Sa(KKVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_171);
        panel_171.setLayout(new BorderLayout(0, 0));
        tf_Sa = new JTextField();
        tf_Sa.setColumns(10);
        panel_171.add(tf_Sa);
        JPanel panel_172 = new JPanel();
        panel_172.setBorder(new TitledBorder(null, "Sb(KKVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_172);
        panel_172.setLayout(new BorderLayout(0, 0));
        tf_Sb = new JTextField();
        tf_Sb.setColumns(10);
        panel_172.add(tf_Sb);
        JPanel panel_173 = new JPanel();
        panel_173.setBorder(new TitledBorder(null, "Sc(KKVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_173);
        panel_173.setLayout(new BorderLayout(0, 0));
        tf_Sc = new JTextField();
        tf_Sc.setColumns(10);
        panel_173.add(tf_Sc);
        JPanel panel_174 = new JPanel();
        panel_174.setBorder(new TitledBorder(null, "S(KKVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_174);
        panel_174.setLayout(new BorderLayout(0, 0));
        tf_S = new JTextField();
        tf_S.setColumns(10);
        panel_174.add(tf_S);
        JPanel panel_175 = new JPanel();
        panel_175.setBorder(new TitledBorder(null, "Ep(KWH)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_175);
        panel_175.setLayout(new BorderLayout(0, 0));
        tf_Ep = new JTextField();
        tf_Ep.setColumns(10);
        panel_175.add(tf_Ep);
        JPanel panel_176 = new JPanel();
        panel_176.setBorder(new TitledBorder(null, "PHv", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_176);
        panel_176.setLayout(new BorderLayout(0, 0));
        tf_PHv = new JTextField();
        tf_PHv.setColumns(10);
        panel_176.add(tf_PHv);
        JPanel panel_177 = new JPanel();
        panel_177.setBorder(new TitledBorder(null, "PHa", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_100.add(panel_177);
        panel_177.setLayout(new BorderLayout(0, 0));
        tf_PHa = new JTextField();
        tf_PHa.setColumns(10);
        panel_177.add(tf_PHa);
        JPanel panel_130 = new JPanel();
        panel_101.add(panel_130,BorderLayout.CENTER);
        panel_130.setLayout(new BorderLayout());
        JTabbedPane tp_param = new JTabbedPane(JTabbedPane.TOP);
        panel_130.add(tp_param, BorderLayout.CENTER);
        JPanel panel_wt = new JPanel();
        JPanel panel_zd = new JPanel();
        JPanel panel_bd = new JPanel();
        JPanel panel_st = new JPanel();
        JPanel panel_xb = new JPanel();
        tp_param.addTab("稳态测试",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_wt, null);
        tp_param.addTab("整定测试",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_zd, null);
        tp_param.addTab("波动测试",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_bd, null);
        tp_param.addTab("瞬态测试",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_st, null);
        tp_param.addTab("谐波测试",null/*new ImageIcon(zdhj_page_base.class.getResource("/png_16x16/target.png"))*/, panel_xb, null);
        panel_wt.setLayout(new BorderLayout());
        panel_zd.setLayout(new BorderLayout());
        panel_bd.setLayout(new BorderLayout());
        panel_st.setLayout(new BorderLayout());
        panel_xb.setLayout(new BorderLayout());
        JPanel panel_131 = new JPanel();
        panel_wt.add(panel_131,BorderLayout.CENTER);
        panel_131.setLayout(new GridLayout(0,4));
        JPanel panel_132 = new JPanel();
        panel_132.setBorder(new TitledBorder(null, "机房编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_132);
        panel_132.setLayout(new BorderLayout(0, 0));
        tf_JiFangNum_wt = new JTextField();
        tf_JiFangNum_wt.setEditable(false);
        panel_132.add(tf_JiFangNum_wt);
        tf_JiFangNum_wt.setColumns(10);
        JPanel panel_133 = new JPanel();
        panel_133.setBorder(new TitledBorder(null, "设备编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_133);
        panel_133.setLayout(new BorderLayout(0, 0));
        tf_DeviceNum_wt = new JTextField();
        tf_DeviceNum_wt.setEditable(false);
        panel_133.add(tf_DeviceNum_wt);
        tf_DeviceNum_wt.setColumns(10);
        JPanel panel_134 = new JPanel();
        panel_134.setBorder(new TitledBorder(null, "功率段数", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_134);
        panel_134.setLayout(new BorderLayout(0, 0));
        tf_PowerCount_wt = new JTextField();
        tf_PowerCount_wt.setDocument(new LimitedDocument(2, "0123456789"));
        panel_134.add(tf_PowerCount_wt);
        tf_PowerCount_wt.setColumns(10);
        JPanel panel_135 = new JPanel();
        panel_135.setBorder(new TitledBorder(null, "电压下限(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_135);
        panel_135.setLayout(new BorderLayout(0, 0));
        tf_VolLowLimit_wt = new JTextField();
        tf_VolLowLimit_wt.setDocument(new LimitedDocument(3, "0123456789"));
        panel_135.add(tf_VolLowLimit_wt);
        tf_VolLowLimit_wt.setColumns(10);
        JPanel panel_136 = new JPanel();
        panel_136.setBorder(new TitledBorder(null, "电流上限(A)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_136);
        panel_136.setLayout(new BorderLayout(0, 0));
        tf_CurrHigh_wt = new JTextField();
        tf_CurrHigh_wt.setDocument(new LimitedDocument(3, "0123456789"));
        panel_136.add(tf_CurrHigh_wt);
        tf_CurrHigh_wt.setColumns(10);
        JPanel panel_137 = new JPanel();
        panel_137.setBorder(new TitledBorder(null, "电压上限(V)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_137);
        panel_137.setLayout(new BorderLayout(0, 0));
        tf_VolHigh_wt = new JTextField();
        tf_VolHigh_wt.setDocument(new LimitedDocument(3, "0123456789"));
        panel_137.add(tf_VolHigh_wt);
        tf_VolHigh_wt.setColumns(10);
        JPanel panel_138 = new JPanel();
        panel_138.setBorder(new TitledBorder(null, "功率1(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_138);
        panel_138.setLayout(new BorderLayout(0, 0));
        tf_Power1_wt = new JTextField();
        tf_Power1_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_138.add(tf_Power1_wt);
        tf_Power1_wt.setColumns(10);
        JPanel panel_139 = new JPanel();
        panel_139.setBorder(new TitledBorder(null, "测试时间1(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_139);
        panel_139.setLayout(new BorderLayout(0, 0));
        tf_TestTime1_wt = new JTextField();
        tf_TestTime1_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_139.add(tf_TestTime1_wt);
        tf_TestTime1_wt.setColumns(10);
        JPanel panel_140 = new JPanel();
        panel_140.setBorder(new TitledBorder(null, "功率2(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_140);
        panel_140.setLayout(new BorderLayout(0, 0));
        tf_Power2_wt = new JTextField();
        tf_Power2_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_140.add(tf_Power2_wt);
        tf_Power2_wt.setColumns(10);
        JPanel panel_141 = new JPanel();
        panel_141.setBorder(new TitledBorder(null, "测试时间2(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_141);
        panel_141.setLayout(new BorderLayout(0, 0));
        tf_TestTime2_wt = new JTextField();
        tf_TestTime2_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_141.add(tf_TestTime2_wt);
        tf_TestTime2_wt.setColumns(10);
        JPanel panel_142 = new JPanel();
        panel_142.setBorder(new TitledBorder(null, "功率3(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_142);
        panel_142.setLayout(new BorderLayout(0, 0));
        tf_Power3_wt = new JTextField();
        tf_Power3_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_142.add(tf_Power3_wt);
        tf_Power3_wt.setColumns(10);
        JPanel panel_143 = new JPanel();
        panel_143.setBorder(new TitledBorder(null, "测试时间3(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_143);
        panel_143.setLayout(new BorderLayout(0, 0));
        tf_TestTime3_wt = new JTextField();
        tf_TestTime3_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_143.add(tf_TestTime3_wt);
        tf_TestTime3_wt.setColumns(10);
        JPanel panel_144 = new JPanel();
        panel_144.setBorder(new TitledBorder(null, "功率4(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_144);
        panel_144.setLayout(new BorderLayout(0, 0));
        tf_Power4_wt = new JTextField();
        tf_Power4_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_144.add(tf_Power4_wt);
        tf_Power4_wt.setColumns(10);
        JPanel panel_145 = new JPanel();
        panel_145.setBorder(new TitledBorder(null, "测试时间4(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_145);
        panel_145.setLayout(new BorderLayout(0, 0));
        tf_TestTime4_wt = new JTextField();
        tf_TestTime4_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_145.add(tf_TestTime4_wt);
        tf_TestTime4_wt.setColumns(10);
        JPanel panel_146 = new JPanel();
        panel_146.setBorder(new TitledBorder(null, "功率5(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_146);
        panel_146.setLayout(new BorderLayout(0, 0));
        tf_Power5_wt = new JTextField();
        tf_Power5_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_146.add(tf_Power5_wt);
        tf_Power5_wt.setColumns(10);
        JPanel panel_147 = new JPanel();
        panel_147.setBorder(new TitledBorder(null, "测试时间5(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_147);
        panel_147.setLayout(new BorderLayout(0, 0));
        tf_TestTime5_wt = new JTextField();
        tf_TestTime5_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_147.add(tf_TestTime5_wt);
        tf_TestTime5_wt.setColumns(10);
        JPanel panel_148 = new JPanel();
        panel_148.setBorder(new TitledBorder(null, "功率6(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_148);
        panel_148.setLayout(new BorderLayout(0, 0));
        tf_Power6_wt = new JTextField();
        tf_Power6_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_148.add(tf_Power6_wt);
        tf_Power6_wt.setColumns(10);
        JPanel panel_149 = new JPanel();
        panel_149.setBorder(new TitledBorder(null, "测试时间6(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_149);
        panel_149.setLayout(new BorderLayout(0, 0));
        tf_TestTime6_wt = new JTextField();
        tf_TestTime6_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_149.add(tf_TestTime6_wt);
        tf_TestTime6_wt.setColumns(10);
        JPanel panel_150 = new JPanel();
        panel_150.setBorder(new TitledBorder(null, "功率7(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_150);
        panel_150.setLayout(new BorderLayout(0, 0));
        tf_Power7_wt = new JTextField();
        tf_Power7_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_150.add(tf_Power7_wt);
        tf_Power7_wt.setColumns(10);
        JPanel panel_151 = new JPanel();
        panel_151.setBorder(new TitledBorder(null, "测试时间7(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_151);
        panel_151.setLayout(new BorderLayout(0, 0));
        tf_TestTime7_wt = new JTextField();
        tf_TestTime7_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_151.add(tf_TestTime7_wt);
        tf_TestTime7_wt.setColumns(10);
        JPanel panel_152 = new JPanel();
        panel_152.setBorder(new TitledBorder(null, "功率8(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_152);
        panel_152.setLayout(new BorderLayout(0, 0));
        tf_Power8_wt = new JTextField();
        tf_Power8_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_152.add(tf_Power8_wt);
        tf_Power8_wt.setColumns(10);
        JPanel panel_153 = new JPanel();
        panel_153.setBorder(new TitledBorder(null, "测试时间8(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_153);
        panel_153.setLayout(new BorderLayout(0, 0));
        tf_TestTime8_wt = new JTextField();
        tf_TestTime8_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_153.add(tf_TestTime8_wt);
        tf_TestTime8_wt.setColumns(10);
        JPanel panel_154 = new JPanel();
        panel_154.setBorder(new TitledBorder(null, "功率9(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_154);
        panel_154.setLayout(new BorderLayout(0, 0));
        tf_Power9_wt = new JTextField();
        tf_Power9_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_154.add(tf_Power9_wt);
        tf_Power9_wt.setColumns(10);
        JPanel panel_155 = new JPanel();
        panel_155.setBorder(new TitledBorder(null, "测试时间9(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_155);
        panel_155.setLayout(new BorderLayout(0, 0));
        tf_TestTime9_wt = new JTextField();
        tf_TestTime9_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_155.add(tf_TestTime9_wt);
        tf_TestTime9_wt.setColumns(10);
        JPanel panel_80 = new JPanel();
        panel_80.setBorder(new TitledBorder(null, "功率10(KVA)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_80);
        panel_80.setLayout(new BorderLayout(0, 0));
        tf_Power10_wt = new JTextField();
        tf_Power10_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_80.add(tf_Power10_wt);
        tf_Power10_wt.setColumns(10);
        JPanel panel_81 = new JPanel();
        panel_81.setBorder(new TitledBorder(null, "测试时间10(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_131.add(panel_81);
        panel_81.setLayout(new BorderLayout(0, 0));
        tf_TestTime10_wt = new JTextField();
        tf_TestTime10_wt.setDocument(new LimitedDocument(4, "0123456789"));
        panel_81.add(tf_TestTime10_wt);
        tf_TestTime10_wt.setColumns(10);
        JPanel panel_156 = new JPanel();
        panel_wt.add(panel_156,BorderLayout.SOUTH);
        panel_156.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
        btn_wt_read = new JButton("读取");
        btn_wt_read.setEnabled(false);
        btn_wt_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_READ, IAC_ComBase.CMD_TestParam_Addr, ByteBuffer.allocate(0));
            }
        });
        btn_wt_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_156.add(btn_wt_read);
        btn_wt_write = new JButton("设置");
        btn_wt_write.setEnabled(false);
        btn_wt_write.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if(!Comm_ICA.m_TestParamFromDev.is_ReadParam) {
                    JOptionPane.showMessageDialog(null, "请先读取测试参数!");
                    return;
                }
                IAC_TestParam tmp_param = new IAC_TestParam();
                tmp_param.clone(Comm_ICA.m_TestParamFromDev);
                try {
                    tmp_param.WTPowerCount = Integer.parseInt(tf_PowerCount_wt.getText());        //功率段数[1-10]
                    tmp_param.VolLowLimit = Integer.parseInt(tf_VolLowLimit_wt.getText());        //电压下限[1-220V]
                    tmp_param.Power1[0] = Integer.parseInt(tf_Power1_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[1] = Integer.parseInt(tf_Power2_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[2] = Integer.parseInt(tf_Power3_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[3] = Integer.parseInt(tf_Power4_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[4] = Integer.parseInt(tf_Power5_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[5] = Integer.parseInt(tf_Power6_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[6] = Integer.parseInt(tf_Power7_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[7] = Integer.parseInt(tf_Power8_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[8] = Integer.parseInt(tf_Power9_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.Power1[9] = Integer.parseInt(tf_Power10_wt.getText());;            //功率段[0-9999KVA]
                    tmp_param.CurrHigh = Float.parseFloat(tf_CurrHigh_wt.getText());                    //电流上限(1-525A)
                    tmp_param.VolHigh = Float.parseFloat(tf_VolHigh_wt.getText());                    //电压上限(1-255V)
                    tmp_param.TestTime[0] = Integer.parseInt(tf_TestTime1_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[1] = Integer.parseInt(tf_TestTime2_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[2] = Integer.parseInt(tf_TestTime3_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[3] = Integer.parseInt(tf_TestTime4_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[4] = Integer.parseInt(tf_TestTime5_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[5] = Integer.parseInt(tf_TestTime6_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[6] = Integer.parseInt(tf_TestTime7_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[7] = Integer.parseInt(tf_TestTime8_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[8] = Integer.parseInt(tf_TestTime9_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.TestTime[9] = Integer.parseInt(tf_TestTime10_wt.getText());    //测试时间段(0-5999min)
                    tmp_param.ParamType = IAC_TestParam.ParamType_WT;
                    Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_MULTY, IAC_ComBase.CMD_SetTestParam_Addr, tmp_param.getByteBuffer());
                } catch (NumberFormatException e) {
                    JOptionPane.showMessageDialog(null, "请输入合法的测试参数!");
                    return;
                }
            }
        });
        btn_wt_write.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_156.add(btn_wt_write);
        btn_wt_start = new JButton("启动");
        btn_wt_start.setEnabled(false);
        btn_wt_start.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_WTTest_Addr, IAC_Cmd.createControlByteBuffer(0x0001&0xFFFF));
            }
        });
        btn_wt_start.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_156.add(btn_wt_start);
        btn_wt_pause = new JButton("暂停");
        btn_wt_pause.setEnabled(false);
        btn_wt_pause.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_WTTest_Addr, IAC_Cmd.createControlByteBuffer(0x0002&0xFFFF));
            }
        });
        btn_wt_pause.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_156.add(btn_wt_pause);
        btn_wt_stop = new JButton("ֹͣ");
        btn_wt_stop.setEnabled(false);
        btn_wt_stop.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_WTTest_Addr, IAC_Cmd.createControlByteBuffer(0x0003&0xFFFF));
            }
        });
        btn_wt_stop.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_156.add(btn_wt_stop);
        JPanel panel_157 = new JPanel();
        panel_zd.add(panel_157,BorderLayout.NORTH);
        panel_157.setLayout(new GridLayout(0,4));
        JPanel panel_158 = new JPanel();
        panel_158.setBorder(new TitledBorder(null, "机房编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_157.add(panel_158);
        panel_158.setLayout(new BorderLayout(0, 0));
        tf_JiFangNum_zd = new JTextField();
        tf_JiFangNum_zd.setEditable(false);
        panel_158.add(tf_JiFangNum_zd);
        tf_JiFangNum_zd.setColumns(10);
        JPanel panel_159 = new JPanel();
        panel_159.setBorder(new TitledBorder(null, "设备编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_157.add(panel_159);
        panel_159.setLayout(new BorderLayout(0, 0));
        tf_DeviceNum_zd = new JTextField();
        tf_DeviceNum_zd.setEditable(false);
        panel_159.add(tf_DeviceNum_zd);
        tf_DeviceNum_zd.setColumns(10);
        JPanel panel_160 = new JPanel();
        panel_160.setBorder(new TitledBorder(null, "额定功率(KW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_157.add(panel_160);
        panel_160.setLayout(new BorderLayout(0, 0));
        tf_STDPower_zd = new JTextField();
        panel_160.add(tf_STDPower_zd);
        tf_STDPower_zd.setColumns(10);
        JPanel panel_161 = new JPanel();
        panel_161.setBorder(new TitledBorder(null, "测试间隔(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_157.add(panel_161);
        panel_161.setLayout(new BorderLayout(0, 0));
        tf_TimeCount_zd = new JTextField();
        panel_161.add(tf_TimeCount_zd);
        tf_TimeCount_zd.setColumns(10);
        JPanel panel_162 = new JPanel();
        panel_162.setBorder(new TitledBorder(null, "负载段数", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_157.add(panel_162);
        panel_162.setLayout(new BorderLayout(0, 0));
        tf_PowerCount_zd = new JTextField();
        panel_162.add(tf_PowerCount_zd);
        tf_PowerCount_zd.setColumns(10);
        JPanel panel_163 = new JPanel();
        panel_zd.add(panel_163,BorderLayout.SOUTH);
        panel_163.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
        btn_zd_read = new JButton("读取");
        btn_zd_read.setEnabled(false);
        btn_zd_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_READ, IAC_ComBase.CMD_TestParam_Addr, ByteBuffer.allocate(0));
            }
        });
        btn_zd_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_163.add(btn_zd_read);
        btn_zd_write = new JButton("设置");
        btn_zd_write.setEnabled(false);
        btn_zd_write.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if(!Comm_ICA.m_TestParamFromDev.is_ReadParam) {
                    JOptionPane.showMessageDialog(null, "请先读取测试参数!");
                    return;
                }
                IAC_TestParam tmp_param = new IAC_TestParam();
                tmp_param.clone(Comm_ICA.m_TestParamFromDev);
                try {
                    tmp_param.STDPower = Float.parseFloat(tf_STDPower_zd.getText());                    //额定功率负载(0-9999KW)
                    tmp_param.TimeCount = Integer.parseInt(tf_TimeCount_zd.getText());                    //测试间隔(5-9999S)
                    tmp_param.ZDPowerCount = Integer.parseInt(tf_PowerCount_zd.getText());                //功率段数(2-5)
                    //tmp_param.PowerPercent;                                                            //负载率(0-100%)
                    tmp_param.ParamType = IAC_TestParam.ParamType_Other;                                //设置参数类型 0-稳态测试  1-其他
                    Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_MULTY, IAC_ComBase.CMD_SetTestParam_Addr, tmp_param.getByteBuffer());
                } catch (NumberFormatException e) {
                    JOptionPane.showMessageDialog(null, "请输入合法的测试参数!");
                    return;
                }
            }
        });
        btn_zd_write.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_163.add(btn_zd_write);
        btn_zd_start = new JButton("启动");
        btn_zd_start.setEnabled(false);
        btn_zd_start.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_ZDTest_Addr, IAC_Cmd.createControlByteBuffer(0x0001&0xFFFF));
            }
        });
        btn_zd_start.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_163.add(btn_zd_start);
        btn_zd_pause = new JButton("暂停");
        btn_zd_pause.setEnabled(false);
        btn_zd_pause.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_ZDTest_Addr, IAC_Cmd.createControlByteBuffer(0x0002&0xFFFF));
            }
        });
        btn_zd_pause.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_163.add(btn_zd_pause);
        btn_zd_stop = new JButton("ֹͣ");
        btn_zd_stop.setEnabled(false);
        btn_zd_stop.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_ZDTest_Addr, IAC_Cmd.createControlByteBuffer(0x0003&0xFFFF));
            }
        });
        btn_zd_stop.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_163.add(btn_zd_stop);
        JPanel panel_164= new JPanel();
        panel_bd.add(panel_164,BorderLayout.NORTH);
        panel_164.setLayout(new GridLayout(0,4));
        JPanel panel_165 = new JPanel();
        panel_165.setBorder(new TitledBorder(null, "机房编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_164.add(panel_165);
        panel_165.setLayout(new BorderLayout(0, 0));
        tf_JiFangNum_bd = new JTextField();
        tf_JiFangNum_bd.setEditable(false);
        panel_165.add(tf_JiFangNum_bd);
        tf_JiFangNum_bd.setColumns(10);
        JPanel panel_166 = new JPanel();
        panel_166.setBorder(new TitledBorder(null, "设备编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_164.add(panel_166);
        panel_166.setLayout(new BorderLayout(0, 0));
        tf_DeviceNum_bd = new JTextField();
        tf_DeviceNum_bd.setEditable(false);
        panel_166.add(tf_DeviceNum_bd);
        tf_DeviceNum_bd.setColumns(10);
        JPanel panel_167 = new JPanel();
        panel_167.setBorder(new TitledBorder(null, "额定功率(KW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_164.add(panel_167);
        panel_167.setLayout(new BorderLayout(0, 0));
        tf_STDPower_bd = new JTextField();
        panel_167.add(tf_STDPower_bd);
        tf_STDPower_bd.setColumns(10);
        JPanel panel_168 = new JPanel();
        panel_168.setBorder(new TitledBorder(null, "测试间隔(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_164.add(panel_168);
        panel_168.setLayout(new BorderLayout(0, 0));
        tf_TimeCount_bd = new JTextField();
        panel_168.add(tf_TimeCount_bd);
        tf_TimeCount_bd.setColumns(10);
        JPanel panel_169 = new JPanel();
        panel_169.setBorder(new TitledBorder(null, "负载段数", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_164.add(panel_169);
        panel_169.setLayout(new BorderLayout(0, 0));
        tf_PowerCount_bd = new JTextField();
        panel_169.add(tf_PowerCount_bd);
        tf_PowerCount_bd.setColumns(10);
        JPanel panel_270 = new JPanel();
        panel_bd.add(panel_270,BorderLayout.SOUTH);
        panel_270.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
        btn_bd_read = new JButton("读取");
        btn_bd_read.setEnabled(false);
        btn_bd_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_READ, IAC_ComBase.CMD_TestParam_Addr, ByteBuffer.allocate(0));
            }
        });
        btn_bd_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_270.add(btn_bd_read);
        btn_bd_write = new JButton("设置");
        btn_bd_write.setEnabled(false);
        btn_bd_write.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if(!Comm_ICA.m_TestParamFromDev.is_ReadParam) {
                    JOptionPane.showMessageDialog(null, "请先读取测试参数!");
                    return;
                }
                IAC_TestParam tmp_param = new IAC_TestParam();
                tmp_param.clone(Comm_ICA.m_TestParamFromDev);
                try {
                    tmp_param.STDPower = Float.parseFloat(tf_STDPower_bd.getText());                    //额定功率负载(0-9999KW)
                    tmp_param.TimeCount = Integer.parseInt(tf_TimeCount_bd.getText());                    //测试间隔(5-9999S)
                    tmp_param.ZDPowerCount = Integer.parseInt(tf_PowerCount_bd.getText());                //功率段数(2-5)
                    //tmp_param.PowerPercent;                                                            //负载率(0-100%)
                    tmp_param.ParamType = IAC_TestParam.ParamType_Other;                                //设置参数类型 0-稳态测试  1-其他
                    Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_MULTY, IAC_ComBase.CMD_SetTestParam_Addr, tmp_param.getByteBuffer());
                } catch (NumberFormatException e) {
                    JOptionPane.showMessageDialog(null, "请输入合法的测试参数!");
                    return;
                }
            }
        });
        btn_bd_write.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_270.add(btn_bd_write);
        btn_bd_start = new JButton("启动");
        btn_bd_start.setEnabled(false);
        btn_bd_start.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_BDTest_Addr, IAC_Cmd.createControlByteBuffer(0x0001&0xFFFF));
            }
        });
        btn_bd_start.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_270.add(btn_bd_start);
        btn_bd_pause = new JButton("暂停");
        btn_bd_pause.setEnabled(false);
        btn_bd_pause.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_BDTest_Addr, IAC_Cmd.createControlByteBuffer(0x0002&0xFFFF));
            }
        });
        btn_bd_pause.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_270.add(btn_bd_pause);
        btn_bd_stop = new JButton("ֹͣ");
        btn_bd_stop.setEnabled(false);
        btn_bd_stop.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_BDTest_Addr, IAC_Cmd.createControlByteBuffer(0x0003&0xFFFF));
            }
        });
        btn_bd_stop.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_270.add(btn_bd_stop);
        JPanel panel_271= new JPanel();
        panel_st.add(panel_271,BorderLayout.NORTH);
        panel_271.setLayout(new GridLayout(0,4));
        JPanel panel_272 = new JPanel();
        panel_272.setBorder(new TitledBorder(null, "机房编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_271.add(panel_272);
        panel_272.setLayout(new BorderLayout(0, 0));
        tf_JiFangNum_st = new JTextField();
        tf_JiFangNum_st.setEditable(false);
        panel_272.add(tf_JiFangNum_st);
        tf_JiFangNum_st.setColumns(10);
        JPanel panel_273 = new JPanel();
        panel_273.setBorder(new TitledBorder(null, "设备编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_271.add(panel_273);
        panel_273.setLayout(new BorderLayout(0, 0));
        tf_DeviceNum_st = new JTextField();
        tf_DeviceNum_st.setEditable(false);
        panel_273.add(tf_DeviceNum_st);
        tf_DeviceNum_st.setColumns(10);
        JPanel panel_274 = new JPanel();
        panel_274.setBorder(new TitledBorder(null, "额定功率(KW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_271.add(panel_274);
        panel_274.setLayout(new BorderLayout(0, 0));
        tf_STDPower_st = new JTextField();
        panel_274.add(tf_STDPower_st);
        tf_STDPower_st.setColumns(10);
        JPanel panel_275 = new JPanel();
        panel_275.setBorder(new TitledBorder(null, "测试间隔(S)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_271.add(panel_275);
        panel_275.setLayout(new BorderLayout(0, 0));
        tf_TimeCount_st = new JTextField();
        panel_275.add(tf_TimeCount_st);
        tf_TimeCount_st.setColumns(10);
        JPanel panel_276 = new JPanel();
        panel_276.setBorder(new TitledBorder(null, "负载率(%)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_271.add(panel_276);
        panel_276.setLayout(new BorderLayout(0, 0));
        tf_PowerPercent_st = new JTextField();
        panel_276.add(tf_PowerPercent_st);
        tf_PowerPercent_st.setColumns(10);
        JPanel panel_277 = new JPanel();
        panel_st.add(panel_277,BorderLayout.SOUTH);
        panel_277.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
        btn_st_read = new JButton("读取");
        btn_st_read.setEnabled(false);
        btn_st_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_READ, IAC_ComBase.CMD_TestParam_Addr, ByteBuffer.allocate(0));
            }
        });
        btn_st_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_277.add(btn_st_read);
        btn_st_write = new JButton("设置");
        btn_st_write.setEnabled(false);
        btn_st_write.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if(!Comm_ICA.m_TestParamFromDev.is_ReadParam) {
                    JOptionPane.showMessageDialog(null, "请先读取测试参数!");
                    return;
                }
                IAC_TestParam tmp_param = new IAC_TestParam();
                tmp_param.clone(Comm_ICA.m_TestParamFromDev);
                try {
                    tmp_param.STDPower = Float.parseFloat(tf_STDPower_st.getText());                    //额定功率负载(0-9999KW)
                    tmp_param.TimeCount = Integer.parseInt(tf_TimeCount_st.getText());                    //测试间隔(5-9999S)
                    //tmp_param.ZDPowerCount = Integer.parseInt(tf_PowerCount_bd.getText());                //功率段数(2-5)
                    tmp_param.PowerPercent = Integer.parseInt(tf_PowerPercent_st.getText());                                                            //负载率(0-100%)
                    tmp_param.ParamType = IAC_TestParam.ParamType_Other;                                //设置参数类型 0-稳态测试  1-其他
                    Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_MULTY, IAC_ComBase.CMD_SetTestParam_Addr, tmp_param.getByteBuffer());
                } catch (NumberFormatException e) {
                    JOptionPane.showMessageDialog(null, "请输入合法的测试参数!");
                    return;
                }
            }
        });
        btn_st_write.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_277.add(btn_st_write);
        btn_st_start = new JButton("启动");
        btn_st_start.setEnabled(false);
        btn_st_start.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_STTest_Addr, IAC_Cmd.createControlByteBuffer(0x0001&0xFFFF));
            }
        });
        btn_st_start.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_277.add(btn_st_start);
        btn_st_pause = new JButton("暂停");
        btn_st_pause.setEnabled(false);
        btn_st_pause.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_STTest_Addr, IAC_Cmd.createControlByteBuffer(0x0002&0xFFFF));
            }
        });
        btn_st_pause.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_277.add(btn_st_pause);
        btn_st_stop = new JButton("ֹͣ");
        btn_st_stop.setEnabled(false);
        btn_st_stop.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_STTest_Addr, IAC_Cmd.createControlByteBuffer(0x0003&0xFFFF));
            }
        });
        btn_st_stop.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_277.add(btn_st_stop);
        JPanel panel_278= new JPanel();
        panel_xb.add(panel_278,BorderLayout.NORTH);
        panel_278.setLayout(new GridLayout(0,4));
        JPanel panel_279 = new JPanel();
        panel_279.setBorder(new TitledBorder(null, "机房编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_278.add(panel_279);
        panel_279.setLayout(new BorderLayout(0, 0));
        tf_JiFangNum_xb = new JTextField();
        tf_JiFangNum_xb.setEditable(false);
        panel_279.add(tf_JiFangNum_xb);
        tf_JiFangNum_xb.setColumns(10);
        JPanel panel_280 = new JPanel();
        panel_280.setBorder(new TitledBorder(null, "设备编号", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_278.add(panel_280);
        panel_280.setLayout(new BorderLayout(0, 0));
        tf_DeviceNum_xb = new JTextField();
        tf_DeviceNum_xb.setEditable(false);
        panel_280.add(tf_DeviceNum_xb);
        tf_DeviceNum_xb.setColumns(10);
        JPanel panel_281 = new JPanel();
        panel_281.setBorder(new TitledBorder(null, "额定功率(KW)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_278.add(panel_281);
        panel_281.setLayout(new BorderLayout(0, 0));
        tf_STDPower_xb = new JTextField();
        panel_281.add(tf_STDPower_xb);
        tf_STDPower_xb.setColumns(10);
        JPanel panel_282 = new JPanel();
        panel_282.setBorder(new TitledBorder(null, "负载率(%)", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_278.add(panel_282);
        panel_282.setLayout(new BorderLayout(0, 0));
        tf_PowerPercent_xb = new JTextField();
        panel_282.add(tf_PowerPercent_xb);
        tf_PowerPercent_xb.setColumns(10);
        JPanel panel_283 = new JPanel();
        panel_xb.add(panel_283,BorderLayout.SOUTH);
        panel_283.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
        btn_xb_read = new JButton("读取");
        btn_xb_read.setEnabled(false);
        btn_xb_read.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_READ, IAC_ComBase.CMD_TestParam_Addr, ByteBuffer.allocate(0));
            }
        });
        btn_xb_read.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_283.add(btn_xb_read);
        btn_xb_write = new JButton("设置");
        btn_xb_write.setEnabled(false);
        btn_xb_write.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if(!Comm_ICA.m_TestParamFromDev.is_ReadParam) {
                    JOptionPane.showMessageDialog(null, "请先读取测试参数!");
                    return;
                }
                IAC_TestParam tmp_param = new IAC_TestParam();
                tmp_param.clone(Comm_ICA.m_TestParamFromDev);
                try {
                    tmp_param.STDPower = Float.parseFloat(tf_STDPower_xb.getText());                    //额定功率负载(0-9999KW)
                    //tmp_param.TimeCount = Integer.parseInt(tf_TimeCount_st.getText());                    //测试间隔(5-9999S)
                    //tmp_param.ZDPowerCount = Integer.parseInt(tf_PowerCount_bd.getText());                //功率段数(2-5)
                    tmp_param.PowerPercent = Integer.parseInt(tf_PowerPercent_xb.getText());                                                            //负载率(0-100%)
                    tmp_param.ParamType = IAC_TestParam.ParamType_Other;                                //设置参数类型 0-稳态测试  1-其他
                    Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_MULTY, IAC_ComBase.CMD_SetTestParam_Addr, tmp_param.getByteBuffer());
                } catch (NumberFormatException e) {
                    JOptionPane.showMessageDialog(null, "请输入合法的测试参数!");
                    return;
                }
            }
        });
        btn_xb_write.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_283.add(btn_xb_write);
        btn_xb_start = new JButton("启动");
        btn_xb_start.setEnabled(false);
        btn_xb_start.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_XBTest_Addr, IAC_Cmd.createControlByteBuffer(0x0001&0xFFFF));
            }
        });
        btn_xb_start.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_283.add(btn_xb_start);
        btn_xb_pause = new JButton("暂停");
        btn_xb_pause.setEnabled(false);
        btn_xb_pause.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_XBTest_Addr, IAC_Cmd.createControlByteBuffer(0x0002&0xFFFF));
            }
        });
        btn_xb_pause.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_283.add(btn_xb_pause);
        btn_xb_stop = new JButton("ֹͣ");
        btn_xb_stop.setEnabled(false);
        btn_xb_stop.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                Comm_ICA.setCommCmd(MyModBusRtu.CMD_TYPE_WRITE_STD, IAC_ComBase.CMD_XBTest_Addr, IAC_Cmd.createControlByteBuffer(0x0003&0xFFFF));
            }
        });
        btn_xb_stop.setFont(new Font("宋体", Font.PLAIN, 12));
        panel_283.add(btn_xb_stop);
        JPanel panel_190 = new JPanel();
        panel_190.setBorder(new TitledBorder(null, "操作结果", TitledBorder.LEADING, TitledBorder.TOP, null, null));
        panel_baseinfo.add(panel_190,BorderLayout.SOUTH);
        panel_190.setLayout(new BorderLayout(0, 0));
        tf_op_inf = new JTextField();
        panel_190.add(tf_op_inf,BorderLayout.CENTER);
        /********************************************************************/
    }
    public boolean openCommPort(int comm_type, String spname_or_ipaddr,
                                int bitrate_or_ipport, int dev_addr, Logger log) {
        boolean res = false;
        Comm_ICA = new SPCommIAC_600KW(dev_addr, bitrate_or_ipport, panel_debug, log);
        if(true == Comm_ICA.OpenCommPort(comm_type, spname_or_ipaddr, bitrate_or_ipport)) {
            Thread spcommThread = new Thread(Comm_ICA);
            spcommThread.start();
            setButttonState(true);
            res = true;
        }
        return res;
    }
    public void closeCommPort() {
        if(null != Comm_ICA) {
            Comm_ICA.CloseCommPort();
            Comm_ICA = null;
            setButttonState(false);
        }
    }
    public void setButttonState(boolean state) {
        btn_wt_read.setEnabled(state);                //读取
        btn_wt_write.setEnabled(state);                //设置
        btn_wt_start.setEnabled(state);                //启动
        btn_wt_pause.setEnabled(state);                //暂停
        btn_wt_stop.setEnabled(state);                //ֹͣ
        btn_zd_read.setEnabled(state);                //读取
        btn_zd_write.setEnabled(state);                //设置
        btn_zd_start.setEnabled(state);                //启动
        btn_zd_pause.setEnabled(state);                //暂停
        btn_zd_stop.setEnabled(state);                //ֹͣ
        btn_bd_read.setEnabled(state);                //读取
        btn_bd_write.setEnabled(state);                //设置
        btn_bd_start.setEnabled(state);                //启动
        btn_bd_pause.setEnabled(state);                //暂停
        btn_bd_stop.setEnabled(state);                //ֹͣ
        btn_st_read.setEnabled(state);                //读取
        btn_st_write.setEnabled(state);                //设置
        btn_st_start.setEnabled(state);                //启动
        btn_st_pause.setEnabled(state);                //暂停
        btn_st_stop.setEnabled(state);                //ֹͣ
        btn_xb_read.setEnabled(state);                //读取
        btn_xb_write.setEnabled(state);                //设置
        btn_xb_start.setEnabled(state);                //启动
        btn_xb_pause.setEnabled(state);                //暂停
        btn_xb_stop.setEnabled(state);                //ֹͣ
    }
    /**
     *
     */
    public void updateData() {
        if(null != Comm_ICA) {
            if(null != Comm_ICA.m_RealData) {
                IAC_RealData tmp_real = Comm_ICA.m_RealData;
                tf_Ua.setText(String.format("%1.1f", tmp_real.getUa()));
                tf_Ub.setText(String.format("%1.1f", tmp_real.getUb()));
                tf_Uc.setText(String.format("%1.1f", tmp_real.getUc()));
                tf_Uab.setText(String.format("%1.1f", tmp_real.getUab()));
                tf_Ubc.setText(String.format("%1.1f", tmp_real.getUbc()));
                tf_Uca.setText(String.format("%1.1f", tmp_real.getUca()));
                tf_Ia.setText(String.format("%1.1f", tmp_real.getIa()));
                tf_Ib.setText(String.format("%1.1f", tmp_real.getIb()));
                tf_Ic.setText(String.format("%1.1f", tmp_real.getIc()));
                tf_Fre.setText(String.format("%1.1f", tmp_real.getFre()));
                tf_Ft.setText(String.format("%1.3f", tmp_real.getFT()));
                tf_FTa.setText(String.format("%1.3f", tmp_real.getFTa()));
                tf_FTb.setText(String.format("%1.3f", tmp_real.getFTb()));
                tf_FTc.setText(String.format("%1.3f", tmp_real.getFTc()));
                tf_Pa.setText(String.format("%1.1f", tmp_real.getPa()));
                tf_Pb.setText(String.format("%1.1f", tmp_real.getPb()));
                tf_Pc.setText(String.format("%1.1f", tmp_real.getPc()));
                tf_P.setText(String.format("%1.1f", tmp_real.getP()));
                tf_Qa.setText(String.format("%1.1f", tmp_real.getQa()));
                tf_Qb.setText(String.format("%1.1f", tmp_real.getQb()));
                tf_Qc.setText(String.format("%1.1f", tmp_real.getQc()));
                tf_Q.setText(String.format("%1.1f", tmp_real.getQ()));
                tf_Sa.setText(String.format("%1.1f", tmp_real.getSa()));
                tf_Sb.setText(String.format("%1.1f", tmp_real.getSb()));
                tf_Sc.setText(String.format("%1.1f", tmp_real.getSc()));
                tf_S.setText(String.format("%1.1f", tmp_real.getS()));
                tf_Ep.setText(String.format("%1.1f", tmp_real.getEp()));
                tf_PHv.setText(String.format("%1.0f", tmp_real.getPHv()));
                tf_PHa.setText(String.format("%1.0f", tmp_real.getPHa()));
                tf_JbxbUa.setText(String.format("%1.1f", tmp_real.getJBXBUa()));
                tf_JbxbUb.setText(String.format("%1.1f", tmp_real.getJBXBUb()));
                tf_JbxbUc.setText(String.format("%1.1f", tmp_real.getJBXBUc()));
                tf_JbxbIa.setText(String.format("%1.1f", tmp_real.getJBXBIa()));
                tf_JbxbIb.setText(String.format("%1.1f", tmp_real.getJBXBIb()));
                tf_JbxbIc.setText(String.format("%1.1f", tmp_real.getJBXBIc()));
                SysWorkState.setText(String.format("%s", tmp_real.getSysWorkStateStr()));
                tf_op_inf.setText(String.format("%s",Comm_ICA.op_result));
            }
            if(IAC_ComBase.CMD_GetParam_Ack == Comm_ICA.dt_cmd_ack) {
                IAC_TestParam param = Comm_ICA.m_TestParamFromDev;
                this.tf_JiFangNum_wt.setText(String.format("%d",param.JiFangNum));            //机房编号
                this.tf_DeviceNum_wt.setText(String.format("%d",param.DeviceNum));            //设备编号
                this.tf_PowerCount_wt.setText(String.format("%d",param.WTPowerCount));        //功率段数
                this.tf_VolLowLimit_wt.setText(String.format("%d",param.VolLowLimit));        //电压下限
                this.tf_Power1_wt.setText(String.format("%d",param.Power1[0]));                //功率1
                this.tf_Power2_wt.setText(String.format("%d",param.Power1[1]));                //功率2
                this.tf_Power3_wt.setText(String.format("%d",param.Power1[2]));                //功率3
                this.tf_Power4_wt.setText(String.format("%d",param.Power1[3]));                //功率4
                this.tf_Power5_wt.setText(String.format("%d",param.Power1[4]));                //功率5
                this.tf_Power6_wt.setText(String.format("%d",param.Power1[5]));                //功率6
                this.tf_Power7_wt.setText(String.format("%d",param.Power1[6]));                //功率7
                this.tf_Power8_wt.setText(String.format("%d",param.Power1[7]));                //功率8
                this.tf_Power9_wt.setText(String.format("%d",param.Power1[8]));                //功率9
                this.tf_Power10_wt.setText(String.format("%d",param.Power1[9]));            //功率10
                this.tf_CurrHigh_wt.setText(String.format("%1.0f",param.CurrHigh));            //电流上限
                this.tf_VolHigh_wt.setText(String.format("%1.0f",param.VolHigh));            //电压上限
                this.tf_TestTime1_wt.setText(String.format("%d",param.TestTime[0]));        //测试时间1
                this.tf_TestTime2_wt.setText(String.format("%d",param.TestTime[1]));        //测试时间2
                this.tf_TestTime3_wt.setText(String.format("%d",param.TestTime[2]));        //测试时间3
                this.tf_TestTime4_wt.setText(String.format("%d",param.TestTime[3]));        //测试时间4
                this.tf_TestTime5_wt.setText(String.format("%d",param.TestTime[4]));        //测试时间5
                this.tf_TestTime6_wt.setText(String.format("%d",param.TestTime[5]));        //测试时间6
                this.tf_TestTime7_wt.setText(String.format("%d",param.TestTime[6]));        //测试时间7
                this.tf_TestTime8_wt.setText(String.format("%d",param.TestTime[7]));        //测试时间8
                this.tf_TestTime9_wt.setText(String.format("%d",param.TestTime[8]));        //测试时间9
                this.tf_TestTime10_wt.setText(String.format("%d",param.TestTime[9]));        //测试时间10
                this.tf_JiFangNum_zd.setText(String.format("%d",param.JiFangNum));            //机房编号
                this.tf_DeviceNum_zd.setText(String.format("%d",param.DeviceNum));            //设备编号
                this.tf_STDPower_zd.setText(String.format("%1.0f",param.STDPower));            //额定功率
                this.tf_TimeCount_zd.setText(String.format("%d",param.TimeCount));            //测试间隔
                this.tf_PowerCount_zd.setText(String.format("%d",param.ZDPowerCount));        //负载段数
                this.tf_JiFangNum_bd.setText(String.format("%d",param.JiFangNum));            //机房编号
                this.tf_DeviceNum_bd.setText(String.format("%d",param.DeviceNum));            //设备编号
                this.tf_STDPower_bd.setText(String.format("%1.0f",param.STDPower));            //额定功率
                this.tf_TimeCount_bd.setText(String.format("%d",param.TimeCount));            //测试间隔
                this.tf_PowerCount_bd.setText(String.format("%d",param.ZDPowerCount));        //负载段数
                this.tf_JiFangNum_st.setText(String.format("%d",param.JiFangNum));            //机房编号
                this.tf_DeviceNum_st.setText(String.format("%d",param.DeviceNum));            //设备编号
                this.tf_STDPower_st.setText(String.format("%1.0f",param.STDPower));            //额定功率
                this.tf_TimeCount_st.setText(String.format("%d",param.TimeCount));            //测试间隔
                this.tf_PowerPercent_st.setText(String.format("%d",param.PowerPercent));    //负载率
                this.tf_JiFangNum_xb.setText(String.format("%d",param.JiFangNum));            //机房编号
                this.tf_DeviceNum_xb.setText(String.format("%d",param.DeviceNum));            //设备编号
                this.tf_STDPower_xb.setText(String.format("%1.0f",param.STDPower));            //额定功率
                this.tf_PowerPercent_xb.setText(String.format("%d",param.PowerPercent));    //负载率
                Comm_ICA.dt_cmd_ack = IAC_ComBase.CMD_Null;
            }
        }
    }
}
Device_Simulator_DTS_Tester/src/main/main_window_computer.java
@@ -57,12 +57,12 @@
import com.dev.fbs9600_mon.SPCommMon;
import com.dev.fbs9600_mon.module_mon_page;
import com.dev.fbs9600_zdhj.zdhj_page_base;
import com.dev.ica_600kw.*;
import com.dev.nrf_lora_tester.loratester_page_base;
import com.dev.ntm.ntm_page_base;
import com.dev.simpower.power_page_base;
import com.dev.switchdev.SwitchDevice_page_base;
import com.ueky.ukeycfg_page_base;
import com.dev.ica_200kw.*;
import javax.swing.BorderFactory;
import javax.swing.Box;
@@ -237,7 +237,7 @@
    private power_page_base panel_power_page_base;                        //极简化电源
    
    private iac_200kw_page panel_ica_200kw_page;                                //ICA-200KW
    private iac_600kw_page panel_ica_600kw_page;                                //ICA-200KW
    
    private List<JPanel> pre_panels = new ArrayList<>();                //前置面板空白面板
     
@@ -1119,7 +1119,7 @@
                        if(SPCommMon.COMM_PORT_TYPE_Serial == comm_type) {
                            //串口通信
                            int dev_addr = Integer.parseInt(tf_target_addr.getText().trim());
                            comm_open_res = panel_ica_200kw_page.openCommPort(comm_type, spname_or_ipaddr,
                            comm_open_res = panel_ica_600kw_page.openCommPort(comm_type, spname_or_ipaddr,
                                    bitrate_or_ipport, dev_addr, m_Log);                        
                        }else if(SPCommMon.COMM_PORT_TYPE_Socket == comm_type){
                            //客户端通信
@@ -1215,8 +1215,8 @@
                if(null != panel_power_page_base) {
                    panel_power_page_base.closeCommPort();
                }
                if(null != panel_ica_200kw_page) {
                    panel_ica_200kw_page.closeCommPort();
                if(null != panel_ica_600kw_page) {
                    panel_ica_600kw_page.closeCommPort();
                }
                tf_target_addr.setEditable(true);
                btn_renew_commport.setEnabled(true);
@@ -1820,7 +1820,7 @@
            
            String bybb_title = "ICA-200KW";
            
            panel_ica_200kw_page = new iac_200kw_page();
            panel_ica_600kw_page = new iac_600kw_page();
            
            if(DebugMode == DebugMode_TYPE_Screen) {
                main_TabbedPane.add(bybb_title, new JPanel());
@@ -1830,7 +1830,7 @@
            }
            
            main_TabbedRightPane16.add(main_TabbedTopPane16,BorderLayout.NORTH);
            main_TabbedRightPane16.add(panel_ica_200kw_page,BorderLayout.CENTER);
            main_TabbedRightPane16.add(panel_ica_600kw_page,BorderLayout.CENTER);
            
            tabbedTopPanes.add(main_TabbedTopPane16);
            tabbedRightPanes.add(main_TabbedRightPane16);
@@ -2068,10 +2068,10 @@
                
                panel_power_page_base.updateData();
            } else if(CommDevType_ICA_200KW == main_DevType) {
                tf_txcnt.setText(String.format("TX:%d", panel_ica_200kw_page.Comm_ICA.comm_tx_cnt));
                tf_rxcnt.setText(String.format("RX:%d", panel_ica_200kw_page.Comm_ICA.comm_rx_cnt));
                tf_txcnt.setText(String.format("TX:%d", panel_ica_600kw_page.Comm_ICA.comm_tx_cnt));
                tf_rxcnt.setText(String.format("RX:%d", panel_ica_600kw_page.Comm_ICA.comm_rx_cnt));
                
                panel_ica_200kw_page.updateData();
                panel_ica_600kw_page.updateData();
            }
        } catch (Exception e) {
            m_Log.error(e.toString(), e);