lxw
2020-07-23 6de94fa782615702b7df64cca9cb27f526941db6
修改
2个文件已修改
60 ■■■■■ 已修改文件
src/com/data/PowerArk_SocketCliet_Thread.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/dev/base/data/Dynamicload_inf.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/com/data/PowerArk_SocketCliet_Thread.java
@@ -99,8 +99,12 @@
                    }
                    
                    if(run_count % 2 ==0 ) {
                        int startaddr = Modbus_ComBase.ActualSetPower_Start_Addr;
                        //读取V区各个按钮状态  02-18
                        basedata = new BaseData(Modbus_ComBase.READ_HOLDING_REGISTER, Modbus_ComBase.ActualSetPower_Start_Addr, 17);
                        if(dyna_inf.getFZ_button_num() == 11) {
                            startaddr = Modbus_ComBase.ActualSetPower_Start_Addr-2;
                        }
                        basedata = new BaseData(Modbus_ComBase.READ_HOLDING_REGISTER, startaddr, 17);
                        if(SocketComm(basedata.createReadData(), socket)) {
                            //读取V区状态成功 
                        }
@@ -441,15 +445,28 @@
                    
                    if(control.set_power >= CMD_Start) {
                        //设定功率
                        basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, Modbus_ComBase.SetPower_Start_Addr, 2);
                        int addr = Modbus_ComBase.SetPower_Start_Addr;
                        if(dyna_inf.getFZ_button_num() ==11) {
                            addr = 4;
                            basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, addr, 1);
                            if(SocketComm(basedata.createWiriteData(BaseData.createIntByte((int)control.set_power)), socket)) {
                                control.set_power = CMD_SUCCESS;
                            }
                        }else {
                            basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, addr, 2);
                        if(SocketComm(basedata.createWiriteData(BaseData.createFloatByte(control.set_power)), socket)) {
                            control.set_power = CMD_SUCCESS;
                            }
                        }
                        control.set_power = CMD_FAIL;
                    }
                    if(control.interval_time >= CMD_Start) {
                        //间隔时间
                        basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, Modbus_ComBase.InterTime_Start_Addr, 1);
                        int addr = Modbus_ComBase.InterTime_Start_Addr;
                        if(dyna_inf.getFZ_button_num() == 11) {
                            addr = 6;
                        }
                        basedata = new BaseData(Modbus_ComBase.WRITE_MULTIPLE_REGISTER, addr, 1);
                        if(SocketComm(basedata.createWiriteData(BaseData.createIntByte(control.interval_time)), socket)) {
                            control.interval_time = CMD_SUCCESS;
                        }
@@ -624,6 +641,12 @@
                        System.out.println("读取V区数据成功02-18");
                        issuccess = true;
                    }
                }else if(baseData.addrstart == Modbus_ComBase.ActualSetPower_Start_Addr-2) {
                    //读取V区各个数据状态[01-8]
                    if(dyna_inf.putReadVLongBackByteBuffer(bf)) {
                        System.out.println("读取V区数据成功01-08");
                        issuccess = true;
                    }
                }
                
            }else if(baseData.funcode == Modbus_ComBase.WRITE_SINGLE_COIL) {
src/com/dev/base/data/Dynamicload_inf.java
@@ -174,6 +174,35 @@
        return true;
    }
    
    public boolean putReadVLongBackByteBuffer(ByteBuffer bf) {
        ByteBuffer tmpbf = bf;
        int datacount = ComBase.changeByteToInt(bf.get());
        //System.out.println("读取功率"+datacount);
        if(datacount < 34) {
            return false;
        }
        bf.getShort();
        state.actual_set_power = ComBase.changeShortToInt(bf.getShort());                        //设定功率    0001
        state.output_power = ComBase.changeShortToInt(bf.getShort());                        //设定功率    0001
        bf.getShort();
        state.set_power = ComBase.changeShortToInt(bf.getShort());                        //设定功率    0001
        bf.getShort();
        //state.actual_set_power = bf.getFloat();                        //设定功率    0001
        //System.out.println("设定功率:"+state.actual_set_power);
        //state.output_power = bf.getFloat();                            //已输出功率    0004
        //float value = bf.getFloat();                                //备用        0006
        //state.set_power = bf.getFloat();                            //设定功率    0008
        //value = bf.getFloat();                                        //备用        0010
        //int backup1 = ComBase.changeShortToInt(bf.getShort());        //备用        0012
        //int backup2 = ComBase.changeShortToInt(bf.getShort());        //备用        0013
        //value = bf.getFloat();                                        //备用        0014
        state.interval_time = ComBase.changeShortToInt(bf.getShort());//间隔时间    0016
        state.actual_curr = ComBase.changeShortToInt(bf.getShort());//实际电流    0017
        state.actual_mov = ComBase.changeShortToInt(bf.getShort());    //间隔电压    0018
        return true;
    }
    public int getDev_id() {
        return dev_id;
    }
@@ -218,4 +247,6 @@
    }
    
}