[其他ST产品] 基于STM32的EtherCAT从站IO讲解

[复制链接]
6888|46
 楼主| grfqq325 发表于 2021-12-28 23:11 | 显示全部楼层
6、申明好PDO数据报文后,接下来我们需要修改SM同步数据通道,将数据映射到父级,协议芯片将从这里开始逐级索引数据报文:Descriptions-->Devices-->Device-->sm、Rxpdo、Txpdo(协议芯片从这里开始加载数据到内核,并从报文中读取数据到内核)
 楼主| grfqq325 发表于 2021-12-28 23:16 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-28 23:17 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-28 23:20 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-28 23:22 | 显示全部楼层
7、修改SM内容后,你会发现,父级PDO x1601(Rxpdo)和x1a00 PDO节点的映射内容也发生了改变;所以这些父级节点对应的数据类型与PDO申明也需要修改:(父节点PDO的每个成员是子PDO节点的寄存器地址,32位数据)
//
 楼主| grfqq325 发表于 2021-12-28 23:26 | 显示全部楼层
第四步:将修改好的XML文件通过twcat软件烧写到协议芯片的EEPROM中。
 楼主| grfqq325 发表于 2021-12-28 23:27 | 显示全部楼层
三、STM32应用层代码的修改
实际上,单纯修改XML文件只是可以让协议芯片在于主站交互数据报文时,有一个依据而已,实际需要交互的数据需要有从站的CPU和外设提供,通过SPI与协议芯片交互。所以,我们还需要再STM32程序内驱动对应的硬件设备,并实现spi数据读写交互。
 楼主| grfqq325 发表于 2021-12-28 23:29 | 显示全部楼层
这里只讲解需要修改的部分:
第一步:在源代码的el9800app.h中,添加数据节点结构体系列描述:(有四个东西需要创建或修改)
9060161cb2d5db637c.png
 楼主| grfqq325 发表于 2021-12-28 23:30 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-28 23:31 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 18:59 | 显示全部楼层
第二步:将新创建的PDO节点,加入应用PDO节点管理数据(在源代码的el9800app.h中)
 楼主| grfqq325 发表于 2021-12-29 19:02 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 19:18 | 显示全部楼层
第三步:在源代码的el9800app.h中,对应修改1601映射数据管理对象的四个东西
 楼主| grfqq325 发表于 2021-12-29 19:23 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 19:24 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 19:25 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 19:26 | 显示全部楼层
第四步:在源代码的el9800app.h中,修改1c12PDO对象,因为1600~1602是映射到1c12上,最终完成主从数据交换的
 楼主| grfqq325 发表于 2021-12-29 19:27 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 19:28 | 显示全部楼层
 楼主| grfqq325 发表于 2021-12-29 19:30 | 显示全部楼层
第五步:在el9800appl.c文件中,按照需求为数据节点PDO分配内存空间,用于交互数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部