package com.dev.simpower.dev;
|
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
|
import com.dev.bts.data.FBS9100_ComBase;
|
|
public class Power_Param {
|
|
public static final int REG_Count = 7; //ϵͳ²ÎÊý¼Ä´æÆ÷ÊýÁ¿
|
public static final int REG_Count_Power = 2; //µçÔ´²ÎÊý¼Ä´æÆ÷ÊýÁ¿
|
|
public static final int REG_Count_Time = 6; //µçԴʱ¼äУ׼¼Ä´æÆ÷ÊýÁ¿
|
public static final int REG_Count_Regular = 14; //µçÔ´¶¨Ê±¿ØÖƼĴæÆ÷ÊýÁ¿
|
|
|
public static final int Reg_Count_Control = 1; //ϵͳ²ÎÊý¼Ä´æÆ÷ÊýÁ¿
|
|
|
public int dev_comm_addr; //2000 É豸ͨÐŵØÖ· ModbusÉ豸µØÖ·£¬1~250
|
public int libms_count; //2001 ï®µç³Ø°ü¸öÊý 1~4
|
public int model_count; //2002 µçÔ´Ä£¿é¸öÊý 1~4
|
public float power_downvol; //2003 µç³ØÏµçµçѹ 0.1V
|
public int back_time; //2004 Òº¾§ÆÁ±³¹âʱ¼ä Min£¬15~99
|
public int charcurr_limit; //2005 ³äµçÏÞÁ÷ A
|
public int back_control_en; //2006 ±¸µç¿ØÖÆÊ¹ÄÜ 0-½ûÓñ¸µçʹÄÜ 1-ÆôÓñ¸µç¿ØÖÆÊ¹ÄÜ
|
|
|
|
public float output_vol; //2600 µçÔ´Êä³öµçѹÉ趨 0.1V
|
public float output_curr; //2601 µçÔ´Êä³öÏÞÁ÷µãÉ趨 A
|
|
//¶ÁÈ¡
|
public int dev_year; //2800 Äê 0~100£¬Àý£º2024Ä꣬2024-2000=24
|
public int dev_month; //2801 ÔÂ
|
public int dev_day; //2802 ÈÕ
|
public int dev_hour; //2803 ʱ
|
public int dev_minute; //2804 ·Ö
|
public int dev_second; //2805 Ãë
|
|
|
public boolean putByteBuffer(ByteBuffer bbf_rx) {
|
if(bbf_rx.limit() < REG_Count*2) {
|
return false;
|
}
|
bbf_rx.position(0);
|
|
this.dev_comm_addr = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2000 É豸ͨÐŵØÖ· ModbusÉ豸µØÖ·£¬1~250
|
this.libms_count = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2001 ï®µç³Ø°ü¸öÊý 1~4
|
this.model_count = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2002 µçÔ´Ä£¿é¸öÊý 1~4
|
this.power_downvol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //2003 µç³ØÏµçµçѹ 0.1V
|
this.back_time = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2004 Òº¾§ÆÁ±³¹âʱ¼ä Min£¬15~99
|
|
|
this.charcurr_limit = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2005 ³äµçÏÞÁ÷ A
|
this.back_control_en = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2006 ±¸µç¿ØÖÆÊ¹ÄÜ 0-½ûÓñ¸µçʹÄÜ 1-ÆôÓñ¸µç¿ØÖÆÊ¹ÄÜ
|
//System.out.println(this);
|
return true;
|
}
|
|
public boolean putPowerByteBuffer(ByteBuffer bbf_rx) {
|
if(bbf_rx.limit() < REG_Count_Power*2) {
|
return false;
|
}
|
bbf_rx.position(0);
|
|
this.output_vol = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort())/10; //2003 µç³ØÏµçµçѹ 0.1V
|
this.output_curr = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2004 Òº¾§ÆÁ±³¹âʱ¼ä Min£¬15~99
|
|
return true;
|
}
|
|
public boolean putTimeByteBuffer(ByteBuffer bbf_rx) {
|
if(bbf_rx.limit() < REG_Count_Time*2) {
|
return false;
|
}
|
bbf_rx.position(0);
|
|
this.dev_year = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()) + 2000; //2800 Äê 0~100£¬Àý£º2024Ä꣬2024-2000=24
|
this.dev_month = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2801 ÔÂ
|
this.dev_day = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2802 ÈÕ
|
this.dev_hour = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2803 ʱ
|
this.dev_minute = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2804 ·Ö
|
this.dev_second = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //2805 Ãë
|
|
return true;
|
}
|
|
|
|
public ByteBuffer getByteBuffer() {
|
ByteBuffer buffer = ByteBuffer.allocate(REG_Count*2);
|
buffer.order(ByteOrder.BIG_ENDIAN);
|
buffer.position(0);
|
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_comm_addr));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.libms_count));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.model_count));
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.power_downvol*10));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.back_time));
|
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.charcurr_limit));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.back_control_en));
|
|
|
buffer.flip();
|
return buffer;
|
}
|
|
|
public ByteBuffer getPowerByteBuffer() {
|
ByteBuffer buffer = ByteBuffer.allocate(REG_Count_Power*2);
|
buffer.order(ByteOrder.BIG_ENDIAN);
|
buffer.position(0);
|
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.output_vol*10));
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.output_curr));
|
|
buffer.flip();
|
return buffer;
|
}
|
|
public ByteBuffer getTimeByteBuffer() {
|
ByteBuffer buffer = ByteBuffer.allocate(REG_Count_Time*2);
|
buffer.order(ByteOrder.BIG_ENDIAN);
|
buffer.position(0);
|
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_year - 2000));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_month));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_day));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_hour));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_minute));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.dev_second));
|
|
buffer.flip();
|
return buffer;
|
}
|
|
|
@Override
|
public String toString() {
|
return "Power_Param [dev_comm_addr=" + dev_comm_addr + ", libms_count=" + libms_count + ", model_count="
|
+ model_count + ", power_downvol=" + power_downvol + ", back_time=" + back_time + ", output_vol="
|
+ output_vol + ", output_curr=" + output_curr + "]";
|
}
|
|
}
|