EtherCAT Slave Stack Code(SSC)是倍福提供的EtherCAT从站源代码生成工具,基于SSC工具,可以大大降低EtherCAT数据通讯程序及xml设计难度。
本操作参考SSC软件包中的EtherCAT Slave Design Quick Guide.pdf文档。
1、创建一个SSC工程
打开SSC后,File->New,打开新建项目的对话框,这里让我们选择一个项目模板,可以使用默认选项创建,该选项提示我们All settings are available。这里我们不选默认模板,而是在点中Custom单选按钮中,下拉出一个EL9800 | 8Bit Digital I/O, 16Bit Analog Input。
2、SSC工程配置
设置设备名称为“MyApplication”
由于不在倍福EL9800开发板上运行,故“APPLICATION”置0;
应用程序文件增加自定义头文件
保存项目配置文件(.esp)。
3、创建应用程序描述文件
Tool-> Application->Create new
添加对象描述搭到Excel文件中:
保存Excel文件并关闭“import application”
4、从站应用程序生成
Start开始自动生成代码,Start开始自动生成代码。
5、代码移植
其中生成的代码中MyApplicationObjects.h非常重要,它定义了通讯传输的数据类型,并与SSC生成的MyApplication.xml一一对应。
将MyApplicationObjects.h内容替换至el9800appl.h中,并在头部文件中增加头文件#include "ecatappl.h"。
(1)宏定义 :在el9800appl.c中,增加_MY_APPLICATION_
(2)APPL_StopOutputHandler :注释原有程序,或根据需求修改。
(3)APPL_InputMapping:修改输入映射:
(4)APPL_APPL_OutputMapping:修改输出映射:
(5)APPL_Application:修改应用程序,传给主站的变量与主站传过来的变量相同。
6、验证测试
将修改后的程序编译后烧录至STM32中,同时将SSC生成的MyApplication.xml放到TwinCAT所在目录下,并对ESC芯片进行EEPROM更新。
设备扫描后 ,显示的传输变量如下,与预期相同。
同时设备进入了OP状态,对Value 1,Value 2进行不同的赋值,可以发现Result 1,Result 2会进行相应的变化。
对应EtherCAT开发学习板:https://shop461235811.taobao.com