| | |
| | | import com.sql.MysqlConnPool; |
| | | |
| | | public class PowerArk_SocketCliet_Thread implements Runnable{ |
| | | public static final int CONTROL_ON = 1; |
| | | public static final int CONTROL_OFF = 0; |
| | | public static final int CONTROL_ON = 0xFF00; //启动 |
| | | public static final int CONTROL_OFF = 0x0000; //ֹͣ |
| | | |
| | | public static final int CMD_Start = 1; //启动 |
| | | public static final int CMD_Stop = 2; //ֹͣ |
| | | |
| | | private ByteBuffer bytebuffer_for_socket_RX = ByteBuffer.allocate(1500); |
| | | public static int PowerArk_Port = 502; |
| | |
| | | } |
| | | }*/ |
| | | |
| | | if(run_count % 8 == 0) { |
| | | /*if(run_count % 8 == 0) { |
| | | //读取状态信息 0x8000-8013 |
| | | basedata = new BaseData(Modbus_ComBase.READ_COIL_STATUS, Modbus_ComBase.ButtonOutPut_Start_Addr, 14); |
| | | if(SocketComm(basedata.createReadData(), socket)) { |
| | | //读取Q区状态成功 |
| | | PowerArk_ServerSocket_Thread_SQL.updateDynamicload_ButtonTable(conn_pool, button); |
| | | } |
| | | } |
| | | }*/ |
| | | |
| | | /*if(run_count % 10 ==0 ) { |
| | | //读取各个按钮状态 0x40-x0160 |
| | |
| | | /****************************************** д״̬ **********************************************/ |
| | | { |
| | | PowerArk_SocketClient_Thread_SQL.queryPowerArkControl(conn_pool, control); |
| | | if(control.FZ_b1 >= CONTROL_ON) { |
| | | if(control.FZ_b1 >= CMD_Start) { |
| | | //打开按钮1 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr, 1); |
| | | control.FZ_b1 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b1)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b1)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b2 >= CONTROL_ON) { |
| | | if(control.FZ_b2 >= CMD_Start) { |
| | | //打开按钮2 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+1, 1); |
| | | control.FZ_b2 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b2)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b2)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b3 >= CONTROL_ON) { |
| | | if(control.FZ_b3 >= CMD_Start) { |
| | | //打开按钮3 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+2, 1); |
| | | control.FZ_b3 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b3)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b3)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b4 >= CONTROL_ON) { |
| | | if(control.FZ_b4 >= CMD_Start) { |
| | | //打开按钮4 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+3, 1); |
| | | control.FZ_b4 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b4)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b4)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b5 >= CONTROL_ON) { |
| | | if(control.FZ_b5 >= CMD_Start) { |
| | | //打开按钮5 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+4, 1); |
| | | control.FZ_b5 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b5)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b5)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b6 >= CONTROL_ON) { |
| | | if(control.FZ_b6 >= CMD_Start) { |
| | | //打开按钮6 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+5, 1); |
| | | control.FZ_b6 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b6)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b6)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b7 >= CONTROL_ON) { |
| | | if(control.FZ_b7 >= CMD_Start) { |
| | | //打开按钮7 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+6, 1); |
| | | control.FZ_b7 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b7)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b7)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b8 >= CONTROL_ON) { |
| | | if(control.FZ_b8 >= CMD_Start) { |
| | | //打开按钮8 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+7, 1); |
| | | control.FZ_b8 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b8)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b8)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b9 >= CONTROL_ON) { |
| | | if(control.FZ_b9 >= CMD_Start) { |
| | | //打开按钮9 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+8, 1); |
| | | control.FZ_b9 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b9)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b9)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b10 >= CONTROL_ON) { |
| | | if(control.FZ_b10 >= CMD_Start) { |
| | | //打开按钮10 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+9, 1); |
| | | control.FZ_b10 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b10)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b10)), socket); |
| | | } |
| | | |
| | | if(control.FZ_b11 >= CONTROL_ON) { |
| | | if(control.FZ_b11 >= CMD_Start) { |
| | | //打开按钮11 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.Button_Start_Addr+10, 1); |
| | | control.FZ_b11 = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_b11)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.FZ_b11)), socket); |
| | | } |
| | | |
| | | if(control.start_auto >= CONTROL_ON) { |
| | | if(control.start_auto >= CMD_Start) { |
| | | //启动自动加载 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.StartAutoLoad_Start_Addr, 1); |
| | | control.start_auto = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.start_auto)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.start_auto)), socket); |
| | | } |
| | | |
| | | if(control.stop_auto >= CONTROL_ON) { |
| | | if(control.stop_auto >= CMD_Start) { |
| | | //停止自动加载 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.StopAutoLoad_Start_Addr, 1); |
| | | control.stop_auto = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.stop_auto)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.stop_auto)), socket); |
| | | } |
| | | |
| | | if(control.sudden_crease >= CONTROL_ON) { |
| | | if(control.sudden_crease >= CMD_Start) { |
| | | //突加突卸 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.SuddenCrease_Start_Addr, 1); |
| | | control.sudden_crease = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.sudden_crease)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.sudden_crease)), socket); |
| | | } |
| | | |
| | | if(control.all_open >= CONTROL_ON) { |
| | | if(control.all_open >= CMD_Start) { |
| | | //全部分闸 |
| | | basedata = new BaseData(Modbus_ComBase.WRITE_SINGLE_COIL, Modbus_ComBase.AllOpenBreak_Start_Addr, 1); |
| | | control.all_open = CONTROL_OFF; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.all_open)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(control.all_open)), socket); |
| | | } |
| | | |
| | | if(control.FZ_autostate1 >= CONTROL_ON) { |
| | | if(control.FZ_autostate1 >= CMD_Start) { |
| | | int code_value = CONTROL_OFF; |
| | | if(control.FZ_autostate1 == CMD_Start) { |
| | | code_value = CONTROL_ON; |
| | | } |
| | | //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; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_autostate1)), socket); |
| | | } |
| | | |
| | | if(control.FZ_autostate2 >= CONTROL_ON) { |
| | | if(control.FZ_autostate2 >= CMD_Start) { |
| | | int code_value = CONTROL_OFF; |
| | | if(control.FZ_autostate2 == CMD_Start) { |
| | | code_value = CONTROL_ON; |
| | | } |
| | | //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; |
| | | SocketComm(basedata.createWiriteData(BaseData.createButtonByte(control.FZ_autostate2)), socket); |
| | | } |
| | | |
| | | if(control.FZ_autostate3 >= CONTROL_ON) { |
| | | if(control.FZ_autostate3 >= CMD_Start) { |
| | | //FZ自动状态3 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.FZ_autostate3 == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.FZ_autostate3)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.FZ_autostate4 >= CONTROL_ON) { |
| | | if(control.FZ_autostate4 >= CMD_Start) { |
| | | //FZ自动状态4 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.FZ_autostate4 == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.FZ_autostate4)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.FZ_autostate5 >= CONTROL_ON) { |
| | | if(control.FZ_autostate5 >= CMD_Start) { |
| | | //FZ自动状态5 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.FZ_autostate5 == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.FZ_autostate5)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.local_control >= CONTROL_ON) { |
| | | if(control.local_control >= CMD_Start) { |
| | | //就地控制 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.local_control == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.local_control)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.back_control >= CONTROL_ON) { |
| | | if(control.back_control >= CMD_Start) { |
| | | //后台控制 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.back_control == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.back_control)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.central_control >= CONTROL_ON) { |
| | | if(control.central_control >= CMD_Start) { |
| | | //中控控制 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.central_control == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.central_control)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.inter_volume_M200 >= CONTROL_ON) { |
| | | if(control.inter_volume_M200 >= CMD_Start) { |
| | | //中控控制 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.inter_volume_M200 == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.inter_volume_M200)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.fan_button >= CONTROL_ON) { |
| | | if(control.fan_button >= CMD_Start) { |
| | | //风机按钮 |
| | | int code_value = CONTROL_OFF; |
| | | if(control.inter_volume_M200 == CMD_Start) { |
| | | 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.createWiriteData(BaseData.createButtonByte(control.fan_button)), socket); |
| | | SocketComm(basedata.createSingleCollWiriteData(BaseData.createButtonByte(code_value)), socket); |
| | | } |
| | | |
| | | if(control.set_power >= CONTROL_ON) { |
| | | 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; |
| | | SocketComm(basedata.createWiriteData(BaseData.createFloatByte(control.set_power)), socket); |
| | | } |
| | | //System.out.println(control); |
| | | PowerArk_ServerSocket_Thread_SQL.updateDynamicload_ControlTable(conn_pool, control); |
| | | } |
| | | |
| | |
| | | bytebuffer_for_socket_RX.clear(); |
| | | //--------------------- socket write -----------------------------------// |
| | | //byte[] b = makeCommBuf(cmd, bf); |
| | | System.err.println(ComFn.bytesToHexString(bytedata, bytedata.length)); |
| | | System.err.println("发送数据:"+ComFn.bytesToHexString(bytedata, bytedata.length)); |
| | | Date d1 = new Date(); |
| | | |
| | | |
| | |
| | | } |
| | | byte[] buffer = new byte[bytebuffer_for_socket_RX.limit()]; |
| | | bytebuffer_for_socket_RX.get(buffer); |
| | | System.err.println(ComFn.bytesToHexString(buffer, buffer.length)); |
| | | System.err.println("接收数据"+ComFn.bytesToHexString(buffer, buffer.length)); |
| | | if(true == getDataFromCommBuf(buffer)) { |
| | | connCount ++; |
| | | res_t = true; |