Profibus DP 入门:GSD 文件与组态

Profibus DP 的组态过程可以概括为三步:导入 GSD 文件 → 在主站组态中挂上从站并设定站地址 → 选择数据模块并分配 I/O 地址。GSD(General Station Description)是从站的能力说明书,主站靠它知道这台设备支持哪些波特率、能提供多少字节输入数据、有哪些可选模块与参数。GSD 版本对不上、模块选错、站地址重复,是 Profibus 现场三大高频问题。本文对应产品 195 Profibus 系列,协议横向对比见 总线型全系对比

Profibus DP 入门:GSD 文件与组态
Profibus DP 入门:GSD 文件与组态

Profibus DP 的基本机制:主从轮询

与 CANopen 的生产者-消费者模型不同,Profibus DP 是严格的主从轮询:主站按固定顺序逐个访问从站,从站只有被点名时才应答。这带来两个特征:

  • 总线周期可预测。一个轮询周期的时间约等于所有从站访问耗时之和,站数越多周期越长。因此增加从站会线性拉长刷新周期,多轴系统需要提前核算。
  • 从站不能主动发数据。传感器无法像 CANopen 的 EMCY 那样主动上报故障,只能在被轮询时把诊断信息带回去,主站需要主动读取诊断,详见 Profibus 诊断与终端电阻实战

物理层为 RS-485 差分双绞,线形拓扑,网段两端必须做终端匹配。Profibus 支持多档波特率并可由从站自动侦测,速率越高允许的网段越短,具体档位以主站组态软件与 GSD 声明为准。

GSD 文件:从站的能力声明

GSD 是一个纯文本文件,向主站声明从站的关键属性。对位移传感器而言,需要关注的条目包括:

GSD 关键内容作用组态时的影响
厂商与设备标识(Ident_Number)主站校验挂载的从站是否与组态一致不一致则从站无法进入数据交换
支持的波特率列表声明设备可运行的速率档主站选了不支持的速率则通信失败
可选数据模块定义输入/输出字节数与含义选错模块 → 数据长度错、读数错位
用户参数(User_Prm_Data)分辨率、计数方向、零位等可配置项组态时下发,无需额外调试工具
诊断能力声明支持的诊断报文类型决定主站能读到多细的故障信息

使用 GSD 有两条铁律。其一,GSD 必须与实际设备型号和固件版本匹配,不要拿同系列另一型号的文件凑合,Ident_Number 校验会直接把从站挡在数据交换之外。其二,导入 GSD 后要重新编译并下载组态,只更新文件不重新下载,主站运行的仍是旧组态。

组态步骤与站地址

  1. 导入 GSD:在主站工程软件的硬件目录中安装从站 GSD,安装后设备出现在目录树里。
  2. 挂载从站、设定站地址:Profibus 站地址在网段内唯一。设备侧通过拨码或配置工具设定,必须与组态中填写的地址一致。两台设备重号会导致双方都不稳定,且报错信息往往指向错误的那一台。
  3. 选择数据模块:位移传感器的位置值一般为 32 位数据。若型号支持多磁环或附加状态字,模块列表中会有不同长度的选项,按实际需求选取,长度必须与 PLC 侧读取长度一致
  4. 分配 I/O 地址:主站为该从站在过程映像区分配输入地址,PLC 程序按此地址读位置值。
  5. 设置用户参数:分辨率档位(1 / 2 / 5 / 10 / 20 / 50 / 100 μm 中的一档)、计数方向、零位处理等在组态阶段一次性下发。
  6. 编译下载并验证:观察从站运行指示与主站在线状态,再手动移动磁环核对读数变化方向与倍率。

字节序与数值换算:读数"看起来不对"的两个来源

位置值以 32 位整数传输,PLC 侧读取时有两个必查点。第一是字节序:Profibus 侧数据按大端(高字节在前)排列,若 PLC 程序按小端解释,读数会呈现毫无规律的巨大跳变。西门子体系通常按 DWORD 直接读取即可,跨品牌主站则需实测确认。第二是分辨率换算:读回的是计数值,实际位移 = 计数值 × 分辨率步长,倍率错了看起来像"量程标错了"。分辨率档位与精度指标的关系见 分辨率、重复精度、非线性度的区别

传感器输出为绝对位置,掉电重启无需回零,机制见 绝对位置 vs 增量位置。这一点在 Profibus 存量产线改造中价值明显——原有增量方案的回零动作可以直接取消。

物理层:一开始就要做对的部分

Profibus 的物理层问题占了现场故障的大头。要点有三:线形拓扑,不允许星形分叉;网段两端的终端电阻置 ON、中间节点置 OFF带终端电阻的插头所在设备必须保持上电,因为 Profibus 终端网络需要供电才能正常偏置,那台设备一断电,整段匹配即失效。终端匹配的原理与各总线差异见 终端电阻与总线长度:为什么必须 120 Ω,接地屏蔽的系统做法见 总线干扰排查:接地、屏蔽、拓扑

产品参数与接线定义见 195 Profibus 系列详解,通用总线接入流程见 总线实操指南

工程师实操小贴士

  • 19 系列模拟量编程工具可在出厂行程范围内任意设置"零"与"终点"值(原文:can be used to set the zero and end values anywhere within the nominal factory stroke range)。
  • 19 系列 Profibus 模拟器可检查传感器功能、读取磁环位置与诊断数据,并支持修改从站地址(原文:check the sensor functions, change the slave address, magnet positions can be read out and diagnostic data)。

常见问题

Q:GSD 文件是做什么用的?

GSD 是 Profibus 从站的能力说明文件,向主站声明设备标识、支持的波特率、可选数据模块、用户参数与诊断能力。主站据此识别设备并生成组态;Ident_Number 不匹配时从站无法进入数据交换。

Q:GSD 导入后为什么还是不生效?

安装 GSD 只是把设备加入硬件目录,必须重新编译组态并下载到主站才会生效。只更新文件不下载,主站运行的仍是旧组态。

Q:Profibus 位移传感器读数为什么是乱的?

先查两项:一是 32 位数据的字节序解释是否正确,Profibus 侧按大端排列,按小端解释会出现无规律巨大跳变;二是分辨率倍率是否算对,读回的是计数值,需乘以分辨率步长(1/2/5/10/20/50/100 μm 中的一档)。

Q:Profibus 的终端电阻怎么设置?

终端匹配集成在 DB9 插头内,网段两端的插头置 ON、中间所有插头置 OFF。特别注意置 ON 的插头所在设备必须保持上电,因为终端网络含偏置电阻需要供电,该设备断电会导致整段匹配失效。

Q:Profibus 站数增加会影响刷新速度吗?

会。Profibus DP 是主从轮询机制,一个轮询周期约等于所有从站访问耗时之和,站数越多周期越长。多轴系统需在设计阶段核算周期,不能等到调试时才发现刷新不够快。

← 返回行业动态