1. 概述
EtherCAT(Ethernet for Control Automation)是一种开放的、以以太网为基础的现场总线系统,用来实现分布式实时控制。最早由德国的beckhoff开发,现已被广泛应用于汽车、楼宇、能源等工业领域,是实现德国工业4.0以及中国制造2025的核心技术之一。和其他现场总线相比,EtherCAT协议具有如下优势:
• 确定性和快速的循环时间(cycle time)
• 性价比较高的IO模块
一个标准的EtherCAT网络由一个主节点(master node)和若干个从节点(slave node)构成。用户可以使用不同供应商的网络配置软件如Beckhoff的TwinCAT 2/3来做配置。
本文主要介绍利用Speedgoat实时仿真设备的以太网接口,配合MathWorks的Simulink Real Time工具库,在Simulink中实现EtherCAT通讯以及beckhoff EtherCAT IO模块的调用。关于EtherCAT总线产品更多细节,请咨询产品官方技术支持。
在Simulink模型中配置节点通讯模型之前,首先需要通过EtherCAT 网络配置工具配置EtherCAT网络并且将配置文件导出,然后再导入Simulink模型。当前Simulink Real Time支持的EtherCAT网络配置软件有:
• Beckhoff的 TwinCAT3
• Acontis的EC-Engineer
本示例中,由于使用的是Beckhoff的EtherCAT IO板卡,所以下文中将使用TwinCAT3 来进行网络配置。
2. 软硬件准备
2.1. Beckhoff
2.1.1.Beckhoff TwinCAT 3
在使用Beckhoff的EtherCAT IO模块时,网络的配置需要使用TwinCAT3来进行,Beckhoff的ET9000不再支持。此软件的下载,用户可以直接联系Beckhoff中国或者如下链接:www .beckhoff.com 。软件安装之前,需要注意以下几点:
• 确保上位机中安装了支持EtherCAT通讯的网卡
• 上位机中需要安装Microsoft Visual Studio,因为TwinCAT使用 Visual Studio作为开发环境,进行多种语言的编程和硬件组态。用户可以通过相应版本的TwinCAT3 安装说明获取支持的VS版本信息。
具体软件安装流程请参考TwinCAT3安装说明。
2.1.2. Beckhoff IO模块
本示例中使用了如下IO模块来组成EtherCAT 从节点:
• EK1100 耦合器,用于连接EtherCAT网络与EtherCAT端子模块,此模块将来自 Ethernet 100BASE-TX报文转换为E-bus信号
• EL1859数字量模块,此模块提供8路数字量输入,8路数字量输出,24V电源触电供电
• EL3104模拟量输入模块,此模块提供4路差分式模拟量输入
• EL4134模拟量输出模块,此模块提供4路单端模拟量输出
• 总线末端端子模块
上图所示,将个IO模块与耦合器EK1100组合,组成一个从节点。EK1100需要两路供电,一路是给耦合器自身供电,还有一路是给电源触点供电,供数字IO使用。同时EK1100上与两路EtherCAT接口,如图中1和2。其中1是作为EtherCAT输入,将此节点纳入EtherCAT网络,2是EtherCAT输出,用于连接其他的slave节点。所以在此示例中,将1端口与上位机连接,用来配置EtherCAT网络。上电之后,即可通过TwinCAT3来对整个网络进行配置。
2.1.3. 网络配置
在Speedgoat实时仿真系统中,Ethernet接口有两种来源,一种是实时主机上自带的Ethernet接口,此类接口在EtherCAT通讯中只能做为Master node(主节点);还有一类是Speedgoat专用的EtherCAT板卡,这些板卡的上接口有的可以配置为主节点,有的可以配置为从节点。在此示例中,使用实时目标机Baseline上自带的Ethernet接口作为主节点,Beckhoff设备作为从节点。如若要将Speedgoat实时设备作为从节点,需要配置相应板卡,配置流程和主节点配置类似。
NOTE:此配置流程默认用户已经熟悉TwinCAT3的安装和使用方法,初学者建议首先阅读TwinCAT3的安装和使用说明。
具体网络配置流程如下:
1. 打开Visual Studio软件,新建一个EtherCAT工程ÿ