package com.dev.fgcd.data;
|
|
|
import java.nio.ByteBuffer;
|
import java.util.Date;
|
|
public class FGCD_SysState {
|
private final int BYTE_LEN = 48;
|
|
public int dev_workstate = FGCD_ComBase.WORK_STATE_STOPPED; //ϵͳ״̬
|
|
public double groupVol; //ÔÚÏßµçѹ(0.1V)
|
public double tatalVol; //×ܵçѹ(0.1V)
|
public Date nowDate; //±ê׼ʱ¼ä
|
public String chageDate; //³äµçʱ¼ä(ʱ£º·Ö£ºÃë)
|
public int btnState; //°´¼ü״̬£¨0:Í£Ö¹ 1£ºÔÝÍ£·Åµç 2:·Åµç 3:ÔÝÍ£³äµç 4:³äµç 5:µÈ´ý³äµç 6:µÈ´ý·Åµç£©
|
public int lowerCount; //Òѵ½ÏÂÏÞµ¥ÌåÊýÁ¿
|
public double chargeCurr; //³äµçµçÁ÷(0.1A)
|
public double testCap; //ÒÑ·ÅÈÝÁ¿(1AH)
|
public int maxVolNum; //×î¸ßµ¥ÌåºÅ
|
public double maxVol; //×î¸ßµ¥Ìåµçѹ(0.001V)
|
public int minVolNum; //×îµÍµ¥ÌåºÅ
|
public double minVol; //×îµÍµ¥Ìåµçѹ(0.001V)
|
public int hhProgress; //µ±Ç°»î»¯´ÎÊý
|
|
public float montmps[]; //µ¥ÌåζÈ[ÓзûºÅÕûÊý]
|
public float devtmp; //ÑÌÎí±¨¾¯Æ÷ζÈ[ÓзûºÅÕûÊý]
|
public float last_devtmp = 1; //ÉÏÒ»´ÎÑÌÎí±¨¾¯×´Ì¬
|
public int tmp_alm_lock; //ÑÌÎí¸æ¾¯Ëø¶¨×´Ì¬
|
|
public int dev_alarm; //ÔÚÏßѹµÍ¸æ¾¯×´Ì¬
|
|
public double on_online_vol; //ÔÚÏßÄ£¿éÔÚÏßµçѹ(0.1)
|
public double on_group_vol; //ÔÚÏßÄ£¿é×é¶Ëµçѹ(0.1)
|
public int diode_state; //¶þ¼«¹Ü״̬
|
|
public int[] backup; //Ô¤Áô5¸ö×Ö½Ú
|
|
public int dev_captest_stop_type; //Í£Ö¹ÔÒò
|
public long dev_data_flowsum; //Á÷Á¿byte
|
|
public long dev_commcount; //ͨѶ¼ÆÊý
|
public long dev_errcommcount; //´íÎó¼ÆÊý
|
|
public FGCD_SysState() {
|
groupVol = 0; //ÔÚÏßµçѹ(0.1V)
|
tatalVol = 0; //×ܵçѹ(0.1V)
|
nowDate = new Date(); //±ê׼ʱ¼ä
|
chageDate = new String(); //³äµçʱ¼ä(ʱ£º·Ö£ºÃë)
|
btnState = 0; //°´¼ü״̬£¨0:Í£Ö¹ 1£ºÔÝÍ£·Åµç 2:·Åµç 3:ÔÝÍ£³äµç 4:³äµç 5:µÈ´ý³äµç 6:µÈ´ý·Åµç£©
|
lowerCount = 0; //Òѵ½ÏÂÏÞµ¥ÌåÊýÁ¿
|
chargeCurr = 0; //³äµçµçÁ÷(0.1A)
|
testCap = 0; //ÒÑ·ÅÈÝÁ¿(1AH)
|
maxVolNum = 0; //×î¸ßµ¥ÌåºÅ
|
maxVol = 0; //×î¸ßµ¥Ìåµçѹ(0.001V)
|
minVolNum = 0; //×îµÍµ¥ÌåºÅ
|
minVol = 0; //×îµÍµ¥Ìåµçѹ(0.001V)
|
hhProgress = 0; //µ±Ç°»î»¯´ÎÊý
|
montmps = new float[3];
|
devtmp = 0;
|
backup = new int[5]; //Ô¤Áô5¸ö×Ö½Ú
|
}
|
|
public void makeDevCommDataFlowSum (int dat_len) {
|
int datlen = dat_len;
|
if(datlen < 64) {
|
datlen = 64;
|
}
|
this.dev_data_flowsum += datlen;
|
}
|
|
public void checkTmpAlmState(int dev_alarm) {
|
//ÑÌÎí±¨¾¯¼ì²â
|
if(this.tmp_alm_lock == 1) {
|
//µ±Ç°¸æ¾¯×´Ì¬ÎªËø¶¨×´Ì¬
|
this.devtmp = last_devtmp;
|
}else{
|
if(this.devtmp > 0) {
|
this.tmp_alm_lock = 1;
|
}
|
}
|
|
//ÔÚÏßѹµÍÍ£Ö¹·Åµç¼ì²â
|
if(this.on_online_vol < 51.5 && dev_workstate == FGCD_ComBase.WORK_STATE_DISTEST) {
|
if(dev_alarm > 1) {
|
//Èç¹ûµ±Ç°×´Ì¬ÒÑÈ·ÈÏ
|
this.dev_alarm = dev_alarm;
|
}else{
|
//·ñÔòÐèÒªÌáʾ
|
this.dev_alarm = 1;
|
}
|
}else {
|
this.dev_alarm = 0;
|
}
|
}
|
|
public boolean putByteBuffer(ByteBuffer bf) {
|
if(bf.limit()<BYTE_LEN) {
|
return false;
|
}
|
ByteBuffer tmpbuf = bf;
|
tmpbuf.position(0);
|
|
groupVol = FGCD_ComBase.changeShortToDouble(bf.getShort())/10; //ÔÚÏßµçѹ(0.1V)
|
tatalVol = FGCD_ComBase.changeShortToDouble(bf.getShort())/10; //×ܵçѹ(0.1V)
|
int year = FGCD_ComBase.changeByteToInt(bf.get());
|
int month = FGCD_ComBase.changeByteToInt(bf.get());
|
int day = FGCD_ComBase.changeByteToInt(bf.get());
|
int hour = FGCD_ComBase.changeByteToInt(bf.get());
|
int min = FGCD_ComBase.changeByteToInt(bf.get());
|
int sec = FGCD_ComBase.changeByteToInt(bf.get());
|
|
//System.out.println(year+":"+month+":"+day+":"+hour+":"+min+":"+sec);
|
//nowDate = Com.getDateTimeFromStr(dt, Com.DTF_YMDhms);
|
int hour1 = FGCD_ComBase.changeByteToInt(bf.get());
|
int min1 = FGCD_ComBase.changeByteToInt(bf.get());
|
int sec1 = FGCD_ComBase.changeByteToInt(bf.get());
|
chageDate = hour1+":"+min1+":"+sec1; //³äµçʱ¼ä(ʱ£º·Ö£ºÃë)
|
btnState = FGCD_ComBase.changeByteToInt(bf.get()); //°´¼ü״̬£¨0:Í£Ö¹ 1£ºÔÝÍ£·Åµç 2:·Åµç 3:ÔÝÍ£³äµç 4:³äµç 5:µÈ´ý³äµç 6:µÈ´ý·Åµç£©
|
lowerCount = FGCD_ComBase.changeShortToInt(bf.getShort()); //Òѵ½ÏÂÏÞµ¥ÌåÊýÁ¿
|
chargeCurr = FGCD_ComBase.changeShortToDouble(bf.getShort())/10; //³äµçµçÁ÷(0.1A)
|
testCap = FGCD_ComBase.changeShortToInt(bf.getShort()); //ÒÑ·ÅÈÝÁ¿(1AH)
|
maxVolNum = FGCD_ComBase.changeShortToInt(bf.getShort()); //×î¸ßµ¥ÌåºÅ
|
maxVol = FGCD_ComBase.changeShortToDouble(bf.getShort())/1000; //×î¸ßµ¥Ìåµçѹ(0.001V)
|
minVolNum = FGCD_ComBase.changeShortToInt(bf.getShort()); //×îµÍµ¥ÌåºÅ
|
minVol = FGCD_ComBase.changeShortToDouble(bf.getShort())/1000; //×îµÍµ¥Ìåµçѹ(0.001V)
|
hhProgress = FGCD_ComBase.changeShortToInt(bf.getShort()); //»î»¯½ø¶È
|
|
for(int i=0;i<montmps.length;i++) {
|
montmps[i] = (float)bf.getShort()/10;
|
}
|
devtmp = bf.getShort(); //É豸ζÈ
|
if(devtmp > 0) {
|
last_devtmp = devtmp;
|
}
|
on_online_vol = FGCD_ComBase.changeShortToDouble(bf.getShort())/10; //ÔÚÏßÄ£¿éÔÚÏßµçѹ
|
on_group_vol = FGCD_ComBase.changeShortToDouble(bf.getShort())/10; //ÔÚÏßÄ£¿é×é¶Ëµçѹ
|
diode_state = FGCD_ComBase.changeByteToInt(bf.get()); //¶þ¼«¹Ü״̬
|
|
for(int i = 0;i<backup.length;i++) {
|
backup[i] = FGCD_ComBase.changeByteToInt(bf.get());
|
}
|
return true;
|
}
|
|
public void addErrorCount() {
|
this.dev_errcommcount ++;
|
if(this.dev_errcommcount > 99999999) {
|
this.dev_errcommcount = 5;
|
}
|
}
|
|
public void addCommCount() {
|
this.dev_commcount ++;
|
if(this.dev_commcount > 99999999) {
|
this.dev_commcount = 5;
|
}
|
}
|
|
|
@Override
|
public String toString() {
|
return "DischargeData [groupVol=" + groupVol + ", tatalVol=" + tatalVol + ", nowDate=" + nowDate
|
+ ", chageDate=" + chageDate + ", btnState=" + btnState + ", lowerCount=" + lowerCount + ", chargeCurr="
|
+ chargeCurr + ", testCap=" + testCap + ", maxVolNum=" + maxVolNum + ", maxVol=" + maxVol
|
+ ", minVolNum=" + minVolNum + ", minVol=" + minVol + "]";
|
}
|
}
|