EtherCAT 网络建模
以太网控制自动化 (EtherCAT®) 是一种开放式以太网网络协议,专为实时分布式控制设计,适用于汽车和工业系统等领域。EtherCAT 协议提供:
确定性且快速的循环时间
低成本 I/O 模块价格
EtherCAT 网络由一个主设备节点和若干从属设备节点组成。Simulink® Real-Time™ EtherCAT 子库仅支持 EtherCAT 网络的主设备节点。您无法通过使用 EtherCAT 子库中的模块来模拟从属设备节点。您可以使用这些模块通过多块以太网卡来构建多个 EtherCAT 网络的原型。
您可通过第三方 EtherCAT 配置工具来建模 EtherCAT 网络:TwinCAT® 3 来自 Beckhoff® 或 Acontis 的 EC-Engineer。
在建模 EtherCAT 网络时需考虑的操作包括:
要将网络模型映射到 Simulink Real-Time 模型,请熟悉以下映射关系:
模块与任务
至少,每个 EtherCAT 模型必须包含一个 EtherCAT Init 模块。EtherCAT Init 模块包含对 EtherCAT 网络信息 (ENI) 文件的引用。ENI 文件描述了网络,包括网络的设备变量。
若使用 TwinCAT 3 生成配置文件,请通过该软件创建至少一个循环输入/输出任务。将此任务与每个从属设备上的至少一个输入通道和一个输出通道关联。若通过 Acontis EC-Engineer 生成文件,该软件将创建一个默认任务,该任务关联所有下属设备的输入/输出通道。任务速率等于 EtherCAT 模块的采样时间。
当您了解输入/输出周期时,在"模型配置参数"对话框中,将 Fixed-step size 设置为符合以下约束条件的数值:
所有 EtherCAT 从属设备的周期性滴答声。
Simulink 模型中所有其他模块的采样时间。
有关详细信息,请参阅Fixed-Step Size Derivation。
当您确定模型中使用的设备变量时,请为每个 EtherCAT 设备变量添加一个 EtherCAT PDO Receive 或 EtherCAT PDO Transmit 模块。当您将这些模块添加到模型中时,该模块会从 EtherCAT Init 模块的配置文件中获取设备变量列表。当您在模块对话框中指定设备变量时,软件会根据配置文件中的设备变量信息更新模块信息。
要在您的网络中传输 CANopen over EtherCAT (CoE) 信息,请向模型中添加 SDO/CoE 模块。要通过网络使用 SERCOS (SErial Real time COmmunication Specification) over EtherCAT (SoE) 接口传输数据,请在模型中添加 SSC/SoE 模块。
SDO/CoE 模块和 SSC/SoE 模块分为两种类型:同步和异步。从 EtherCAT 的角度来看,这些类型的行为几乎没有区别。差异发生在实时应用程序的执行过程中。同步模块在等待响应期间暂停执行。异步模块继续执行,并轮询 I/O 模块以获取响应。
为避免 CPU 过载,请将同步模块的采样时间设置为 PDO 模块采样时间的至少三倍。
要追踪网络状态或强制网络进入特定状态,请添加一个 EtherCAT Get State 或 EtherCAT Set State 模块。
网络事件顺序
EtherCAT Init 模块在第一阶段和第二阶段中安排网络事件。
第一阶段
将上次接收帧中 EtherCAT 变量的数据读取至 EtherCAT PDO Receive 模块中。
按任意顺序使用以下任一模块:
EtherCAT PDO Receive - 处理从从属设备接收的最后帧中读取的数据。
EtherCAT PDO Transmit - 将数据缓冲至下帧,发送至从属设备。
按任意顺序使用这些模块。同步上传和下载至少需要三个最快 PDO 周期时钟周期才能完成处理。
EtherCAT Sync SDO Upload - 将带有新值的 SDO 帧加入队列,等待响应。
EtherCAT Sync SDO Download - 将包含数据请求的 SDO 帧加入队列,等待响应。
EtherCAT Async SDO Upload - 将带有新值的 SDO 帧加入队列,检查响应,继续执行。
EtherCAT Async SDO Download - 将包含数据请求的 SDO 帧加入队列,检查响应,继续执行。
EtherCAT Sync SSC/SoE Upload - 向队列中添加一个具有新值的 SSC/SoE 帧,并等待响应。
EtherCAT Sync SSC/SoE Download - 向 SSC/SoE 帧队列中插入数据请求,等待响应。
EtherCAT Async SSC/SoE Upload - 将带有新值的 SSC/SoE 帧加入队列,检查响应,继续执行。
EtherCAT Async SSC/SoE Download - 将包含数据请求的 SSC/SoE 帧加入队列,检查响应,继续执行。
EtherCAT Get State - 读取 EtherCAT 网络的当前状态。
EtherCAT Set State - 队列请求更改 EtherCAT 网络的当前状态。
第二阶段
发送 PDO 帧,随后发送下一个可用的队列 SDO 帧。
另请参阅
EtherCAT Init | EtherCAT PDO Receive | EtherCAT PDO Transmit | EtherCAT Sync SDO Upload | EtherCAT Sync SDO Download | EtherCAT Async SDO Upload | EtherCAT Async SDO Download | EtherCAT Sync SSC/SoE Upload | EtherCAT Sync SSC/SoE Download | EtherCAT Async SSC/SoE Upload | EtherCAT Async SSC/SoE Download | EtherCAT Get State | EtherCAT Set State