1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.dy.common.mw.protocol.p206V202404;
 
import com.dy.common.mw.protocol.AnnotationOnLine;
import com.dy.common.mw.protocol.OnLine;
 
@AnnotationOnLine(
        enable = true,
        protocolName = ProtocolConstantV206V202404.protocolName,
        protocolVersion = ProtocolConstantV206V202404.protocolVer,
        priority = ProtocolConstantV206V202404.priority)
@SuppressWarnings("unused")
public class OnLineV202404 implements OnLine{
 
    /**
     * 对上线数据进行分析 
     * @param upBuf 上行数据
     * @return
     */
    @Override
    public OnLineResult parse(byte[] upBuf)throws Exception {
        OnLineResult olr = new OnLineResult() ;
        CommonV202404 cp = new CommonV202404() ;
        Boolean flag = cp.isThisProtocolHead(upBuf) ;
        if(flag == null){
            //出错
            olr.result = OnLine.OnLineAction_fail ;
            olr.rtuAddr = null ;
        }else if(!flag.booleanValue()){
            //不是本协议数据
            olr.result = OnLine.OnLineAction_success_noMe ;
            olr.rtuAddr = null ;
        }else{
            //是本协议数据
            olr.result = OnLine.OnLineAction_success ;
            olr.rtuAddr = cp.parseRtuAddr(upBuf) ;
            olr.protocolName = ProtocolConstantV206V202404.protocolName ;
        }
        return olr;
    }
 
}