whyclj
2020-10-14 e772da8fd9bc6d2c492dbde51e4d0bd042eede7e
有符号位数和无符号位数修复
3个文件已修改
62 ■■■■ 已修改文件
Motor_MonitorServer/src/com/base/ComBase.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Motor_MonitorServer/src/com/modbus/data/MyModbusUtils.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Motor_MonitorServer/src/com/motor/data/Load_motor_state.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Motor_MonitorServer/src/com/base/ComBase.java
@@ -29,11 +29,23 @@
        return (tmp & 0xFF);
    }
    //------------------------------------------------------------------------------
    //无符号数
    public static int changeShortToInt(short data)
    {
        int tmp = data;
        return (tmp & 0xFFFF);
    }
    /**
     *
     * @param data
     * @param signed    true:有符号   false:无符号
     * @return
     */
    public static int changeShortToInt(short data,boolean signed)
    {
        int tmp = data;
        return !signed?tmp&0xFFFF:tmp;
    }
    //------------------------------------------------------------------------------
    public static double changeShortToDouble(short data)
    {
Motor_MonitorServer/src/com/modbus/data/MyModbusUtils.java
@@ -397,6 +397,16 @@
    }
    
    /**
     *
     * @param obj
     * @param signed    true:有符号数     false:无符号
     * @return
     */
    public static float readShortToFloat(Object obj,boolean signed) {
        return (float)ComBase.changeShortToInt((Short)obj,signed);
    }
    /**
     *     读取float类型数据
     * @param obj    Integer类型
     * @return
Motor_MonitorServer/src/com/motor/data/Load_motor_state.java
@@ -2,6 +2,8 @@
import java.util.Date;
import com.base.ComBase;
import com.base.ComFn;
import com.modbus.data.MyModbusMaster;
import com.modbus.data.MyModbusUtils;
import com.serotonin.modbus4j.BatchRead;
@@ -380,15 +382,17 @@
     */
    public void putHeadBatchResult(BatchResults<Integer> res) {
        if(res != null) {
            this.load_power = MyModbusUtils.readShortToFloat(res.getValue(0));                                        //加载功率给定                58
            this.load_torque = MyModbusUtils.readShortToFloat(res.getValue(1));                                        //加载转矩给定                364
            //System.out.println(res.getValue(0));
            short f = (Short)res.getValue(0);
            this.load_power = MyModbusUtils.readShortToFloat(res.getValue(0),true);                    //加载功率给定                58
            this.load_torque = MyModbusUtils.readShortToFloat(res.getValue(1),true);                //加载转矩给定                364
            this.load_motor_speed_limit = MyModbusUtils.readIntegerToFloat(res.getValue(2));        //加载电机转速限制            366
            this.load_motor_torque_limit = MyModbusUtils.readShortToFloat(res.getValue(3));                //加载电机转矩限制            367
            this.load_motor_torque_limit = MyModbusUtils.readShortToFloat(res.getValue(3),true);                //加载电机转矩限制            367
            this.load_step_length = MyModbusUtils.readIntegerToFloat(res.getValue(4));                            //加载步长                    505    
            this.load_motor_inwater_tmp = MyModbusUtils.readIntegerToFloat(res.getValue(5));            //加载电机水冷进水风温        1006
            this.load_motor_outwater_tmp = MyModbusUtils.readIntegerToFloat(res.getValue(6));            //加载电机水冷出水风温        1008
            this.load_motor_curr = MyModbusUtils.readShortToFloat(res.getValue(7));                            //加载电机电流                1096
            this.load_motor_power = MyModbusUtils.readShortToFloat(res.getValue(8));                            //加载电机功率                1099
            this.load_motor_curr = MyModbusUtils.readShortToFloat(res.getValue(7),true);                            //加载电机电流                1096
            this.load_motor_power = MyModbusUtils.readShortToFloat(res.getValue(8),true);                            //加载电机功率                1099
            this.record_time = new Date();
        }
    }
