EtherCAT总线有Freerun、SM-Synchron、DC-Synchron三种同步模式,默认情况下是在SM-Synchron模式下运行,本文以KIT_XMC48_IOT_AWS_WIFI这块板子为例来介绍在TwinCAT 3中进行模式转换的相关步骤。
1)首先,基于KIT_XMC48_IOT_AWS_WIFI这块板子的例程可以在以下链接中下载。将例程导入DAVE之后烧录进板子中,连接好网线然后进行debug,这里一定要点击运行,要不然LED_ERR会常亮。
https://community.infineon.com/t5/%E7%9F%A5%E8%AF%86%E5%BA%93%E6%96%87%E7%AB%A0/%E5%9F%BA%E4%BA%8EKIT-XMC48-IOT-AWS-WIFI%E7%9A%84EtherCAT%E5%BC%80%E5%8F%91/ta-p/764414
图1 烧录并运行程序
2)下载好Wireshark,通过Wireshark来确认已经进入DC-Synchron模式,下载链接如下:
https://www.wireshark.org/download.html
3)在Device中勾选Wireshark功能:
图2 勾选Wireshark功能
4)点击Device (EtherCAT)- Box 1 (XMC_ESC) – DC,将模式修改成DC-Synchron,通过advanced setting还可以修改一些配置,这里保持默认即可。
图3 更改模式
5)重启TwinCAT,可通过以下按钮操作。
图4 重启TwinCAT
然后会弹出load I/O devices的窗口,点击’Yes'。
图5 重新加载Device
如果出现这个错误,可以clear掉(也可以不进行操作),然后手动将状态更改为SAFEOP。
图6 可忽略的报错
到这里,如果没有进行其他的操作,TwinCAT就会回到最初的状态,板子上的RUN灯和ERR灯都不亮。如果ERR灯亮就需要检查网口是不是还正确连接,程序还是不是正确运行。
6)点击‘Scan’重新扫描设备,这时候RUN_LED又会恢复闪烁。
图7 重新扫描设备
7)将设备的状态改成SAFEOP,点击以下按钮,并在Device (EtherCAT)中确认模式已正确修改。这一步很重要。
图8 更改状态
图9 确认状态
8)完成之后,在Wireshark中选择重新捕获,看到以下log即说明此时运行在DC-Synchron模式下了。
图10 重新捕获
图11 DC-Synchron模式下的的显示
此时LED_RUN也会闪烁,但是闪烁的频率会和之前的不一样。 9)下图是在SM-Synchron模式下,Wireshark捕获到的: 图12 SM-Synchron模式下的的显示 特别注意的是,DC未开启时数据帧不包含ARMW。
|