虹科干货 | 教您使用工业树莓派结合CODESYS配置EtherCAT主站
![](https://www.hongrax.com/wp-content/uploads/2022/11/摄图网_400064314_banner_数字化信息科技技术(非企业商用).jpg)
一、前言
工业树莓派可以结合CODESYS作为小型工控机,支持多种现场总线协议应用,例如EtherNET/IP、Profinet、EtherCAT等。其中,通过与CODESYS结合的方式实现EtherCAT,支持工业树莓派作为EtherCAT主站,控制EtherCAT IO模块或者EtherCAT伺服电机。本文将分享如何将工业树莓派配置为EtherCAT主站,并与伺服驱动器通讯。
二、所需工具
1. 一个工业树莓派核心模块/控制器模块,本次测试使用 Connect+feat. CODESYS 模块
2. 一个伺服电机
3. CODESYS 多核授权(树莓派版本)
三、操作步骤
1. 添加伺服电机描述文件
点击“工具”->“设备存储库”,点击“安装”,选择伺服电机的设备描述文件
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-1024x353.jpg)
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-2.jpg)
2. 新建工程
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-3.jpg)
3. 工程类型
测试使用的codesys授权是多核版本,所以选择CODESYS Control for Raspberry Pi MC SL;如果是单核版本请选择CODESYS Control for Raspberry Pi SL。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-4.jpg)
4. 添加设备-控制器
右击“Device”,选择添加设备,找到“其他项”,选择添加使用的控制器模块,点击“添加设备”。(本次测试使用的是Connect模块)
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-5-1024x427.jpg)
5. 添加EtherCAT主站
a. 右击“Device”,选择添加设备,找到“现场总线”,选择添加“EtherCAT”->“EtherCAT Master”。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-6.jpg)
b. 右击“EtherCAT_Master”,添加伺服电机,即添加描述文件后出现的设备。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-7.jpg)
c. 右击“EP3E_EC”,添加“SoftMotion CiA402轴”。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-8.jpg)
d. 双击“EtherCAT_Master”,选择“通用”,选择“按MAC地址选择网络”,点击源地址的“浏览”,选择伺服电机与工业树莓派连接的以太网口的IP地址。(本次测试使用的是B口,即eth1)
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-9.jpg)
e. 双击“EP3E-EC”,点击“通用”,勾选“专家设置“,设置分布式时钟。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-10.jpg)
f. 点击“启动参数”,点击“添加”,分别添加“Max torque”和“Max motor speed”。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-11-1024x685.jpg)
g. 分别设置“Max torque”和“Max motor speed”的值为1000和4000.
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-12-1024x157.jpg)
h. 打开“SM_Drive_GenericDSP402 ”设置页。
i. 打开SoftMotion驱动:缩放/映射。
j. 把电机旋转一圈,编码器增量设置为1000。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-13-1024x357.jpg)
6. 程序编写
a. 打开PLC_PRG,鼠标点击变量声明区空白处。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-14.jpg)
b. 按F2键调出输入助手,点击文本搜索,输入使能功能块关键字:power,选择功能块SMC_Basic.MC_Power,点击确定。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-15.jpg)
c. 实例化MC_Power功能块。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-16.jpg)
d. 同样的方式添加MC_Jog功能块,并实例化MC_Jog功能块。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-17.jpg)
e. 点击程序编辑区,按F2 键,调出输入助手,点击实例调用选择实例fbMC_Power,点击确定。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-18.jpg)
f. 填写相关变量。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-19.jpg)
g. 同样的方式配置MC_Jog功能块。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-20.jpg)
h. 将PLC_PRG从MainTask任务中,拖放到EtherCAT_Task任务中,如图所示。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-21.jpg)
7. 程序下载和设备登录
8. 调试
a. 尝试修改lVel的值,双击“lVel”,修改为100,点击确认,快捷键Ctrl+F7,确认写入。查看是否有变化。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-22.jpg)
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-23.jpg)
b. 双击“bPower”,查看是否有变化。
![](https://www.hongrax.com/wp-content/uploads/2022/12/12.8-24-1024x424.jpg)