package com.dev.ica_600kw;
|
|
import java.nio.ByteBuffer;
|
import java.nio.ByteOrder;
|
import java.util.Arrays;
|
|
import com.dev.bts.data.FBS9100_ComBase;
|
|
/**
|
* ²âÊÔ²ÎÊý
|
* @author DELL
|
*
|
*/
|
public class IAC_TestParam {
|
|
public static final int ParamType_WT = 0; //ÎÈ̬²âÊÔ
|
public static final int ParamType_Other = 1; //ÆäËû²âÊÔ
|
|
public static final int REG_Count = 32;
|
public static final int REG_Count_Set = 29;
|
|
public boolean is_ReadParam = false;
|
|
public int JiFangNum; //»ú·¿±àºÅ
|
public int DeviceNum; //É豸±àºÅ[1-9999999]
|
|
public int WTPowerCount; //¹¦ÂʶÎÊý[1-10]
|
public int VolLowLimit; //µçѹÏÂÏÞ[1-220V]
|
public int[] Power1 = new int[10]; //¹¦ÂʶÎ[0-9999KVA]
|
public float CurrHigh; //µçÁ÷ÉÏÏÞ£¨1-525A£©
|
public float VolHigh; //µçѹÉÏÏÞ£¨1-255V£©
|
public int[] TestTime = new int[10]; //²âÊÔʱ¼ä¶Î£¨0-5999min£©
|
|
public float STDPower; //¶î¶¨¹¦ÂʸºÔØ(0-9999KW)
|
public int TimeCount; //²âÊÔ¼ä¸ô(5-9999S)
|
public int ZDPowerCount; //¹¦ÂʶÎÊý(2-5)
|
public int PowerPercent; //¸ºÔØÂÊ(0-100%)
|
public int ParamType; //ÉèÖòÎÊýÀàÐÍ 0-ÎÈ̬²âÊÔ 1-ÆäËû
|
|
public boolean putByteBuffer(ByteBuffer bbf_rx) {
|
|
if(bbf_rx.limit() < REG_Count*2) {
|
return false;
|
}
|
bbf_rx.position(0);
|
int s1 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
int s2 = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort());
|
|
this.JiFangNum = s1 + s2*65536;
|
//this.JiFangNum = bbf_rx.getInt(); //»ú·¿±àºÅ
|
this.DeviceNum = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //É豸±àºÅ[1-9999999]
|
|
this.WTPowerCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¹¦ÂʶÎÊý[1-10]
|
this.VolLowLimit = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //µçѹÏÂÏÞ[1-220V]
|
|
for(int k = 0;k<Power1.length ;k++) {
|
Power1[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¹¦ÂʶÎ[0-9999KVA]
|
}
|
|
this.CurrHigh = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort()); //µçÁ÷ÉÏÏÞ£¨1-525A£©
|
this.VolHigh = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort()); //µçѹÉÏÏÞ£¨1-255V£©
|
|
for(int k = 0;k<TestTime.length ;k++) {
|
TestTime[k] = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //²âÊÔʱ¼ä¶Î£¨0-5999min£©
|
}
|
|
this.STDPower = FBS9100_ComBase.changeShortToFloat(bbf_rx.getShort()); //¶î¶¨¹¦ÂʸºÔØ(0-9999KW)
|
|
this.TimeCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //²âÊÔ¼ä¸ô(5-9999S)
|
this.ZDPowerCount = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¹¦ÂʶÎÊý(2-5)
|
this.PowerPercent = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //¸ºÔØÂÊ(0-100%)
|
this.ParamType = FBS9100_ComBase.changeShortToInt(bbf_rx.getShort()); //ÉèÖòÎÊýÀàÐÍ 0-ÎÈ̬²âÊÔ 1-ÆäËû
|
|
System.out.println(this);
|
|
this.is_ReadParam = true;
|
return true;
|
}
|
|
|
public ByteBuffer getByteBuffer() {
|
ByteBuffer buffer = ByteBuffer.allocate(REG_Count_Set*2);
|
buffer.order(ByteOrder.BIG_ENDIAN);
|
buffer.position(0);
|
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.WTPowerCount));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.VolLowLimit));
|
for(int k = 0;k<Power1.length;k++) {
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.Power1[k]));
|
}
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.CurrHigh));
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.VolHigh));
|
|
for(int k = 0;k<TestTime.length ;k++) {
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.TestTime[k])); //²âÊÔʱ¼ä¶Î£¨0-5999min£©
|
}
|
|
buffer.putShort(FBS9100_ComBase.changeFloatToShort(this.STDPower));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.TimeCount));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.ZDPowerCount));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.PowerPercent));
|
buffer.putShort(FBS9100_ComBase.changeIntToShort(this.ParamType));
|
|
|
|
buffer.flip();
|
return buffer;
|
}
|
|
|
public void clone(IAC_TestParam param) {
|
if(null != param) {
|
this.JiFangNum = param.JiFangNum; //»ú·¿±àºÅ
|
this.DeviceNum = param.DeviceNum; //É豸±àºÅ[1-9999999]
|
|
this.WTPowerCount = param.WTPowerCount; //¹¦ÂʶÎÊý[1-10]
|
this.VolLowLimit = param.VolLowLimit; //µçѹÏÂÏÞ[1-220V]
|
|
for(int k = 0;k<Power1.length ;k++) {
|
Power1[k] = param.Power1[k]; //¹¦ÂʶÎ[0-9999KVA]
|
}
|
|
this.CurrHigh = param.CurrHigh; //µçÁ÷ÉÏÏÞ£¨1-525A£©
|
this.VolHigh = param.VolHigh; //µçѹÉÏÏÞ£¨1-255V£©
|
|
for(int k = 0;k<TestTime.length ;k++) {
|
TestTime[k] = param.TestTime[k]; //²âÊÔʱ¼ä¶Î£¨0-5999min£©
|
}
|
|
this.STDPower = param.STDPower; //¶î¶¨¹¦ÂʸºÔØ(0-9999KW)
|
|
this.TimeCount = param.TimeCount; //²âÊÔ¼ä¸ô(5-9999S)
|
this.ZDPowerCount = param.ZDPowerCount; //¹¦ÂʶÎÊý(2-5)
|
this.PowerPercent = param.PowerPercent; //¸ºÔØÂÊ(0-100%)
|
this.ParamType = param.ParamType; //ÉèÖòÎÊýÀàÐÍ 0-ÎÈ̬²âÊÔ 1-ÆäËû
|
}
|
|
}
|
|
|
public boolean isIs_ReadParam() {
|
return is_ReadParam;
|
}
|
|
|
public void setIs_ReadParam(boolean is_ReadParam) {
|
this.is_ReadParam = is_ReadParam;
|
}
|
|
|
@Override
|
public String toString() {
|
return "IAC_TestParam [is_ReadParam=" + is_ReadParam + ", JiFangNum=" + JiFangNum + ", DeviceNum=" + DeviceNum
|
+ ", WTPowerCount=" + WTPowerCount + ", VolLowLimit=" + VolLowLimit + ", Power1="
|
+ Arrays.toString(Power1) + ", CurrHigh=" + CurrHigh + ", VolHigh=" + VolHigh + ", TestTime="
|
+ Arrays.toString(TestTime) + ", STDPower=" + STDPower + ", TimeCount=" + TimeCount + ", ZDPowerCount="
|
+ ZDPowerCount + ", PowerPercent=" + PowerPercent + ", ParamType=" + ParamType + "]";
|
}
|
|
}
|