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

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


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

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

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. 定长数据帧


该报文帧的数据域长度固定为 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 网络的报文,并生成专业的诊断报告。

ProfiTrace 实际使用示意图

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

ProfiTrace 软件工具功能一览

数据交互报文解析

诊断报文解析


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

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

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

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

我们下期再见!

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值