打印
[其他ST产品]

基于STM32的EtherCAT从站IO讲解

[复制链接]
1793|46
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
grfqq325|  楼主 | 2021-12-28 17:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、基础讲解:
1、EtherCAT从站与EtherCAT主站最大的不同在于:主站完全准寻IP协议的7层网络结构,而从站的物理链路层与主站不同,物理链路层的数据报文格式由倍福公司规定。
2、通常情况下,我们不能使用普通的网卡芯片作为从站的物理链路层;可以使用ET1100、LAN9252、AX58100等协议芯片来实现。
3、这个博客里,我使用的是AX58100芯片,用STM32作为实现应用层的CPU;实现一个16进16出的数字量IO从站。

使用特权

评论回复
沙发
grfqq325|  楼主 | 2021-12-28 17:26 | 只看该作者
二、从站设备描述文件XML
1、XML文件基础介绍
XML文件是从站设备描述文件,被烧写在从站协议芯片可读写的EEPROM中;AX58100上电后,会从EEPROM中加载相关的配置选项,通过SPI通信与CPU交互,初始化CPU相关资料并初始化通信。
主站则需要根据从站的XML描述文件,发送PDO或SDO数据报文请求读写从站的寄存器。

使用特权

评论回复
板凳
grfqq325|  楼主 | 2021-12-28 17:27 | 只看该作者
2、XML文件结构介绍
整体框架如图:

使用特权

评论回复
地板
grfqq325|  楼主 | 2021-12-28 17:30 | 只看该作者
这里重点讲解EtherCATInfo这一栏;Vendor包含设备供应商的描述,Descriptions包含所有设备资源描述,是最重要的地方。

使用特权

评论回复
5
grfqq325|  楼主 | 2021-12-28 17:35 | 只看该作者
打开Verdor,我们可以通过修改ImageData节点的数据,来修改设备挂载到主站下后的形象:

使用特权

评论回复
6
grfqq325|  楼主 | 2021-12-28 17:52 | 只看该作者

使用特权

评论回复
7
grfqq325|  楼主 | 2021-12-28 17:56 | 只看该作者
打开数据节点Descriptions,这里是我们修改自己的数据资源主要地区:

使用特权

评论回复
8
grfqq325|  楼主 | 2021-12-28 17:57 | 只看该作者

使用特权

评论回复
9
grfqq325|  楼主 | 2021-12-28 17:59 | 只看该作者
到这里,我将通过具体的例子来讲解如何改写XML文件:(如果不这样,很难描述清楚)

使用特权

评论回复
10
grfqq325|  楼主 | 2021-12-28 18:00 | 只看该作者
第一步:修改设备挂载后的名字
打开Descriptions-->Devices-->Devices-->Type-->Text,这里修改的是,主站设备挂载该从站IO后的默认实例名称;打开Descriptions-->Devices-->Devices-->Name,将内容修改为设备的名称。
/
第二步:配置各种通信超时时间(通常保持默认,后期主站挂载从站时可以通过主站来调整)
打开Descriptions -->Devices-->Device-->Info
/

使用特权

评论回复
11
grfqq325|  楼主 | 2021-12-28 18:01 | 只看该作者
第三步:开始创建16路IO映射变量区(重要环节)
1、首先,需要想好实际要映射的数据PDO;例如我们要映射16路的数字量输入(Tx)和16路的数字量输出(Rx)。

使用特权

评论回复
12
grfqq325|  楼主 | 2021-12-28 18:02 | 只看该作者
2、先讲解一下,EtherCAT协议规范的PDO数据映射关系:

使用特权

评论回复
13
grfqq325|  楼主 | 2021-12-28 18:04 | 只看该作者
3、注意:AX58100等协议芯片中,数据寄存器的地址是按16位(字)单位偏置的,所以在定义PDO数据报文时,每个PDO报文必须至少传递一个字的数据长度,不足的需要补齐!!

使用特权

评论回复
14
grfqq325|  楼主 | 2021-12-28 18:04 | 只看该作者
4、现在,我们先修改或添加对应PDO的数据类型(如果是DINT INT等标准数据类型,则必须是EtherCAT协议允许的才可以):Descriptions-->Devices-->Device-->Profile-->Dictionary-->DataTypes-->DataType

使用特权

评论回复
15
grfqq325|  楼主 | 2021-12-28 18:13 | 只看该作者

使用特权

评论回复
16
grfqq325|  楼主 | 2021-12-28 23:01 | 只看该作者

使用特权

评论回复
17
grfqq325|  楼主 | 2021-12-28 23:04 | 只看该作者

使用特权

评论回复
18
grfqq325|  楼主 | 2021-12-28 23:07 | 只看该作者
5、类型定义好了,接下来修改对应的PDO报文申明:Descriptions-->Devices-->Device-->Profile-->Dictionary-->Objects-->Object

使用特权

评论回复
19
grfqq325|  楼主 | 2021-12-28 23:08 | 只看该作者

使用特权

评论回复
20
grfqq325|  楼主 | 2021-12-28 23:10 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

415

帖子

4

粉丝