为 EtherCAT 设备生成 ENI 文件
本示例演示了如何生成 EtherCAT® 网络信息 (ENI) 文件,以便在 Simulink® Real-Time™ 中与 EtherCAT 设备配合使用。
该示例展示了 EtherCAT Configurator 中的生成流程步骤,以及 Microsoft® Visual Studio® 中的 TwinCAT® XAE 插件的处理步骤。
硬件连接如下:
EK1100 -- EtherCAT 耦合器
EL3062 —— EtherCAT 终端
EL4002 —— EtherCAT 终端
EL9011 -- 总线末端端子
EK1100 耦合器用于将 EtherCAT 与 EtherCAT 终端 (ELxxxx) 连接起来。一个站由一个 EK1100 耦合器、任意数量的 EtherCAT 终端以及一个总线终端组成。
要连接电源,请将 EK1100 的 24 V 和 0 V 端子分别连接至 24 V 稳压电源 (RPS) 的 +Ve 和 -Ve 端子。
EL3062 模拟输入端子处理 [-10, 10] V 范围内的信号。
EL4002 模拟输出端子产生的信号范围为 [0, 10] V。
要配置 EtherCAT 网络,请将 EtherCAT 设备连接到正在运行 EtherCAT 配置器的开发计算机上。此连接支持对 EtherCAT 设备的扫描和发现。配置器生成 XML 文件后,您可以将 EtherCAT 设备重新连接到目标计算机。该图展示了建议的连接方式。
安装 TwinCAT 3.1 XAE 并使用 TwinCAT 运行 Microsoft Visual Studio
TwinCAT 的最新版本是 3.x 版,这也是首选的配置工具。
XAE 子版本不包含可在 Windows® 上运行的完整运行时引擎。您可从贝克霍夫® 网站免费获取此资料。若与 Simulink Real-Time 配合使用,则无需运行时引擎,因为您正在使用目标平台上的运行时实现。带运行时引擎的完整版需要向贝克霍夫购买许可证。
TwinCAT 3.1 软件需要安装受支持版本的 Microsoft Visual Studio。TwinCAT 3.1 采用 MSVC GUI 集成,本身并不具备独立的图形用户界面。TwinCAT 文档中介绍了特定版本的 TwinCAT 可与哪些版本的 MSVC 配合使用。安装程序会检测您计算机上支持的 MSVC 版本,并针对这些版本进行安装。
要安装 TwinCAT 3.1 XAE:
转到 www.beckhoff.com,选择 Download。
选择 TwinCAT 3 并下载安装程序。
安装 TwinCAT 3。
启动 Microsoft Visual Studio。
在 TwinCAT 菜单中,选择显示兼容实时以太网的设备。
选择您 EtherCAT 设备的以太网适配器,然后选择安装。
由于 TwinCAT 会在您所选的以太网端口上安装一个以太网过滤器,因此建议额外添加一个专门用于 EtherCAT 的以太网端口,以避免在与 TwinCAT 共享 Simulink Real-Time 主机 - 目标通信端口时,该过滤器可能引发的任何问题。
所有 EtherCAT 配置程序均使用 EtherCAT 从站信息 (ESI) 文件来描述网络中检测到的从站设备。这些贝克霍夫配置程序中预先填入了大量贝克霍夫设备。要正确配置包含其他厂商设备的 EtherCAT 网络,您可能需要从设备制造商的网站上获取正确的 ESI 文件。如果网络中某个下级设备没有对应的 ESI 文件,则扫描过程不会在“解决方案资源管理器”中显示该设备的正确名称,且读写变量也会出现错误。
要在 Visual Studio 中创建一个新的 TwinCAT 工程:
启动 Visual Studio。转到 File > New > Project。
在已安装下,选择 TwinCAT 工程,然后点击 OK。
在 Microsoft Visual Studio 的状态栏中,请确认该工程是否已成功创建。
如果您是首次使用 TwinCAT 且已安装完整版,请输入您的许可证。如果您正在以评估模式使用 TwinCAT,请填写验证码。
请观察 Visual Studio 左侧的 “解决方案资源管理器” 窗格。
在菜单中进入 TWINCAT,然后选择 Scan。您还可以右键点击 “解决方案资源管理器” > 您的 TwinCAT 工程 > I/O > 设备 > 扫描。
此时会弹出一个对话框,显示消息可能无法自动检测到所有设备。点击 OK,等待扫描完成。此时会弹出一个对话框,提示已检测到新的 I/O 设备。
请确保该复选框已勾选,然后点击 OK。此时会弹出一个对话框,显示扫描箱子?的消息。点击是。网络中的 EtherCAT 设备已被扫描,这些设备现已显示出来。
此时会弹出一个对话框,询问是否要启用自由运行模式。选择否。
请查看“解决方案资源管理器”,并确认设备已正确扫描。
首次启动 TwinCAT 时,右侧信息面板不会显示。首次使用时,您需要双击树形视图中的任意项目。之后,只需在“解决方案资源管理器”树视图中点击任意项目,即可显示该项目的信息对话框。

