package com.dev.afeinverter; import java.util.Date; import com.intelligt.modbus.MyJlibModbus; import com.intelligt.modbus.jlibmodbus.exception.IllegalDataAddressException; import com.intelligt.modbus.jlibmodbus.exception.IllegalDataValueException; import com.modbus.data.MyModbusMaster; import com.modbus.data.MyModbusUtils; import com.serotonin.modbus4j.BatchRead; import com.serotonin.modbus4j.BatchResults; import com.serotonin.modbus4j.code.DataType; public class Afe_Inverter_State { public int dev_id; public Date record_time = new Date(); public float torque_set; //'ת¾Ø¸ø¶¨', public float speed_set; //'Ëٶȸø¶¨', public float positive_speed_limit; //'ÕýÏòתËÙÏÞ·ù', public float reverse_speed_limit; //'·´ÏòתËÙÏÞ·ù', public float motor_speed; //'µç»úתËÙ', public float output_power; //'Êä³öÓй¦¹¦ÂÊ', public float output_curr; //'Êä³öµçÁ÷', public float output_vol; //'Êä³öµçѹ', public float model_tmp; //'Ä£¿éζÈ', public BatchRead createBatchRead(MyModbusMaster master) { BatchRead batch = new BatchRead(); batch.addLocator(0,MyModbusUtils.createBaseLocator(0x85B6,DataType.TWO_BYTE_INT_SIGNED,master)); // batch.addLocator(1,MyModbusUtils.createBaseLocator(0x85B7,DataType.TWO_BYTE_INT_SIGNED,master)); // batch.addLocator(2,MyModbusUtils.createBaseLocator(0x85B8,DataType.TWO_BYTE_INT_SIGNED,master)); // batch.addLocator(3,MyModbusUtils.createBaseLocator(0x85B9,DataType.TWO_BYTE_INT_SIGNED,master)); // batch.addLocator(4,MyModbusUtils.createBaseLocator(0x8451,DataType.TWO_BYTE_INT_SIGNED,master)); // batch.addLocator(5,MyModbusUtils.createBaseLocator(0x8006,DataType.TWO_BYTE_INT_SIGNED,master)); // batch.addLocator(6,MyModbusUtils.createBaseLocator(0x8004,DataType.TWO_BYTE_INT_UNSIGNED,master)); // batch.addLocator(7,MyModbusUtils.createBaseLocator(0x8003,DataType.TWO_BYTE_INT_UNSIGNED,master)); // batch.addLocator(8,MyModbusUtils.createBaseLocator(0x8276,DataType.TWO_BYTE_INT_UNSIGNED,master)); // return batch; } public void putBatchResult(BatchResults res) { if(null != res) { torque_set = MyModbusUtils.readShortToFloat(res.getValue(0)); //'ת¾Ø¸ø¶¨', speed_set = MyModbusUtils.readShortToFloat(res.getValue(1)); //'Ëٶȸø¶¨', positive_speed_limit = MyModbusUtils.readShortToFloat(res.getValue(2)); //'ÕýÏòתËÙÏÞ·ù', reverse_speed_limit = MyModbusUtils.readShortToFloat(res.getValue(3)); //'·´ÏòתËÙÏÞ·ù', motor_speed = MyModbusUtils.readShortToFloat(res.getValue(4)); //'µç»úתËÙ', output_power = MyModbusUtils.readShortToFloat(res.getValue(5)); //'Êä³öÓй¦¹¦ÂÊ', output_curr = MyModbusUtils.readIntergerToInt(res.getValue(6)); //'Êä³öµçÁ÷', output_vol = MyModbusUtils.readIntergerToInt(res.getValue(7)); //'Êä³öµçѹ', model_tmp = MyModbusUtils.readIntergerToInt(res.getValue(8)); //'Ä£¿éζÈ', record_time = new Date(); } } /** * ¶ÁÈ¡Êý¾Ý * @param mymodbus */ public void readMutliData(MyJlibModbus mymodbus) { try { torque_set = mymodbus.holdings_ser.get(0x85B6); //'ת¾Ø¸ø¶¨', speed_set = mymodbus.holdings_ser.get(0x85B7); //'Ëٶȸø¶¨', positive_speed_limit = mymodbus.holdings_ser.get(0x85B8); //'ÕýÏòתËÙÏÞ·ù', reverse_speed_limit = mymodbus.holdings_ser.get(0x85B9); //'·´ÏòתËÙÏÞ·ù', motor_speed = mymodbus.holdings_ser.get(0x8451); //'µç»úתËÙ', output_power = mymodbus.holdings_ser.get(0x8006); //'Êä³öÓй¦¹¦ÂÊ', output_curr = mymodbus.holdings_ser.get(0x8004); //'Êä³öµçÁ÷', output_vol = mymodbus.holdings_ser.get(0x8003); //'Êä³öµçѹ', model_tmp = mymodbus.holdings_ser.get(0x8276); //'Ä£¿éζÈ', } catch (IllegalDataAddressException e) { e.printStackTrace(); } } /** * Éú³ÉËæ»úÊý */ public void randomData() { torque_set = MyModbusUtils.CreateIntRanDom(0,65535); //'ת¾Ø¸ø¶¨', speed_set = MyModbusUtils.CreateIntRanDom(0,65535); //'Ëٶȸø¶¨', positive_speed_limit = MyModbusUtils.CreateIntRanDom(0,65535); //'ÕýÏòתËÙÏÞ·ù', reverse_speed_limit = MyModbusUtils.CreateIntRanDom(0,65535); //'·´ÏòתËÙÏÞ·ù', motor_speed = MyModbusUtils.CreateIntRanDom(0,65535); //'µç»úתËÙ', output_power = MyModbusUtils.CreateIntRanDom(0,65535); //'Êä³öÓй¦¹¦ÂÊ', output_curr = MyModbusUtils.CreateIntRanDom(0,65535); //'Êä³öµçÁ÷', output_vol = MyModbusUtils.CreateIntRanDom(0,65535); //'Êä³öµçѹ', model_tmp = MyModbusUtils.CreateIntRanDom(0,65535); //'Ä£¿éζÈ', } public void writeMutliData(MyJlibModbus mymodbus) { try { mymodbus.holdings_ser.set(0x85B6,(int)torque_set); mymodbus.holdings_ser.set(0x85B7,(int)speed_set); mymodbus.holdings_ser.set(0x85B8,(int)positive_speed_limit); mymodbus.holdings_ser.set(0x85B9,(int)reverse_speed_limit); mymodbus.holdings_ser.set(0x8451,(int)motor_speed); mymodbus.holdings_ser.set(0x8006,(int)output_power); mymodbus.holdings_ser.set(0x8004,(int)output_curr); mymodbus.holdings_ser.set(0x8003,(int)output_vol); mymodbus.holdings_ser.set(0x8276,(int)model_tmp); } catch (IllegalDataAddressException | IllegalDataValueException e) { e.printStackTrace(); } } public Afe_Inverter_State(int dev_id) { this.dev_id = dev_id; } public Afe_Inverter_State() { } public int getDev_id() { return dev_id; } public void setDev_id(int dev_id) { this.dev_id = dev_id; } public Date getRecord_time() { return record_time; } public void setRecord_time(Date record_time) { this.record_time = record_time; } public float getTorque_set() { return torque_set; } public void setTorque_set(float torque_set) { this.torque_set = torque_set; } public float getSpeed_set() { return speed_set; } public void setSpeed_set(float speed_set) { this.speed_set = speed_set; } public float getPositive_speed_limit() { return positive_speed_limit; } public void setPositive_speed_limit(float positive_speed_limit) { this.positive_speed_limit = positive_speed_limit; } public float getReverse_speed_limit() { return reverse_speed_limit; } public void setReverse_speed_limit(float reverse_speed_limit) { this.reverse_speed_limit = reverse_speed_limit; } public float getMotor_speed() { return motor_speed; } public void setMotor_speed(float motor_speed) { this.motor_speed = motor_speed; } public float getOutput_power() { return output_power; } public void setOutput_power(float output_power) { this.output_power = output_power; } public float getOutput_curr() { return output_curr; } public void setOutput_curr(float output_curr) { this.output_curr = output_curr; } public float getOutput_vol() { return output_vol; } public void setOutput_vol(float output_vol) { this.output_vol = output_vol; } public float getModel_tmp() { return model_tmp; } public void setModel_tmp(float model_tmp) { this.model_tmp = model_tmp; } @Override public String toString() { return "Afe_Inverter_State [dev_id=" + dev_id + ", record_time=" + record_time + ", torque_set=" + torque_set + ", speed_set=" + speed_set + ", positive_speed_limit=" + positive_speed_limit + ", reverse_speed_limit=" + reverse_speed_limit + ", motor_speed=" + motor_speed + ", output_power=" + output_power + ", output_curr=" + output_curr + ", output_vol=" + output_vol + ", model_tmp=" + model_tmp + "]"; } }