zhubaomin
2025-04-07 1a2b07f01ba4616fd9e894dddf474b56d020158c
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/OnLineV1.java
New file
@@ -0,0 +1,42 @@
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,
      protocolVersion = ProtocolConstantV206V1.protocolVer,
      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;
   }
}