|  |  | 
 |  |  |         String confirmComCode = para.upCode ; | 
 |  |  |         ParseParamsForDownV1_0_1 downCpParams  = new ParseParamsForDownV1_0_1() ; | 
 |  |  |         downCpParams.setValue( | 
 |  |  |                 null, | 
 |  |  |                 ProtocolConstantV206V1_0_0.protocolName, | 
 |  |  |                 para.rtuAddr, | 
 |  |  |                 Command.defaultId, | 
 |  |  | 
 |  |  |                 null, | 
 |  |  |                 null); | 
 |  |  |         //构造应答 | 
 |  |  |         byte[] data = new Cd_02_Down().doParse(downCpParams) ; | 
 |  |  |         byte[] data = new Cd_C0_Down().doParse(downCpParams) ; | 
 |  |  |  | 
 |  |  |         MidResultToRtu confirmCommand = new MidResultToRtu() ; | 
 |  |  |         confirmCommand.protocolName = para.protocolName ;//协议名称 | 
 |  |  | 
 |  |  |     protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { | 
 |  |  |         DataV1_0_1 dV1 = (DataV1_0_1)data.getSubData() ; | 
 |  |  |         DataCdC0Vo cdData = new DataCdC0Vo() ; | 
 |  |  |         dV1.dataCdC0Vo = cdData ; | 
 |  |  |         dV1.subData = cdData ; | 
 |  |  |  | 
 |  |  |         boolean hasWaterAmount = false ;//是否有流量数据 | 
 |  |  |         boolean hasWaterPress = false ;//是否有水压数据 | 
 |  |  | 
 |  |  |             tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; | 
 |  |  |             index++ ; | 
 |  |  |             cdData.batteryVolt += tpInt; | 
 |  |  |             //太阳能电压:4字节BCD码,取值范围0~99.99,单位为V。 | 
 |  |  |             tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; | 
 |  |  |             index++ ; | 
 |  |  |             cdData.sunVolt += tpInt/100.0 ; | 
 |  |  |             tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; | 
 |  |  |             index++ ; | 
 |  |  |             cdData.sunVolt += tpInt; | 
 |  |  | //            //太阳能电压:4字节BCD码,取值范围0~99.99,单位为V。 | 
 |  |  | //            tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; | 
 |  |  | //            index++ ; | 
 |  |  | //            cdData.sunVolt += tpInt/100.0 ; | 
 |  |  | //            tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; | 
 |  |  | //            index++ ; | 
 |  |  | //            cdData.sunVolt += tpInt; | 
 |  |  |         } | 
 |  |  |         if(hasSignal){ | 
 |  |  |             //信号强度:1字节BCD码,取值范围0~99。 | 
 |  |  |             cdData.signal = 0 ; | 
 |  |  |             cdData.signalValue = 0 ; | 
 |  |  |             int tpInt = ByteUtil.BCD2Int_LE(bs, index, index) ; | 
 |  |  |             index++ ; | 
 |  |  |             cdData.signal += tpInt  ; | 
 |  |  |             cdData.signalValue += tpInt  ; | 
 |  |  |         } | 
 |  |  |         if(hasAlarmStatus){ | 
 |  |  |             //报警数据 |