package com.dy.common.mw.protocol.p206V1;
|
|
import com.dy.common.mw.protocol.AnnotationOnLine;
|
import com.dy.common.mw.protocol.OnLine;
|
|
@AnnotationOnLine(
|
enable = true,
|
protocolName = ProtocolConstantV206V1.protocolName,
|
priority = ProtocolConstantV206V1.priority)
|
@SuppressWarnings("unused")
|
public class OnLineV1 implements OnLine{
|
|
/**
|
* 对上线数据进行分析
|
* @param upBuf 上行数据
|
* @return
|
*/
|
@Override
|
public OnLineResult parse(byte[] upBuf)throws Exception {
|
OnLineResult olr = new OnLineResult() ;
|
CommonV1 cp = new CommonV1() ;
|
Boolean[] isThis_p206Pgu = cp.isThisProtocolHead(upBuf) ;
|
if(isThis_p206Pgu == null || isThis_p206Pgu.length != 2){
|
//出错
|
olr.result = OnLine.OnLineAction_fail ;
|
olr.rtuAddr = null ;
|
}else if(!isThis_p206Pgu[0].booleanValue()){
|
//不是本协议数据
|
olr.result = OnLine.OnLineAction_success_noMe ;
|
olr.rtuAddr = null ;
|
}else{
|
//是本协议数据
|
olr.result = OnLine.OnLineAction_success ;
|
olr.rtuAddr = cp.parseRtuAddr(upBuf, isThis_p206Pgu[1]) ;
|
olr.protocolName = ProtocolConstantV206V1.protocolName ;
|
olr.protocolVersion = ProtocolConstantV206V1.protocolVer ;
|
}
|
return olr;
|
}
|
|
}
|