PROFIBUS DP 报文不神秘!解析方法看这里

PROFIBUS DP 报文不神秘!解析方法看这里_第1张图片

在之前的几篇文章中,我们介绍了PROFIBUS DP 网络的部署和不同版本的 DP。本期,就让我们继续了解一下 PROFIBUS DP 的报文解析


PROFIBUS DP 的物理层采用 RS485 通信,每个字符由 1 个起始位、8 个数据位、1 个偶校验位和 1 个结束位组成。通过 DP 抓包工具,我们可以捕获总线上的报文。

PROFIBUS DP 报文不神秘!解析方法看这里_第2张图片

那么,要如何解析这些报文数据呢?

Modbus RTU 协议也是基于 RS485 通信,它通过报文之间的时间间隔(message delimiter)来区分报文。

而 PROFIBUS DP 协议中的报文则有明确的起始字符(start delimiter,SD),通过起始符可以方便地识别是以下的哪一种消息:

1. 设备状态请求帧


该报文帧用于查询总线上的激活站点,由主站发出。起始符 SD1 为 0x10,结束符 ED 为 0x16。DA 为目的地址,SA 为源地址,FCS 为帧校验码。

2. 可变长数据帧


该报文帧用于主站和从站之间的信息交互,例如获取从站诊断信息、参数设置、组态和数据交互等。具体的服务类型由 DSAP 和 SSAP 标识,数据单元(Protocol Data Unit,PDU)的长度可变,范围为 0 到 244 字节。起始符 SD2 为 0x68,结束符 ED 为 0x16。LE=LEr 表示数据帧长度,DA 为目的地址,SA 为源地址,FCS 为帧校验码。

3. 定长数据帧

PROFIBUS DP 报文不神秘!解析方法看这里_第3张图片
该报文帧的数据域长度固定为 8 字节,起始符 SD3 为 0xA2,结束符 ED 为 0x16。

4. 令牌传递帧


该报文帧用于主站之间的令牌传递,获得令牌的主站具有总线控制权。起始符 SD4 为 0xDC,DA 为目的地址,SA 为源地址。

5. 短应答


单个字节的特殊应答报文,SC 为 0xE5。用于设备快速回应无需回复数据的请求。


除了起始符 SD 和结束符 ED 这些固定数值之外,还有功能码(Function Code, FC)和服务访问点(Service Access Points, SAP)来具体定义报文的功能。但是,它们的定义比较复杂。

借助 HMS 旗下的 PROFIBUS DP 诊断产品 ProfiTrace,我们可以轻松接入 DP 网络,监控和解析 DP 网络的报文,并生成专业的诊断报告。

PROFIBUS DP 报文不神秘!解析方法看这里_第4张图片

在界面中可以很清晰地看到报文帧的结构、源地址、目的地址、帧类型、服务 SAP 以及报警信息。

PROFIBUS DP 报文不神秘!解析方法看这里_第5张图片

PROFIBUS DP 报文不神秘!解析方法看这里_第6张图片

PROFIBUS DP 报文不神秘!解析方法看这里_第7张图片


以上就是本期文章的全部内容,希望能帮助您了解到更多 PROFIBUS DP 的知识。

如果您想了解更多关于 ProfiTrace 的信息,请联系 HMS。

作为一家深耕于工业网络的企业,HMS 也会努力为大家提供最新、最专业的工业网络技术知识。如果你喜欢本篇文章,欢迎持续关注我们,获取更多精彩内容。

如果对本文中的内容有任何疑问或建议,也欢迎在评论区留言,谢谢。

我们下期再见!

你可能感兴趣的:(物联网,网络)