EtherCAT Slave Stack Code Tool(SSC)使用笔记

学习EtherCAT之 EtherCAT Slave Stack Code Tool(SSC5.12)使用笔记


前言

学习EtherCAT有几个月了,准备做一个EtherCAT从站,摸爬滚打一路走来,遇到不少问题,这里仅作学习记录使用。
移植过的平台 AIR32F103, STM32F103,STM32F407。
从站芯片LAN9252。
EtherCAT Slave Stack Code Tool (SSC) V5.12(该软件自动生成EtherCAT从站核心代码。)
SSC(Slave Stack Code Tool)从站协议栈代码工具,是EtherCAT协会为会员免费提供的,使用SSC,可以快速地构建EtherCAT从站代码,保证从站协议栈与最新的EtherCAT协议相匹配,同时还可以生成从站设备描述文件(ESI文件,后缀格式.xml),需要放在TwinCAT安装路径下的/Io/EtherCAT目录下,在使用TwinCAT对设备进行组态时需要使用。是EtherCAT从站设计过程中很重要的一个文件,关于从站设备传输多少数据,是否启用分布式时钟,PHY(LAN9252)与MCU之间如何通信等等重要数据都在这个描述文件中定义。这份XML如果全靠手工编辑,工作量非常大,并且极易出错,有了SSC后,构建XML将非常简单。

一、软件及安装

Ethercat从站协议代码工具SSC_V5.12,不好找,大多地方需要币。此处分享下,
链接:https://pan.baidu.com/s/1A9h8i3KzdJBTfxdKe3HU7w?pwd=1234
提取码:1234
安装的话很简单,也就 Next → Install → Finish 即可,路径只能使用默认,无法修改。注:电脑提前安装好 NET4.0

ALTOVA XMLSpy 2013中文版–修改XML
链接:https://pan.baidu.com/s/1lw13oihQDf01SXNbEqmiGw?pwd=1234
提取码:1234
具体安装及使用请参考博文:ALTOVA XMLSpy 2013中文版下载教程及简单运用

二、新建

1.新建工程

在这里插入图片描述

二、配置选项

	新建项目后,界面中会出现很多配置选项,这些就是最终生成的源码中ecat_def.h文件中的宏定义。想了解具体含义,可点选具体的宏定义,其右侧会有描述,亦可以直接在生成的源码中搜索,看一下它使用的位置就好了。

在这里插入图片描述

1.SlaveInformation

配置从站的一些设备信息,因为是测试代码可以直接使用默认的选项。实际产品要更加产品信息配置。注:各个厂商需要向EtherCAT协会申请全球唯一标志VendorID(免费的,这也是EtherCAT能迅速占领一定市场的原因)。

名字描述
VENDOR_ID0x000004D8使用LAN9252,就用微芯的ID–对应对象1018.01
VENDOR_NAMEMicroChip微芯
VENDOR_IMAGE……使用默认
GROUP_NAMESSC_Device
GROUP_IMAGE……使用默认
DEVICE_IMAGE……使用默认
PRODUCT_CODE0x00009252从站芯片使用了 LAN9252
REVISION_NUMBER0x00030111默认
SERIAL_NUMBER0x00000000默认
DEVICE_PROFILE_TYPE0x00001389默认
DEVICE_NAMESSC-Device默认
DEVICE_HW_VERSIONn.a.默认
DEVICE_SW_VERSION5.12默认

在这里插入图片描述
在这里插入图片描述

2.Generic

通用选项,全部使用默认即可。

在这里插入图片描述

3.Hardware

硬件相关选项,注意项如下列表,其余未列出

名字描述
CONTROLLER_16BIT0如果从站代码是为16位微控制器生成的,则应该使用此设置
CONTROLLER_32BIT1如果从站代码是为32位微控制器生成的,则应该使用此设置
_PIC180这里为0不变。在生成的ecat_def.h中_PIC18需改为 _STM32_IO8并设为1
_PIC240使用的是STM32,所以改为0

在这里插入图片描述

4.EtherCAT State Machine

EtherCAT状态机(ESM),使用默认选项
在这里插入图片描述

5.Synchronisation

同步管理相关选项,注意项如下列表,其余未列出

名字描述
ECAT_TIMER_INT1我们提供一个1ms的定时器中断,用于Ethercat看门狗的喂狗,设置为 1

在这里插入图片描述

6.Application

应用层相关选项,注意项如下列表,其余未列出

名字描述
EL9800_APPLICATION0我们不用EL9800评估板,所以置 0
APPLICATION_FILE#include “myapp.h”设为#include “myapp.h”,默认会是 SSC-Device.h

项目新建保存以后,再次被打开后,Application项中的选项会变少。

在这里插入图片描述
在这里插入图片描述

7.PorcessDate

PDO配置选项,注意项如下列表,其余未列出

名字描述
MAX_PD_WRITE_ADDRESS0x1FFF0x2FFF改为0x1FFF
MAX_PD_READ_ADDRESS0x1FFF0x2FFF改为0x1FFF

在这里插入图片描述

8.Mailbox

邮箱配置选项,注意项如下列表,其余未列出

名字描述
MAX_MBX_WRITE_ADDRESS0x1FFF0x2FFF改为0x1FFF
MAX_MBX_READ_ADDRESS0x1FFF0x2FFF改为0x1FFF

在这里插入图片描述
以上8个选项设置好后,千万别忘记保存。点击 Project->Save or “Ctrl + S”

三.创建Excel表格

1.生成excel表格

参数设置完以后,通过 Tool → Application → Create New 弹出 Excel 表格,新生成的表格如下图
该表格是用来配置对象字典,通过SSC工具导入该表格将自动生成EtherCAT从站代码和XML设备描述文件(ESI)。
在这里插入图片描述

2.添加对象

定义好的表格如下图所示。
在这里插入图片描述

表中仅添加了对象0x6000和0x7000。其中0x1600、0x1A00我们也可以不需要进行定义,最后软件会自动生成。0x1C12和0x1C13最好也是自动生成,如果自己定义的话,最后修改可能比较麻烦。0x1000, 0x1001, 0x1008, 0x1009, 0x100a, 0x1010, 0x1011, 0x1018, 0x10F0, 0x10F1, 0x10F3, 0x1c00, 0x1c32, 0x1c33这些对象字典是根据SSC中的配置自动生成的,不能在这个excel文件中定义。另外子索引是从1开始的,在生成代码的和xml文件的时候会自动添加子索引0,类型是UNSIGNED16。也可以理解为,默认是的子索引0是excel表中索引所在的那行。

3.生成源代码

添加完对象以后,然后就是生成应用程序源代码了。步骤没错的话就是自动弹出如下图
在这里插入图片描述
修改Application name 为 myapp ,最终会生成名称为 myappObjects.h 的对象字典文件。
选 "OK"以后,通过Project → Create new Slave Files 生成代码。
在这里插入图片描述
根据需要可选择生成文件的路径,我一般就是默认。
“Start”就开始生成源代码
在这里插入图片描述
执行“Start”以后,完成以后如下图,至此源代码制作完毕。
在这里插入图片描述

四.总结

初学不久,错误难免,望留言指出。
就这么点笔记,花了我两天时间。
在这里插入图片描述

  • 55
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值