@@ -399,16 +403,16 @@
     */
    public void putBodyBatchResult(BatchResults<Integer> res) {
        if(res != null) {
            this.load_motor_speed = MyModbusUtils.readShortToFloat(res.getValue(9));                            //加载电机转速                1101
            this.load_motor_vol = MyModbusUtils.readShortToFloat(res.getValue(10));                                //加载电机电压                    1103
            this.load_motor_wind_tmp1 = MyModbusUtils.readShortToFloat(res.getValue(11));                    //加载电机绕组温度1            1119
            this.load_motor_wind_tmp2 = MyModbusUtils.readShortToFloat(res.getValue(12));                    //加载电机绕组温度2            1120
            this.load_motor_wind_tmp3 = MyModbusUtils.readShortToFloat(res.getValue(13));                    //加载电机绕组温度3            1121
            this.load_motor_bear_tmp1 = MyModbusUtils.readShortToFloat(res.getValue(14));                    //加载电机轴承温度1            1122
            this.load_motor_bear_tmp2 = MyModbusUtils.readShortToFloat(res.getValue(15));                    //加载电机轴承温度2            1123
            this.load_motor_out_tmp = MyModbusUtils.readShortToFloat(res.getValue(16));                        //加载电机出口温度            1250
            this.load_motor_into_tmp = MyModbusUtils.readShortToFloat(res.getValue(17));                    //加载电机进口温度            1124
            this.load_motor_torque = MyModbusUtils.readShortToFloat(res.getValue(18));                        //加载电机转矩                1251
            this.load_motor_speed = MyModbusUtils.readShortToFloat(res.getValue(9),true);                    //加载电机转速                1101
            this.load_motor_vol = MyModbusUtils.readShortToFloat(res.getValue(10),true);                    //加载电机电压                    1103
            this.load_motor_wind_tmp1 = MyModbusUtils.readShortToFloat(res.getValue(11),true);                //加载电机绕组温度1            1119
            this.load_motor_wind_tmp2 = MyModbusUtils.readShortToFloat(res.getValue(12),true);                //加载电机绕组温度2            1120
            this.load_motor_wind_tmp3 = MyModbusUtils.readShortToFloat(res.getValue(13),true);                //加载电机绕组温度3            1121
            this.load_motor_bear_tmp1 = MyModbusUtils.readShortToFloat(res.getValue(14),true);                //加载电机轴承温度1            1122
            this.load_motor_bear_tmp2 = MyModbusUtils.readShortToFloat(res.getValue(15),true);                //加载电机轴承温度2            1123
            this.load_motor_out_tmp = MyModbusUtils.readShortToFloat(res.getValue(16),true);                //加载电机出口温度            1250
            this.load_motor_into_tmp = MyModbusUtils.readShortToFloat(res.getValue(17),true);                //加载电机进口温度            1124
            this.load_motor_torque = MyModbusUtils.readShortToFloat(res.getValue(18),true);                    //加载电机转矩                1251
            this.load_motor_start = MyModbusUtils.readBooleanToInt(res.getValue(19));                                                                //加载电机启动                5680
            this.load_motor_downtime = MyModbusUtils.readBooleanToInt(res.getValue(20));                                                        //加载电机停机                5681
            this.load_add = MyModbusUtils.readBooleanToInt(res.getValue(21));                                                                                //加载                        8000
@@ -417,9 +421,9 @@
            this.load_motor_stop = MyModbusUtils.readBooleanToInt(res.getValue(24));                                                                //加载电机紧停                16005
            this.load_motor_fan_state = MyModbusUtils.readBooleanToInt(res.getValue(25));                                                    //加载电机风机状态    17082                                                                                                                            
            
            this.load_motor_wind_tmp1_bp = MyModbusUtils.readShortToFloat(res.getValue(26));                //备用加载电机绕组温度1        1122
            this.load_motor_wind_tmp2_bp = MyModbusUtils.readShortToFloat(res.getValue(27));                //备用加载电机绕组温度2        1123
            this.load_motor_wind_tmp3_bp = MyModbusUtils.readShortToFloat(res.getValue(28));                //备用加载电机绕组温度3        1124
            this.load_motor_wind_tmp1_bp = MyModbusUtils.readShortToFloat(res.getValue(26),true);            //备用加载电机绕组温度1        1122
            this.load_motor_wind_tmp2_bp = MyModbusUtils.readShortToFloat(res.getValue(27),true);            //备用加载电机绕组温度2        1123
            this.load_motor_wind_tmp3_bp = MyModbusUtils.readShortToFloat(res.getValue(28),true);            //备用加载电机绕组温度3        1124
            this.record_time = new Date();
        }
    }