src/com/data/PowerArk_ServerSocket_Thread_SQL.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/com/data/PowerArk_SocketClient_Thread_SQL.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/com/data/PowerArk_SocketCliet_Thread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/com/dev/base/data/Dynamicload_control.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/com/dev/base/data/Dynamicload_inf.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/com/modbus/util/BaseData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/com/modbus/util/Modbus_ComBase.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/com/data/PowerArk_ServerSocket_Thread_SQL.java
@@ -193,6 +193,7 @@ + ",central_control = " + control.getCentral_control() + ",inter_volume_M200 = " + control.getInter_volume_M200() + ",fan_button = " + control.getFan_button() + ",interval_time = " + control.interval_time + ",set_power = " + control.set_power + " WHERE dev_id = " + control.dev_id; Sql_Mysql sql = new Sql_Mysql(conn_pool.getConn()); src/com/data/PowerArk_SocketClient_Thread_SQL.java
@@ -50,6 +50,7 @@ control.fan_button = res.getInt("fan_button"); //风机按钮 //control.fan_output = res.getInt("fan_output"); //风机输出 control.set_power = res.getFloat("set_power"); //设定功率 control.interval_time = res.getInt("interval_time"); //间隔时间 } } catch (Exception e) { e.printStackTrace(); src/com/data/PowerArk_SocketCliet_Thread.java
@@ -100,7 +100,7 @@ if(run_count % 2 ==0 ) { //读取V区各个按钮状态 02-18 basedata = new BaseData(Modbus_ComBase.READ_HOLDING_REGISTER, Modbus_ComBase.LocalControl_Start_Addr, 17); basedata = new BaseData(Modbus_ComBase.READ_HOLDING_REGISTER, Modbus_ComBase.ActualSetPower_Start_Addr, 17); if(SocketComm(basedata.createReadData(), socket)) { //读取V区状态成功 } @@ -441,9 +441,19 @@ if(control.set_power >= CMD_Start) { //设定功率 basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, Modbus_ComBase.SetPower_Start_Addr, 1); basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, Modbus_ComBase.SetPower_Start_Addr, 2); if(SocketComm(basedata.createWiriteData(BaseData.createFloatByte(control.set_power)), socket)) { control.set_power = CMD_SUCCESS; } control.set_power = CMD_FAIL; SocketComm(basedata.createWiriteData(BaseData.createFloatByte(control.set_power)), socket); } if(control.interval_time >= CMD_Start) { //间隔时间 basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, Modbus_ComBase.InterTime_Start_Addr, 1); if(SocketComm(basedata.createWiriteData(BaseData.createIntByte(control.interval_time)), socket)) { control.interval_time = CMD_SUCCESS; } control.interval_time = CMD_FAIL; } //System.out.println(control); PowerArk_ServerSocket_Thread_SQL.updateDynamicload_ControlTable(conn_pool, control); @@ -575,7 +585,7 @@ //读取线圈数据成功[4013-4030] if(baseData.addrstart == Modbus_ComBase.OverTmp_Start_Addr) { if(dyna_inf.putReadIBackByteBuffer(bf)) { System.out.println("读取I区数据成功4013-4030"); //System.out.println("读取I区数据成功4013-4030"); issuccess = true; } } @@ -583,7 +593,7 @@ //读取M区状态成功[01 - 12] if(baseData.addrstart == Modbus_ComBase.AutoProcess1_Start_Addr) { if(dyna_inf.putReadMBackByteBuffer(bf)) { System.out.println("读取M区数据成功01-12"); //System.out.println("读取M区数据成功01-12"); issuccess = true; } } @@ -592,7 +602,7 @@ if(baseData.addrstart == Modbus_ComBase.ButtonOutPut_Start_Addr) { //System.out.println("%%%%%%%%%%%%%%%%%%%%"); if(dyna_inf.putReadQBackByteBuffer(bf)) { System.out.println("读取Q区数据成功8000-8013"); //System.out.println("读取Q区数据成功8000-8013"); issuccess = true; } } @@ -600,7 +610,7 @@ //读取M区各个控制的状态[0040-0160] if(baseData.addrstart == Modbus_ComBase.LocalControl_Start_Addr) { if(dyna_inf.putReadMControlStateByteBuffer(bf)) { System.out.println("读取M区数据成功0040-0160"); //System.out.println("读取M区数据成功0040-0160"); issuccess = true; } } src/com/dev/base/data/Dynamicload_control.java
@@ -28,8 +28,9 @@ public int central_control; //中间控制 public int inter_volume_M200; //中间量M200 public int fan_button; //风机按钮 //public int fan_output; //风机输出 //public int fan_output; //风机输出 public float set_power; //设定功率 public int interval_time; //间隔时间 public String note; public Dynamicload_control(int dev_id) { src/com/dev/base/data/Dynamicload_inf.java
@@ -155,11 +155,12 @@ public boolean putReadVBackByteBuffer(ByteBuffer bf) { ByteBuffer tmpbf = bf; int datacount = ComBase.changeByteToInt(bf.get()); System.out.println("读取功率"+datacount); //System.out.println("读取功率"+datacount); if(datacount < 34) { return false; } state.actual_set_power = bf.getFloat(); //设定功率 0002 //System.out.println("设定功率:"+state.actual_set_power); state.output_power = bf.getFloat(); //已输出功率 0004 float value = bf.getFloat(); //备用 0006 state.set_power = bf.getFloat(); //设定功率 0008 src/com/modbus/util/BaseData.java
@@ -127,6 +127,22 @@ bf.flip(); byte[] b = new byte[4]; bf.get(b); System.out.println(ComFn.bytesToHexString(b, b.length)+value); return b; } /** * 构造写入多个寄存器数据 * @param value * @return */ public static byte[] createIntByte(int value) { ByteBuffer bf = ByteBuffer.allocate(2); bf.order(ByteOrder.BIG_ENDIAN); bf.putShort(ComBase.changeIntToShort(value)); bf.flip(); byte[] b = new byte[2]; bf.get(b); return b; } src/com/modbus/util/Modbus_ComBase.java
@@ -9,8 +9,8 @@ public static final int READ_INPUT_REGISTER = 0x04; //读输入寄存器 单/多 public static final int WRITE_SINGLE_COIL = 0x05; //写线圈状态 单 public static final int WRITE_SINGLE_REGISTER = 0x06; //写单个保持寄存器 单 public static final int WRITE_MULTIPLE_COIL = 0x15; //写多个线圈 多 public static final int WRITE_MULTIPLE_REGISTER = 0x16; //写多个保持寄存器 多 public static final int WRITE_MULTIPLE_COIL = 0x0F; //写多个线圈 多 public static final int WRITE_MULTIPLE_REGISTER = 0x10; //写多个保持寄存器 多