using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JiShe.CollectBus.Protocol.Contracts.Models { /// /// 解析3761报文 /// public class TB3761 { /// /// 报文 /// public BaseHexMessage? BaseHexMessage { get; set;} /// /// 控制域C /// public C? C { get; set; } /// /// 地址域A /// public A? A { get; set; } /// /// 帧序列域 SEQ /// public SEQ? SEQ { get; set; } /// /// 用户数据区 /// 功能码 /// public AFN_FC? AFN_FC { get; set; } /// /// 用户数据区 /// 信息点DA Pn /// public DA? DA { get; set; } /// /// 用户数据区 /// 信息类DT Fn /// public DT? DT { get; set; } /// /// 数据单元标识和数据单元格式 /// public UnitData? UnitData { get; set; } } #region /// /// 报文信息 /// public class BaseHexMessage { /// /// 报文 /// public string? HexMessageString { get; set; } /// /// 报文数组 /// public List? HexMessageList { get; set; } } /// /// 控制域C /// public class C { /// /// 控制域C报文 /// public BaseHexMessage? BaseHexMessage { get; set; } /// /// 传输方向位D7 DIR=0,表示此帧报文是由主站发出的下行报文;DIR=1,表示此帧报文是由终端发出的上行报文。 /// public int DIR { get; set; } /// /// D6启动标志位 0:表示此帧报文来自从动站(终端),1:表示此帧报文来自启动站(服务端) /// public int PRM { get; set; } /// /// D5下行:帧计数位(FCB)/上行(ACD):要求访问位(终端有重要事件等待访问), /// public int FCB { get; set; } /// /// 下行:帧计数有效位(决定FCB位有效/无效)/上行:保留 D4 /// public int FCV { get; set; } /// /// 功能码 D0-D3 /// public int FC { get; set; } } /// /// 地址域A /// public class A { /// /// 地址域报文 /// public BaseHexMessage? BaseHexMessage { get; set; } /// /// 集中器/终端编码 /// public string? Code { get; set; } /// /// 行政区划码A1 /// public string? A1 { get; set; } /// /// 终端地址A2 /// public int A2 { get; set; } /// /// 站地址和组地址标志A3 /// public A3? A3 { get; set; } } /// /// 站地址和组地址标志A3 /// public class A3 { /// /// 地址域A3报文 /// public BaseHexMessage? BaseHexMessage { get; set; } /// /// 终端组地址标志,D0=0即False 表示终端地址A2 为单地址 /// public int D0 { get; set; } /// /// 主站地址 MSA D1~D7 组成 0~127 /// public int D1_D7 { get; set; } } /// /// 帧序列域 SEQ /// public class SEQ { /// /// 帧序列域报文 /// public BaseHexMessage? BaseHexMessage { get; set; } /// /// 响应帧序号 /// public int PSEQ { get; set; } /// /// CON为“1”,表示需要对该帧报文进行确认;置“0”,表示不需要对该帧报文进行确认。 /// public int CON { get; set; } /// /// 末帧标志 /// public int FIN { get; set; } /// /// 首帧标志 /// public int FIR { get; set; } /// /// 帧时间标签有效位,TpV=0,表示在附加信息域中无时间标签Tp;TpV=1,表示在附加信息域中带有时间标签Tp /// public int TpV { get; set; } } /// /// 用户数据区 /// 功能码 /// public class AFN_FC { public BaseHexMessage? BaseHexMessage { get; set; } /// /// 功能码 /// public int AFN { get; set; } } /// /// 用户数据区 /// 信息点DA Pn /// public class DA { public BaseHexMessage? BaseHexMessage { get; set; } /// /// 信息点 DA Pn /// public int Pn { get; set; } } /// /// 用户数据区 /// 信息类DT Fn /// public class DT { public BaseHexMessage? BaseHexMessage { get; set; } /// /// 信息类 DT Fn /// public int Fn { get; set; } } /// /// 数据单元标识和数据单元格式 /// public class UnitData: BaseHexMessage { } #endregion }