主要内容

本页采用了机器翻译。点击此处可查看英文原文。

EtherCAT Async SDO Upload

从由服务数据对象表示的从属设备中异步读取数据

  • EtherCAT Async SDO Upload block

库:
Simulink Real-Time / EtherCAT

描述

EtherCAT Async SDO Upload 模块根据指定 EtherCAT® 从属设备中的 Index 值选择一个 CANopen 寄存器,并发送读取请求。然后,它会立即返回设备在之前对该模块的调用中返回的任何值。

示例

端口

输入

全部展开

值为 0 时将禁用上传功能。如果该值设为 1,则每次状态返回空闲状态时,都会发送一个新请求。

输出

全部展开

返回从 EtherCAT 下级设备接收到的数据。

异步数据传输的状态:

  • 0 — 邮箱传输对象处于空闲状态,传输未运行

  • 1 — 邮箱传输对象正在运行,传输尚未完成

  • 2 — 传输已成功执行

  • 3 — 传输请求过程中发生错误

如果未发生错误,该端口将发送 0。否则,它将发送非零值。有关错误代码列表,请参阅 EtherCAT Error Codes

参数

全部展开

请指定 CANopen 寄存器的十六进制(例如 0x7)或十进制索引。

如果指定了无效的索引,该模块将通过 Status 输出返回 3,并通过 Error 输出返回一个非零值。

编程用法

模块参数:index

Access ModeComplete Access 时,SubIndex 参数将被隐藏,并且在每种情况下都会默认采用正确的子索引。CoE 访问变量的完整访问协议规定:

  • 通过单个终端设备,访问 CoE 字典中与单个索引关联的所有子索引。

  • 在读取或写入单个子索引所需的时间内,读取或写入所有子索引。

  • 在写入调优参数集时,同时更新所有子索引

  • 捕获所有子索引的并发读取操作

  • 允许使用需要完全访问权限进行配置的 EtherCAT 设备

编程用法

模块参数:complete

请指定 CANopen 寄存器的十六进制(例如 0x7)或十进制子索引。

如果指定了无效的子索引,该模块将通过 Error 输出返回一个非零值。

编程用法

模块参数:subIndex

从列表中选择 CANopen 寄存器的数据类型。

如果选择的数据类型与条目的类型不匹配,该模块将通过 Error 输出返回一个非零值。

编程用法

模块参数:sig_type

请指定 CANopen 寄存器的行和列维度。

请输入该从属设备手册中 CoE 描述中所列的向量长度。

编程用法

模块参数:sig_dim

要将一个模块与 EtherCAT 网络关联,请将代表该网络的 EtherCAT Init 模块中的 Network Device Index 值输入到该模块的 Network Device Index 中。

编程用法

模块参数:device_id

从列表中选择包含 CANopen 寄存器的设备名称。

该模块会将配置文件中的内容填入此下拉列表中。

编程用法

模块参数:subdevice_name

输入基本采样时间或其倍数。-1 表示采样时间被继承。

编程用法

模块参数:sample_time

扩展功能

全部展开

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2020b 中推出

全部展开