在SSC(EtherCAT从站协议栈代码)中添加SDO的方法

在SSC(EtherCAT从站协议栈代码)中添加SDO的方法

在EtherCAT从站协议栈的开发过程中,需要根据自身需要扩充SDO配置,这时候就需要修改相应的代码以实现需求。

本文以0x604D对象为例,具体需要做的事项如下:

1、修改XML文件,添加SDO对象

手动添加如下代码

将上述修改好的XML导入到上位机中,PLC或者TwinCAT均可,可达到如下的效果:

2、修改SSC内相关代码以扩充SDO内容

在cia402appl.h的CiA402Objects结构体中添加objTorqueModeVelocityLimit成员变量

在cia402appl.h的DefCiA402ObjectValues变量内添加0x604D的初始化参数

在cia402appl.h中添加0x604D的相关参数定义

在cia402appl.h中的DefCiA402AxisObjDic[]中添加初始化参数

在 cia402appl.c的Cia402_Init中添加相关初始化代码

/** \return 0 Init CiA402 device successful ALSTATUSCODE_XX Init CiA402 device failed \brief This function initializes the Axes structures *//////////////////////////////////////////////////////////////////////////////////////// UINT16 CiA402_Init(void) { //code case 0x604D: pDiCEntry->pVarPtr = &LocalAxes[AxisCnt].Objects.objTorqueModeVelocityLimit; break; //code }

3、在上位机上验证

通过上位机的在线COE功能可以正常读写上述SDO即可达到目的。本例写入0x604D=2026成功。

更多知识分享:

b站,知乎同名:沧海一条狗

咸鱼ID:tb764914262