在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