376.1协议解析资源
资源概述
本资源库提供了一个全面的376.1协议解析资源,专为前置机开发而设计。它包含了精细的帧结构分析,确保解析过程的精度和可靠性。
主要功能
- 帧类型识别:准确区分发送帧和接收帧。
- 帧头解析:拆解帧头中的两个68个字节。
- 帧长度解析:分析帧的长度信息。
- 控制域解析:分解控制域中的字段,包括传输方向位、启动标志位、帧计数位、帧计数有效位和控制域功能码。
- 地址域解析:拆解地址域中的行政区划码、终端地址、主站地址和地址标志。
代码结构
资源库中定义了一个FrameInfo
结构体,用于存储解析后的帧信息。以下是其字段说明:
public struct FrameInfo
{
// 帧类型:发送帧或接收帧
public bool IsSend;
// 帧头:68
public const string FrameFirst = "68";
public const string FrameSecond = "68";
// 帧长度
public string L1;
// 控制域内容 (控制域C)
public string DIR; // 传输方向位 D7 --> DIR=0:表示此帧报文是由主站发出的下行报文
public string PRM; // 启动标志位 D6 --> PRM=1:表示此帧报文来自启动站;PRM=0:表示此帧报文来自从动站。
public string FCB; // 帧计数位 D5(上行为ACD) --> FCV=1时,FCB表示每个站连续的发送/确认或者请求/响应服务的变化位。复位命令中的FCB=0
public string FCV; // 帧计数有效位 D4
public string CID; // 控制域 D3~D0 功能码 PRM=1:功能码11【请求∕响应帧,请求2级数据】,功能码10【请求∕响应帧,请求1级数据】
// 地址域内容
public string A1; // 行政区划码
public string A2; // 终端地址
public string MSA; // 主站地址
public string ArrFlag; // 主站地址和终端组地址标志 // 标记时候为组地址 (1=组地址 0=单地址)
}
使用指南
- 下载资源库:从本资源库下载资源库文件。
- 集成到项目:将资源库集成到您的前置机项目中。
- 调用解析函数:根据需要调用解析函数,传入待解析的帧数据,获取解析后的
FrameInfo
结构体。
注意事项
- 确保输入的帧数据遵循正确的格式,否则可能导致解析失败。
- 在实际应用中,建议根据具体需求修改和优化资源库。
贡献
欢迎提交问题或改进建议,帮助我们完善此376.1协议解析资源。