Ehercat代码解析中文摘录<7>

11 测试应用程序

测试应用程序是一个特定的从站协议栈,它提供了大多数指定的EtherCAT从站功能,并包含一种机制来生成从站行为(也包括不符合标准的行为)。这可用于检查主站在从站行为不正确时的反应。

本章涉及可能的配置。可能的(错误)行为组织在索引范围从0x2000到0x2FFD的CoE对象中(表11和表12)。

对象0x8000中列出了协议栈配置(需要EtherCAT主站支持SDO信息)。

用于EL9800 EtherCAT评估板的测试应用程序的发布版本位于"SSC_Vxixx/hex"中。要创建新的测试应用程序从站文件,请在SSC工具中选择测试应用程序配置。

表11:测试对象

属性
索引 0x2000 至 0x2FFD
名称 测试对象
对象代码 记录
最大子索引 1-255

表12:测试对象条目

子索引 描述 数据类型 访问 PDO映射 描述 / 默认值
n (每个测试相同) 控制/计数器 无符号16位整数 读写/只读 控制测试行为
位0:启用/禁用测试 0: 测试禁用 1: 测试启用
位1-7:保留供将来使用
位8-15:计数器(指示测试执行次数)

11.1 从站行为控制

有三种可能性可用于控制从站行为:直接更新测试对象的启用/禁用位(表12:测试对象条目),或通过测试控制对象(第11.1.1章),或通过更新ESC寄存器0xF80:0xF83(第11.1.2章)。

11.1.1 测试控制对象

测试控制对象结构(表13和表14)类似于PDO映射对象。测试控制对象的每个子索引(条目)将一个启用/禁用功能(位0)映射到从站设备的一个物理数字输入。

如果应用程序是为EL9800_4 EtherCAT评估套件编译的,则控制对象包含7个条目(SII-7),这些条目映射到开关2至8(开关1是全局测试功能启用开关)。如果协议栈不是为EL9800编译的,则控制元素包含16个条目,这些条目映射到GPO寄存器(0xF10:0xF11)。

表13:测试控制对象

属性
索引 0x2FFF
名称 测试控制对象
对象代码 数组
最大子索引 16(为EL9800编译时为7)

表14:测试控制对象条目

子索引 描述 数据类型 访问 PDO映射 描述 / 默认值
1 -- 最大子索引 (见表13) 链接的测试对象条目 无符号32位整数 读写 链接的测试对象条目
位0-7:保留供将来使用
位8-15:测试对象条目的子索引
位16-32:测试对象的索引

11.1.2 用户RAM 0xF80:0xF83

主站可以将要激活的行为的对象索引和子索引写入寄存器(表15:测试应用程序 | ESC寄存器 0xF80:0xF83)。该值由应用程序在从INIT到任何状态(也包括INIT到INIT)的触发时读取,如果行为被接受,则0xF83的第一个位被设置。

表15:测试应用程序 | ESC寄存器 0xF80:0xF83

描述 用途
0:15 对象索引 由主站更新
16:23 子索引 由主站更新
24 1: 行为激活 主站写入新的索引/子索引时应设置为0。由从站应用程序设置为1
25:31 保留供将来使用

11.2 ESM测试(0x2000 -- 0x200F)

表16:测试对象 0x2000 (ESM组 1)

子索引 描述 目的
1 从INIT到PreOP的无效状态转换 AL状态码 0x16 (无效邮箱)
2 从PreOP到SafeOP的无效状态转换 AL状态码 0x1D (无效输出同步管理器配置)
3 从PreOP到SafeOP的无效状态转换 AL状态码 0x1E (无效输入同步管理器配置)
4 在从PreOP到SafeOP的转换期间,不解除SM3(过程数据输入同步管理器)缓冲区的锁定。 检查主站是否在没有初始化输入过程数据的情况下启动过程数据通信。

11.3 CoE测试(0x2020 -- 0x202F)

表17:测试对象 0x2020 (CoE组 1)

子索引 描述 目的
1 在SDO上传和SDO信息列表请求时,使用最大邮箱大小为16字节。 将物理邮箱大小与邮箱数据长度解耦。
2 在每次状态更改时创建诊断消息。
3 在每次应用程序循环时创建诊断消息。
4 "模拟"庞大的对象字典。对象数量由"DUMMY_OD_LENGTH"指定(默认为1000)。所有对象的索引均为0x1000。 此行为用于测试主站和SSC的列表分段处理。
5 在通过完全访问进行SDO上传时,始终基于最大子索引返回完整的对象数据(忽略SI0的值)。

11.4 通用对象

本章描述的对象用于测试从站和主站正确的SDO处理。表18:通用对象包括所有已定义的对象。

表18:通用对象

(表格内容详细描述了索引从0x3001到0x300A的多个测试对象的子索引、数据类型、访问权限、描述和测试目的,这些对象用于测试数据对齐、访问权限、枚举类型、大对象处理等不同场景。)

相关推荐
tq108618 分钟前
先探索,后设计
笔记
hnult24 分钟前
2026 在线培训考试系统选型指南:核心功能拆解与选型逻辑
人工智能·笔记·课程设计
AI视觉网奇36 分钟前
ue 角色驱动衣服 绑定衣服
笔记·学习·ue5
三水不滴1 小时前
计网ping原理
经验分享·笔记·计算机网络
prog_61031 小时前
【笔记】思路分享:各种大模型免费当agent后台
笔记·大语言模型·agent·cursor
凯尔萨厮2 小时前
Maven(Windows下载安装)
笔记·maven
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][input]serio
linux·笔记·学习
菩提小狗3 小时前
小迪安全2023-2024|第5天:基础入门-反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载_笔记|web安全|渗透测试|
笔记·安全·web安全
Wentao Sun3 小时前
致敬软件创业者2026
笔记·程序人生
深蓝海拓4 小时前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt