[EtherCAT]从输入从站读取数据后写入输出从站的延时测量
承接《EtherCAT|从输入从站读取数据写入输出从站的时序分析》,前文分析了产生延时的原因和估计了大致的延时范围,本文将具体测试延时数值。
本例基于以下设置:
- 只设置SM同步模式
- 参考《TwinCAT中创建PLC任务》创建PLC任务, 本次只需要设置"output2 := input1;", 即将从站1的输入赋值给从站2的输出。

- 设置PLC cycle ticks为2 ms,设置独立的输入刷新数据帧,发送输入数据帧时间较PLC任务提前Pre ticks: 1 ms(修改base time单位,可设置更小的时间间隔)

- 修改从站ECAT_IO程序,设置IO输入中断,在IO中断调用PDO_InputMapping()


- 主站站运行后,使用逻辑分析仪观测从站1的输入引脚和从站2的输出引脚,拨动从站1输入引脚的拨码开关进行测试(拨动拨码开关会产生一些机械抖动)。
最小延时会大于Separate Input Update Pre ticks(1 ms), 最大延时会约为3 ms = 1 * PLC Task cycle time(2 ms) + Separate Input Update Pre tick(1 ms)


结论:符合时序分析
