|  |  |  | 
|---|
|  |  |  | Short protocolVersion = null ; | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | CommonV2 cp = new CommonV2() ; | 
|---|
|  |  |  | cp.checkHead(upBuffer) ; | 
|---|
|  |  |  | cp.checkTail(upBuffer) ; | 
|---|
|  |  |  | String crcStr = cp.checkCrc_str(upBuffer) ; | 
|---|
|  |  |  | if(crcStr != null){ | 
|---|
|  |  |  | return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "严重错误,上行数据CRC检查失败," + crcStr, null))} ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | rtuAddr = cp.parseRtuAddr(upBuffer) ; | 
|---|
|  |  |  | protocolVersion = cp.parseVersion(upBuffer) ; | 
|---|
|  |  |  | upCode = cp.parseCode(upBuffer) ; | 
|---|
|  |  |  | if(upCode == null){ | 
|---|
|  |  |  | return new MidResult[]{(new MidResultError(ProtocolConstantV206V2.protocolName, rtuAddr, "严重错误,未能从上行数据中解析出功能码!", null))} ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //Integer dataLen = cp.parseFrameLen(upBuffer) ; | 
|---|
|  |  |  | Data upData = new Data() ; | 
|---|
|  |  |  | upData.setRtuAddr(rtuAddr) ; | 
|---|
|  |  |  | upData.setProtocol(ProtocolConstantV206V2.protocolName); | 
|---|