在EtherCAT电机板上实现cst功能,在xml中增加cst相关pdo,在402程序增加cst模式。
1、XML配置修改
cst模式需要用到目标转矩和反馈实际转矩PDO,结合CiA402手册,这两个PDO对应的索引号分别为:0x6071(Target torque)、0x6077(Torque actual value)

1)更改索引
增加变量对应于输出映射索引0x1600和0x1a00的,因此需要更改对应据类型:
增加第5SubItem,重新修改数据类型的BitSize

2)更改数据字典对象表
增加0x6071和0x6077数据索引,已有:

更改0x1A00数据对象--输出映射表TxPDO:增加SubIndex005,索引号为10007760,其中“6077”代表Torque actual value映射索引号,“00”代表索引6077的第0位SubIdx,“10”代表数据大小,16位。注意:在xml中写的顺序与实际不同。同时修改相应的BitSize=16+32*5=176.

更改0x1600数据对象--输出映射表RxPDO:增加SubIndex005,索引号为10007160,其中“6071”代表Target torque映射索引号,“00”代表索引6071的第0位SubIdx,“10”代表数据大小,16位。注意:在xml中写的顺序与实际不同。同时修改相应的BitSize=16+32*5=176.

3)定义PDO传输
修改TxPDO:

修改RxPDO:

2、STM32程序更改
在cia402appl.h中修改对象描述,包括更改本地存储变量、表项描述、对象名字以及对象描述。
1)更改本地存储变量
更改0x1600本地存储变量

更改1600结构体

更改0x1A00本地存储变量

更改0x1A00结构体

2)更改表项描述
更改0x1600表项描述

更改0x1A00表项描述

3)更改对象描述
需要特别注意数据要与子索引最大值相对应。

4)应用层程序更改
在APPL_InputMapping()中更改:

在APPL_Application()更改

在CiA402_DummyMotionControl()中增加cst应用程序。
3、测试验证
利用TwinCAT主站更新xml,并带电机进行cst模式测试:

设定运行模式modeofoperation=10,给定TargetTorque一定值,观察电机变化。
EtherCAT开发学习板:https://shop461235811.taobao.com