whyclj
2020-07-21 59978c8e2c1a364147451b3f2f6a3c2e477ba79a
添加发送命令返回判断
2个文件已修改
226 ■■■■■ 已修改文件
src/com/data/PowerArk_SocketCliet_Thread.java 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/modbus/util/BaseData.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/data/PowerArk_SocketCliet_Thread.java
@@ -26,6 +26,9 @@
    public static final int CMD_Start = 1;                    //启动
    public static final int CMD_Stop = 2;                    //ֹͣ
    
    public static final int CMD_SUCCESS = -1;                //成功
    public static final int CMD_FAIL = 0;                    //失败
    private ByteBuffer bytebuffer_for_socket_RX = ByteBuffer.allocate(1500);
    public static int PowerArk_Port = 502;
    public String   dev_ip;
@@ -58,10 +61,9 @@
        while(true) {
            try {
                /******************************************  读状态   **********************************************/
                /******************************************  读状态   **********************************************/
                {
                    if(run_count % 2 == 0) {
                        //读取反馈信息0x4013-0x4030信息
                    /*if(run_count % 2 == 0) {
                        //读取反馈信息4013-4030信息
                        basedata = new BaseData(Modbus_ComBase.READ_COIL_STATUS, Modbus_ComBase.OverTmp_Start_Addr, 18);
                        if(SocketComm(basedata.createReadData(), socket)) {
                            //读取反馈信息成功
@@ -70,7 +72,7 @@
                    }
                    
                    if(run_count % 2 == 0) {
                        //读取状态信息      0x01-0x12
                        //读取状态信息      01-12
                        basedata = new BaseData(Modbus_ComBase.READ_COIL_STATUS, Modbus_ComBase.AutoProcess1_Start_Addr, 12);
                        if(SocketComm(basedata.createReadData(), socket)) {
                            //M区状态成功 
@@ -79,7 +81,7 @@
                    }
                    
                    if(run_count % 2 == 0) {
                        //读取状态信息      0x8000-8013
                        //读取状态信息      8000-8013
                        basedata = new BaseData(Modbus_ComBase.READ_COIL_STATUS, Modbus_ComBase.ButtonOutPut_Start_Addr, 14);
                        if(SocketComm(basedata.createReadData(), socket)) {
                            //读取Q区状态成功 
@@ -88,7 +90,7 @@
                    }
                    
                    if(run_count % 2 ==0 ) {
                        //读取各个按钮状态  0x40-x0160
                        //读取各个按钮状态  40-0160
                        basedata = new BaseData(Modbus_ComBase.READ_COIL_STATUS, Modbus_ComBase.LocalControl_Start_Addr, 121);
                        if(SocketComm(basedata.createReadData(), socket)) {
                            //读取Q区状态成功 
@@ -97,13 +99,13 @@
                    }
                    
                    if(run_count % 2 ==0 ) {
                        //读取V区各个按钮状态  0x02-x18
                        //读取V区各个按钮状态  02-18
                        basedata = new BaseData(Modbus_ComBase.READ_HOLDING_REGISTER, Modbus_ComBase.LocalControl_Start_Addr, 17);
                        if(SocketComm(basedata.createReadData(), socket)) {
                            //读取V区状态成功 
                            PowerArk_ServerSocket_Thread_SQL.updateDynamicload_StateTable(conn_pool, state);
                        }
                    }
                    }*/
                }
                
                /******************************************  д״̬   **********************************************/
@@ -116,8 +118,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr, 1);                        
                        control.FZ_b1 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b1 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b1 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b2 >= CMD_Start) {
@@ -127,8 +131,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+1, 1);                        
                        control.FZ_b2 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b2 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b2 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b3 >= CMD_Start) {
@@ -138,8 +144,11 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+2, 1);                        
                        control.FZ_b3 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b3 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b3 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b4 >= CMD_Start) {
@@ -149,8 +158,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+3, 1);                        
                        control.FZ_b4 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b4 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b4 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b5 >= CMD_Start) {
@@ -160,8 +171,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+4, 1);                        
                        control.FZ_b5 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b5 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b5 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b6 >= CMD_Start) {
@@ -171,8 +184,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+5, 1);                        
                        control.FZ_b6 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b6 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b6 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b7 >= CMD_Start) {
@@ -182,8 +197,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+6, 1);                        
                        control.FZ_b7 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b7 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b7 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b8 >= CMD_Start) {
@@ -193,8 +210,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+7, 1);                        
                        control.FZ_b8 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b8 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b8 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b9 >= CMD_Start) {
@@ -204,8 +223,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+8, 1);                        
                        control.FZ_b9 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b9 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)){
                            control.FZ_b9 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_b10 >= CMD_Start) {
@@ -215,8 +236,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+9, 1);                        
                        control.FZ_b10 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b10 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b10 = CMD_FAIL;
                        }
                    }
                    
                    if(control.FZ_b11 >= CMD_Start) {
@@ -226,8 +249,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+10, 1);                        
                        control.FZ_b11 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_b11 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_b11 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.start_auto >= CMD_Start) {
@@ -237,8 +262,11 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.StartAutoLoad_Start_Addr, 1);                        
                        control.start_auto = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.start_auto = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.start_auto = CMD_FAIL;
                        }
                    }
                    
                    if(control.stop_auto >= CMD_Start) {
@@ -248,8 +276,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.StopAutoLoad_Start_Addr, 1);                        
                        control.stop_auto = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.stop_auto = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.stop_auto = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.sudden_crease >= CMD_Start) {
@@ -259,8 +289,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.SuddenCrease_Start_Addr, 1);                        
                        control.sudden_crease = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.sudden_crease = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.sudden_crease = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.all_open >= CMD_Start) {
@@ -270,8 +302,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AllOpenBreak_Start_Addr, 1);                        
                        control.all_open = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.all_open = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.all_open = CMD_FAIL;
                        }
                    }
                    
                    if(control.FZ_autostate1 >= CMD_Start) {
@@ -281,8 +315,10 @@
                        }
                        //FZ自动状态1
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AutoProcess1_Start_Addr, 1);                        
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_autostate1 = CONTROL_OFF;
                        control.FZ_autostate1 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_autostate1 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_autostate2 >= CMD_Start) {
@@ -292,8 +328,10 @@
                        }
                        //FZ自动状态2
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AutoProcess2_Start_Addr, 1);                        
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_autostate2 = CONTROL_OFF;
                        control.FZ_autostate2 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_autostate2 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_autostate3 >= CMD_Start) {
@@ -303,8 +341,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AutoProcess3_Start_Addr, 1);                        
                        control.FZ_autostate3 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_autostate3 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_autostate3 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_autostate4 >= CMD_Start) {
@@ -314,8 +354,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AutoProcess4_Start_Addr, 1);                        
                        control.FZ_autostate4 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_autostate4 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_autostate4 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.FZ_autostate5 >= CMD_Start) {
@@ -325,8 +367,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AutoProcess5_Start_Addr, 1);                        
                        control.FZ_autostate5 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.FZ_autostate5 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.FZ_autostate5 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.local_control >= CMD_Start) {
@@ -336,8 +380,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.LocalControl_Start_Addr, 1);                        
                        control.local_control = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.local_control = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.local_control = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.back_control >= CMD_Start) {
@@ -347,8 +393,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.BackControl_Start_Addr, 1);                        
                        control.back_control = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.back_control = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.back_control = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.central_control >= CMD_Start) {
@@ -358,8 +406,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.CenterControl_Start_Addr, 1);                        
                        control.central_control = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.central_control = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.central_control = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.inter_volume_M200 >= CMD_Start) {
@@ -369,8 +419,10 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Middle_Start_Addr, 1);                        
                        control.inter_volume_M200 = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.inter_volume_M200 = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.inter_volume_M200 = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.fan_button >= CMD_Start) {
@@ -380,14 +432,16 @@
                            code_value = CONTROL_ON;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Fan_Button_Start_Addr, 1);                        
                        control.fan_button = CONTROL_OFF;
                        SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket);
                        control.fan_button = CMD_FAIL;
                        if(SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket)) {
                            control.fan_button = CMD_SUCCESS;
                        }
                    }
                    
                    if(control.set_power >= CMD_Start) {
                        //设定功率
                        basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, Modbus_ComBase.SetPower_Start_Addr, 1);                        
                        control.set_power = CONTROL_OFF;
                        control.set_power = CMD_FAIL;
                        SocketComm(basedata.createWiriteData(BaseData.createFloatByte(control.set_power)), socket);
                    }
                    //System.out.println(control);
