【EtherCAT实践篇】六、更改XML,增加输入输出变量

2023-05-16

目的:在EtherCAT开发板上IO程序(基于SSC的IO通讯)基础上进行修改,实现16路拨码开关输入,以及16路LED输出。

EtherCAT从站增加变量的操作包括两个部分:1)XML文件修改;2)底板STM32程序修改。     

1、XML配置修改

xml作为EtherCAT从站设备描述文件,烧写在EEPROM里,ESC芯片上电后,会从EEPROM加载配置参数,完成启动初始化过程。同时主站设备扫描从站时,会读取EEPORM描述信息,完成对从站的初始配置。XML 里定义的对象字典和PDO 设置,需要和对应底板程序里的对象字典相对应。

XML的基本介绍 参考【EtherCAT分析】三、EtherCAT从站设备描述文件设计,下面介绍根据实验目的进行xml文件修改的过程。

1.1 更改数据类型

原xml文件中,LED输出映射索引0x1601和0x7010,Switch输出映射索引0x1a00和0x6000,这里在这个基础上修改。

(1)更改DT1601数据类型,重新修改数据类型的BitSize。

(2)索引0x1601将输出过程数据映射到0X7010中,因此需要更改DT7010数据类型。

(3)发现数据类型无DT1A00,从后面对象字典可以知0x1A00用得也是DT1601数据,考虑到修改为16路LED输出和16路Switch输入时,两个数据格式相同,因此无需添加。

索引0x1a00将输出过程数据映射到0X6000中,因此需要更改DT6000数据类型。

1.2更改数据字典对象表

(1)更改0x1601数据对象字典--输出映射表AI TxPDO-Map

(2) 更改0X7010对象字典

(3)更改0X1a00对象字典

(4) 更改0X6000对象字典

1.3定义PDO传输

1.4修改SM配置

2、STM32程序更改

在el9800appl.h中修改对象描述,包括更改本地存储变量、表项描述、对象名字以及对象描述。

2.1更改本地存储变量

(1)更改0x1601本地存储变量

0x70100x01与xml文件对应,其中索引也要改为16。


(2)更改0x7010本地存储变量

索引改为16:


(3)更改0x1a00本地存储变量

(4)更改0x6000本地存储变量

2.2更改表项描述

(1)更改0x1601表项描述

(2)更改0x7010表项描述

(3)更改0x1a00表项描述

(4)更改0x6000表项描述

2.3更改对象名字

(1)0x1601对象名字无需更改

(2)更改0x7010对象名字

(3)0x1a00对象名字无需更改

(4)更改0x6000对象名字

2.4更改对象描述

需要特别注意蓝色圈圈中数据要与子索引最大值相对应。

2.5应用层程序更改

在APPL_Application()更改

3、测试验证

通过下载STM32修改后的程序,并更新xml文件,在Freerun模式下进行测试,可以发现16路拨码开关和16路LED都可以正常响应。

EtherCAT开发学习板:https://shop461235811.taobao.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【EtherCAT实践篇】六、更改XML,增加输入输出变量 的相关文章

随机推荐