前言:EtherCAT通信的运行,依赖于从EtherCAT主站发起、以恒定EtherCAT帧重复速率执行的周期性任务。这个恒定重复速率(即一个EtherCAT帧从主站发出,途经所有EtherCAT设备节点后返回主站所需的时长)被称为循环时间。对于多数应用场景来说,500微秒以上的循环时间已能满足需求;但在部分工业应用中,却常常需要更短的循环时间。

使用TwinCAT 3测试循环时间步骤

下文介绍了FCE1353_STM32F407_V1.1开发板在TwinCAT 3主站上的周期时间及测量步骤。

测试设置

  • 软件: EtherCAT Software Framework

  • PDI接口:HBIM1P

  • 应用:当输入被触发时,计数器进行计数

  • 硬件:FCE1353_STM32F407_V1.1

  • EtherCAT主站:TwinCAT v3.1.4024.66

  • PC网卡:Intel Ethernet connection 1219-V

  • 网络中的EtherCAT从站数量:1块FCE1353_STM32F407_V1.1板

测试步骤

(1)在TwinCAT中新建一个“循环周期测试”项目,以测量循环周期时间。

(2)确认从站能成功被主站扫描到,且能够在OP模式下运行(图1)。 

图片

图1:从站在OP模式下运行

(3)在“解决方案资源管理器”窗口中,单击展开“循环周期测试”。然后单击“SYSTEM”,再单击“Real-Time”(如图2中红色突出显示部分)。

图片

图2:解决方案资源管理器:实时视图

(4)添加一项新任务以测量循环时间。右键点击“Tasks”,然后点击“添加新项”(图3)。

图片

图3:添加新项目:任务

(5)在“Insert Task”对话框中,选择“TwinCAT Task With Image”,然后点击“OK”(图4)。

图片

图4:插入任务对话框

(6)一旦添加了新任务,TwinCAT就会像图5所示那样在TwinCAT中显示该任务。

图片

图5:设置任务

(7)在“解决方案资源管理器”窗口中,右键点击新创建任务下的“Inputs”,然后点击“添加新项”(图6)。

图片

图6:添加新项:任务输入

(8)“Insert Variable”窗口打开(图7)。在“Data Typr”列中选择“BIT”,然后点击“OK”。

图片

图7:插入变量窗口

(9)要将任务链接到WcState,请在“解决方案资源管理器”窗口中展开点击“WcState”,然后在图8所示的窗口中点击“Linked to...”

图片

图8:将任务链接到WcState

(10)“ Attach Variable WcState (Input)”窗口打开(图9)。选择“Var XX > IX0.0,BIT[0.1]”(XX为变量编号),然后点击“OK”。

图片

图9:附加变量 WcState(输入)对话框

(10)在“解决方案资源管理器”窗口中,选择“Tasks”>“taskname”>“Inputs”下的Var 47。在TwinCAT窗口中,“WcState”(如图10所示)。

图片

图10:VAR 47与WCSTATE相关联

(11)在“解决方案资源管理器”窗口中导航返回“Real-Time”选项。

(12)测试SM模式循环周期时间:在“Base Time”项中选择所需的循环时间。例如,对于FCE1353_STM32F407_V1.1开发板我们这里选择50微秒循环时间(图11)。

图片

图11:选择基准时间

(13)这将打开一系列类似于图12和图13的对话框,显示任务的周期时间和I/O空闲任务的周期时间已更改。在每个对话框中点击“确定”。

图片

图12:任务周期时间变化

图片

图13:I/O空闲任务周期时间变化

(14)在“解决方案资源管理器”窗口中,点击“Real-Time”下的“ I/O Idle Task”,然后找到“Cycle ticks”字段并将其值更改为 1(见图14)。

图片

图14:I/O 空闲任务的更改周期时钟周期数

(15)0在“解决方案资源管理器”窗口中,选择您在“Tasks”下添加的任务(即图15中的“Task 2”),并将“Cycle ticks”字段的值更改为 1,如图15所示。

图片

图15:任务的变更周期时钟周期数

(16)在“解决方案资源管理器”窗口中,向下导航至“Box 1”层级(如图16所示),然后单击它。这将打开“Box 1”的“Cycle_Time_Measurement”窗口。单击“EtherCAT”选项卡,然后单击“Advanced Settings”按钮。

图片

图16:导航至BOX 1-EtherCAT-高级设置

(17)在“Advanced Settings”对话框中,选择“General”下的“Behavior”。取消选中“ReInit after Communication Error”复选框,然后单击“确认”(见图17)。

图片

图17:高级设置对话框:Behavior设置

(18)在“解决方案资源管理器”窗口中,向下导航至“Device 3(EtherCAT)”(如图18所示),然后单击它。这将打开该设备的“Cycle_Time_Measurement”窗口。单击“EtherCAT”选项卡,然后单击“Advanced Settings”按钮。

图片

图18:导航至Device 3-EtherCAT-高级设置

(19)在“Advanced Settings”对话框中,选择“State Machine”下的“Master Settings”。取消选中“ReInitafter Communication Error”复选框,然后单击“确定”(见图19)。

图片

图19:高级设置对话框:主站设置

(20)在“State Machine”下选择“Slave Settings”。取消选中“Auto Restore States”和“ReInit afterCommunication Error”复选框,然后单击“确定”(见图20)。

图片

图20:高级设置对话框:从站设置

(21)在 TwinCAT 应用程序中,转到菜单TwinCAT>Activate Configuration(见图21)。

图片

图21:激活配置菜单

(22)这将打开“Activate Configuration”对话框(图22)。点击“OK”。

图片

图22:激活配置对话框

(23)TwinCAT 应用程序会要求您重新启动项目(图23)。点击“OK”。这将重新启动项目(图24),在操作模式下启动项目可能需要几分钟时间。

图片

图23:重启TwinCAT系统

(24)TwinCAT 系统重启后,从站在SM模式下以50微秒循环周期时间正常运行

图片

图24:TWINCAT系统已重启

(25)在“解决方案资源管理器”窗口中导航返回“Real-Time”选项。

(26)测试DC模式循环周期时间:在“Base Time”项中将循环时间修改为200微秒(图25)。

图片

图25:选择基准时间

(27)重复步骤14~16步骤。

(28)在“解决方案资源管理器”窗口中,向下导航至“Box 1”层级并单击。选择“DC”选项卡,然后单击“Advanced Settings”按钮,将“Operation Mode”更改为“DC-Synchron”,并将周期时间设置为200微秒(如图26所示)。

图片

图26:设置DC模式循环周期时间

(29)重复步骤22~24。从站在DC模式下以200微秒循环周期时间正常运行(如图27)。

图片

图27:DC模式下以200微秒循环周期时间正常运行

测试结果

循环周期时间测试结果

  • SM同步模式:50微秒

  • DC同步模式:200微秒

ESC 访问时间的测量结果标明,通过使用更高时钟频率的微控制器,PDI访问时间可以显著缩短。这说明EtherCAT系统的周期时间在很大程度上取决于微控制器的时钟频率以及微控制器在用于与ESC通信的PDI接口上生成更高频率的能力。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