您的位置:首页 > 其它

在EtherCAT开发板上基础上增加一个自定义的变量mytest

2016-03-18 22:14 666 查看
在EtherCAT开发板的CoE程序中尝试增加一个输出变量(从站发送给主站),方便后续EtherCAT使用~

修改方法:在索引号0x1a02基础上增加一个16位整形的mytest变量。

主要包括xml配置文件的修改,以及stm32程序的修改。

第一部分 xml配置文件修改

1、增加变量对应于输出映射索引0x1A02的,因此需要更改DT1A02数据类型,增加第九个变量:



重新修改数据类型的BitSize=16+9*32=304



更改0x1A02数据对象(输出映射表),增加SubIndex009,索引号为60201210,其中“6020”代表映射索引号,“12”代表索引6020的第18位SubIdx,“10”代表数据大小,16位。注意:在xml中写的顺序与实际不同。



修改相应的BitSize=16+32*9=304.



2、由于索引0x1A02将输出过程数据映射到0X6020中,因此需要更改#x6020数据类型及对象。

修改DT6200数据类型及BitSIze:



修改#x6020数据对象:



3、在PDO的SM3传输,0x1a02中增加:



第二部分:stm32程序修改

1、更改索引0x1a02及0x6020的本地存储变量、表项描述、对象名字以及对象描述。

更改0x1a02本地存储:



初始化中0x60201210与xml文件对应:



更改0x1a02表项描述:



更改0x6020本地存储变量:



变量初始化:



更改0x6020表项描述:



更改0x1a02及0x6020的对象描述,需要特别注意蓝色圈圈中数据要与子索引最大值相对应。



2、应用层程序更改
在APPL_Application()给自定义变量mytest赋值:



在APPL_InputMapping()中更改,以将数值传给EtherCAT主站。



三、实验结果

利用TwinCAT 3观测数据,可知mytest数据被扫描到,且数值与stm32赋值相同。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: