2025/04/21

1 简介

在GSD文件中并没有直接给出设备的更新周期范围,在西门子提供的[[GSDML快速入门]]文中也并没有提及更新周期的计算方法。因此根据不同的设备GSD文件以及该设备在博途软件中的更新周期设置推测更新周期的计算方法。

2 参数

这里省略测试与推演的步骤,直接给出结论,更新周期的计算主要有三个参数:

1、MinDeviceInterval(设备最小更新周期):在GSD文件中的xpath为/a:ISO15745Profile/a:ProfileBody/a:ApplicationProcess/a:DeviceAccessPointList/a:DeviceAccessPointItem/@MinDeviceInterval。单位为31.25 微秒(μs),它定义了该设备接口的最小更新周期。如MinDeviceInterval=512,则代表该设备的最小更新周期为512*31.25/1000=16ms。

2、SendClock(发送时钟):在GSD文件中的xpath为/a:ISO15745Profile/a:ProfileBody/a:ApplicationProcess/a:DeviceAccessPointList/a:DeviceAccessPointItem/a:SystemDefinedSubmoduleList/a:InterfaceSubmoduleItem/a:ApplicationRelations/a:TimingProperties/@SendClock。通常定义下的发送时钟指的是设备和主站直接交换信号的周期,单位是ms,但是在GSD文件定义中,它的单位应该是31.25微秒(μs)。

3、ReductionRatio(减速比):在GSD文件中的xpath为/a:ISO15745Profile/a:ProfileBody/a:ApplicationProcess/a:DeviceAccessPointList/a:DeviceAccessPointItem/a:SystemDefinedSubmoduleList/a:InterfaceSubmoduleItem/a:ApplicationRelations/a:TimingProperties/@ReductionRatio。表示数据更新频率相对于基础更新频率的降低比例。例如,ReductionRatio=2 表示数据更新频率是基础更新频率的 1/2。

3 计算

设备的可用更新周期计算主要就由这三个参数决定

计算公式为(不考虑原参数单位):
更新周期 = SendClock X ReductionRatio X 31.25 ÷ 1000 > MinDeviceInterval

以下是小原焊机的例子:
在这里插入图片描述

图3-1 设备最小更新周期

在这里插入图片描述

图3-2 发送时钟与减速比

首先来看MinDeviceInterval(设备最小更新周期),小原焊机的预设为8,即8X31.25=250μs。但是由于笔者目前的应用场景仅限于RT通信,且主站侧的更新周期设置了1ms,则从站侧的更新周期不应小于主站,所以这里的MinDeviceInterval应该为32,即1ms。

再看SendClock(发送时钟)和ReductionRatio(减速比),分别是两组数组,由上述的设备最小更新周期可知,从两个数组中选取的数字套入公式中计算出来的更新周期需要大于等于1ms。
如:当SendClock=8;ReductionRatio=256时,计算出来的更新周期为64000μs->64ms。
根据两组数据的组合,可以得出范围大概为2^5 X 31.25 ~ 2^16 X 31.25(μs),左边的乘数必是2的n次幂。

但是,在PNConfigLib的实际编译中发现,当设置的更新周期大于512ms时,编译会报错,如图3-3所示
在这里插入图片描述

图3-3 PNConfigLib编译报错

由图中的报错信息可知,设备的看门狗时间不能超过1920ms,由于默认设置的看门狗接受最大更新周期(无IO数据)的参数是3,则这里推测是因为当设置的更新周期的三倍大于1920ms时就会触发这个报错。

综上所述可得到,小原该款焊机的可用更新周期为1,2,4,8,16,32,64,128,256,512
将小原焊机GSD导入博途中,从图3-4 中可看到计算的结果与博途显示无误。
在这里插入图片描述

图3-4 小原焊机在博途中的更新周期选项

4 总结

更新周期的计算公式(不考虑原参数单位):

SendClock X ReductionRatio X 31.25 ÷ 1000 (ms)

且:

  • 1、*更新周期 > MinDeviceInterval
  • 2、更新周期 > 1ms
  • 3、3 X 更新周期 < 1920ms

此更新周期计算只针对于PROFINET设备的GSD文件定义参数,并不适用于其他场景的更新周期计算,并且文中对于SendClock和ReductionRatio的理解可能有谬误,仅供参考。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