@@ -414,14 +468,18 @@
    public boolean SocketComm(byte[] bytedata,Socket socket) throws InterruptedException
    { 
        boolean res_t = false;
        InputStream in = null;
        OutputStream out = null;
        try
        {
            reConnectClient();
            //reConnectClient();
            socket = new Socket();
            socket.connect(new InetSocketAddress(dev_ip, PowerArk_Port), 5000);
            socket.setSoTimeout(3000);
            if(socket != null)
            {
                socket.setSoTimeout(3000);
                InputStream in = socket.getInputStream();
                OutputStream out = socket.getOutputStream();
                in = socket.getInputStream();
                out = socket.getOutputStream();
                //----------------- clear rx buff for tcp resend packet ----------------//
                byte[] rx_buf_t = new byte[1024];
                //----------------------------------------------------------------------//
@@ -431,8 +489,6 @@
                //byte[] b = makeCommBuf(cmd, bf);
                System.err.println("发送数据:"+ComFn.bytesToHexString(bytedata, bytedata.length));
                Date d1 = new Date();
                int rx_read_time_out = 0; 
                //int rx_len = 0;
                //System.err.println("TX: " + ComFn.bytesToHexString(b, b.length));
@@ -463,6 +519,7 @@
                if(comm_tms < 50) {
                    Thread.sleep(50 - comm_tms);
                }
                //System.err.println("通讯时长:" + comm_tms);
                byte[] buffer = new byte[bytebuffer_for_socket_RX.limit()];
                bytebuffer_for_socket_RX.get(buffer);
                System.err.println("接收数据"+ComFn.bytesToHexString(buffer, buffer.length));       
@@ -479,7 +536,27 @@
            errCount++;
            connerrCount++;
        } finally {
            if(in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(out != null) {
                try {
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(socket != null) {
                try {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }        
        return res_t;
    }
@@ -538,10 +615,13 @@
                    }
                }
                
            }else if(baseData.funcode == Modbus_ComBase.WRITE_SINGLE_COIL) {
                //单点写入成功
                if(baseData.funcode == BaseData.SINGLEWRITE_BYTECOUNT) {
                    issuccess = true;
                    System.out.println("写入成功");
                }
            }
        }       
        return issuccess;
    }
@@ -553,12 +633,12 @@
    public void reConnectClient() {
        try {
            if(socket == null || socket.isClosed() || errCount > 4) {
                if(socket != null) {
                /*if(socket != null) {
                    socket.close();
                }
                }*/
                socket = new Socket();
                socket.connect(new InetSocketAddress(dev_ip, PowerArk_Port), 5000);
                socket.setSoTimeout(5000);
                socket.setSoTimeout(3000);
                errCount = 0;
            }
        } catch (SocketException e) {
src/com/modbus/util/BaseData.java
@@ -10,6 +10,8 @@
public class BaseData {
    public static final int ReadByteCount = 12;
    
    public static final int SINGLEWRITE_BYTECOUNT = 6;
    public int transsend;                //发送事务标识符
    public int transreceive;            //接收事务标识符
    public int protocolident;            //协议标识符