使用 TwinCAT 配置 EtherCAT 主节点数据
要配置 EtherCAT 主节点,请先创建并配置一个任务,然后将输入和输出添加到该任务中。
要创建 EtherCAT 任务:
在 “解决方案资源管理器” 中,右键点击 “任务” 节点,然后选择 “添加新项”。
在插入任务对话框中,选择带图像的 TwinCAT 任务,为任务命名,然后点击 OK。
选择您创建的任务。周期时标的值决定了周期时间,该时间是根据实时项中设定的基准时间的倍数。默认任务时间设置为 10 毫秒。如果您使用的是分布式时钟同步,在“主班次 DC 模式”下,任务时间最慢应为 1-2 毫秒。
创建至少一个循环输入/输出任务。将此任务与每个下级设备上的至少一个输入变量和一个输出变量关联起来。
如果想要将运行时间控制在 1 毫秒以内,您需要修改位于任务上方的实时选项中的基准时间。在设置选项卡中,您需要将基准时间的选项更改为更快的那个。
通过使用分布式时钟 (DC),EtherCAT 协议能够将所有本地总线设备的时间同步在较小的容差范围内。只有部分 EtherCAT 设备支持 DC。如果设备支持 DC,请务必进行相应的配置,这一点非常重要。例如,在示例配置中,EL4002 支持 DC。大多数运动控制器(电机驱动器)都支持 DC,其中有些需要直流电才能进入工作状态。
要配置 EtherCAT DC:
启用 DC 模式,并选择总线偏移或主偏移 DC 模式。
点击 Device n (EtherCAT) 节点
在信息面板中选择 EtherCAT 选项卡。
点击高级设置,将打开一个新的对话框。
在高级设置对话框中,选择分布式时钟页面。
默认情况下,自动 DC 模式选择复选框处于勾选状态,这通常会使设备进入主移位 DC 模式。第一个启用 DC 的从属设备是参考时钟,而 Simulink Real-Time 的执行时间会略微偏移,以使执行与参考时钟保持同步。
取消选择自动模式,您即可自行控制使用哪种 DC 模式,或将其关闭。以下项目的自动选项已被取消选中。
如果未选中 DC in use,则不会进行分布式时钟同步。这使得进入运行状态的初始化时间大大缩短,但下级设备之间没有同步。
选中使用 DC 后,Speedgoat® 目标机与 EtherCAT 从属设备之间有两种不同的同步方法。
独立 DC 时间将第一个启用 DC 的从属设备用作参考时钟,并略微调整目标机器的时钟,以使建模执行与第一个启用 DC 的从属设备实现相位锁定。
由 TwinCAT 时间控制的 DC 时间在 Simulink Real-Time 中应理解为由目标机器时间控制。这是总线移位模式,其中目标机器作为参考时钟,从属设备的执行时间会略微偏移,以实现与目标机器的相位锁定。
同时选中连续运行时间测量和同步窗口监控。
既然您已经选择了要使用的 DC 模式,就可以访问网络中所有支持 DC 的下级设备,并将它们设置为正确的模式。此示例 ENI 文件仅支持一个启用了 DC 功能的从属设备,即 EL4002。
点击节点 Term 3 (EL4002),然后选择 DC 选项卡。
默认情况下,运行模式设置为 SM-Synchron,该模式不会将输出与 DC 时间同步。将 Operation Mode 更改为 DC-Synchron。不同的从属设备对运行模式的称呼各不相同。
点击高级设置,并将分布式时钟选项设置为如图所示。

要导出并保存 EtherCAT 配置,请生成 ENI 文件:
点击您 EtherCAT 设备的节点,然后点击 EtherCAT 选项卡。
点击导出配置文件。
在另存为对话框中,输入一个 XML 文件名(例如
simple_adda_eni.xml),然后点击保存。此 XML 文件即为 ENI 文件。ENI 文件和使用该 ENI 文件的 Simulink Real-Time 模型不能具有相同的名称。它们必须有不同的名称。关闭 TwinCAT 工程时,该配置的可编辑版本将保存在工程文件中。您可以通过打开该工程并再次导出为 XML 文件来修改配置。
使用配置器导入设备
设备导入通常是第三方(不同制造商)设备工作流的一部分。请使用此流程配置未出现在贝克霍夫系统中的设备。许多电机及其驱动装置都属于这一类别。有时,您必须配置一台未出现在贝克霍夫系统中的设备。TwinCAT EtherCAT 主设备或系统管理器利用各设备的设备描述文件,在联机或脱机模式下生成配置。
设备描述包含在 XML 格式的 ESI 文件(EtherCAT 从站信息)中。这些文件可向相关制造商索取,并可供下载。一个 XML 文件可以包含多个设备描述。
Beckhoff EtherCAT 设备的 ESI 文件可在 Beckhoff 网站上获取,并存储在 TwinCAT 安装文件夹中。TwinCAT2 的默认值为 C:\TwinCAT\IO\EtherCAT。当您打开一个新的“系统管理器”窗口时,系统会读取这些文件(仅读取一次);此外,如果这些文件自上次打开“系统管理器”窗口以来发生了变化,系统也会读取它们。
如果使用 TwinCAT 配置器,TwinCAT 安装包中将包含在 TwinCAT 构建版本创建时最新的 Beckhoff ESI 文件集。对于 TwinCAT 2.11、TwinCAT 3 及更高版本,如果编程电脑已连接到互联网,您可以通过“系统管理器”更新 ESI 文件夹(“选项” > “更新 EtherCAT 设备描述”)。