基于 EtherCAT的Simulink-Realtime松下伺服调试

本文详细介绍了如何通过EtherCAT协议使用Simulink实时控制松下A6伺服驱动器。涉及到TwinCAT3软件的配置、 EtherCAT从机的搭建、伺服驱动的基础配置以及实时仿真的步骤。在过程中强调了硬件环境的搭建,包括主机与从机的网络配置,以及针对MATLAB版本和Visual Studio版本的适配问题。此外,还提供了从机DOS系统的搭建和Simulink实时仿真设置,确保了整个系统的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概要

近期实验接触到松下A6家族的伺服电机控制器,经过一段时间的调试终于能够通过EtherCAT进行simulink-realtime的实时在线控制。调试过程不易,在此将调试思路以及调试方法进行一个总结,权当备忘。

关于松下A6伺服驱动

松下MBDLN25BE这款伺服驱动器是一款支持EtherCAT的总线伺服驱动器,能够进行位置控制、力矩控制以及速度控制。自带串口通信可以与上位机调试软件PANATERM进行基础的参数设置以及试运行功能。驱动自带多重安全防护、可以有效地避免意外操作对驱动器带来的损坏。

关于TwinCAT

TwinCAT3是倍福公司推出的一款EhterCAT配置工具,该软件可以在倍福公司官网直接下载TwinCAT3.利用这款软件可以配置倍福的板卡,生成simulink可以识别的ENI文件。如果没有倍福的板卡,使用其他的板卡也是可以使用TwinCAT3进行配置的。建议在安TwinCAT3之前先安装VisualStudio 2016。因为我们后期进行的EtherCAT配置都是基于VS环境下的,同时VS的版本不能太高,否则可能在运行Realtime编译的时候产生错误,提示找不到解释器

硬件环境的搭建

主机:Intel网卡,CPU
从机:双网卡:
伺服驱动:松下MBDLN25BE
电机:松下电机
主机通过ethercat连接从机,从机通过ethercat连接控制器。

TwinCAT的基础配置

在这里我们使用TwinCAT3来对我们的伺服驱EtherCat进行基础配置。需要注意的是与其他的很多教程不同,因为我们不是采用了专门的数据控制器(MATLAB新版本只支持SpeedGoat的IO模块因此最好采用低版本的MATLAB)在主机上我们不能扫描到从机的设备,因此我们使用从机进行驱动器的EtherCAT配置。在此之前我们需要设置主机和从机的网卡IP地址在一个网段,例如我在这里的配置:主机网卡192.168.10.1从机连接主机网卡192.168.10.3从机连接伺服网卡192.168.10.2

先将你的驱动的ESI文件拷贝到C:\TwinCAT\3.1\Config\Io\EtherCAT目录,
打开Twincat3新建一个project,点击如图所示的选项
在这里插入图片描述
创建成功后点击如图所示选项,会弹出一个网卡设备列表,选择与驱动器连接的网卡驱动进行安装即可。
在这里插入图片描述
安装完成后打开解决方案管理器,点击device,右键scan。如果可以扫描成功,就会弹出询问你是否添加box的对话框,点击是,然后会弹出模式选择对话框,选择NC模式。不启动freerun。添加成功后界面显示如下
在这里插入图片描述
此时可以进行设备的基础配置,我们点击MOTION选择我们控制的axis
在这里插入图片描述
如上图所示点击编码器设置,可以设置我们的电机精度以及螺距。之后点击other,可以设置为位置控制模式。
在这里插入图片描述
再点击Ctrl选项,设置位置 观测为false,否则开机会导致位置过大启动保护
在这里插入图片描述
完成上述设置后,可以电机如图按钮进行在线运行,这是一个测试步骤以验证你上述的配置是否是成功的。在这里插入图片描述
开始运行后双击Axis1,点开online选项卡就可以对电机进行实时的控制。
但是我们的配置并没有到这里就结束,我们还需要进行与sinmulink相关的配置;点击SYSTEM,选择tasks右键新建一个task,记得选择第二项,然后OK.
在这里插入图片描述
点击新建的task,选择inputs和outputs右键添加新项,然后再新建立的 项目双击点击linked to,这一步是为了把变量与我们的电机进行关联
在这里插入图片描述
之后双击新建的task,修改我们的一个控制频率。这里建议设置为1ms
在这里插入图片描述
然后依次点击MOTION下面的SAF以及SVB进行同样的设置。把他们的 频率设置为一致的。随后点击devices选择EterCAT选项就可以导出xml文件。
在这里插入图片描述

从机的搭建配置

首先下载一款DOS操作系统,使用一张容量不超过4GB的U盘,格式化为FAT32格式,使用写盘工具进行启动盘的制作。
启动盘制作完成后,将从机电脑BIOS设置为legacy引导 ,开启这一引导之前需要关闭secure boot选项。并且在bootlist中设置U盘为第一启动。
设置完成后插入U盘,开机系统将会自动进入DOS操作系统,进入成功后电脑将会显示当前的DOS信息。
在这里插入图片描述

上述DOS系统搭建完成后将U盘插入主机,启动matlab,在simulink下打开realtime-tools,进入从机配置环节。我们选中Target1,配置其IP地址以及子网掩码如图。
由于我们从机采用的是pci的网卡,所以第二项选择为pci,设备类型为auto。最后生成文件到移动设备。
在这里插入图片描述
拔出U盘后插入从机启动DOS系统,会自动出现MATLAB的relatime界面。如图,上面会提示当前使用的pci总线编号。请添加图片描述

simulink实时仿真

到上面我们的环境就算是真正搭建完成了,接下来在simulink中加入EtherCAT Init模块,双击选择我们生成的ENI文件,注意这里的pcibus并不是从机上matlab显示的总线号。而是我们从机连接驱动器的网卡总线号,这个可以通过从机的设备管理进行查询。如果输入的是matlab提示的总线号,那么运行时将会报错。
在这里插入图片描述
完成后点击下图所示按钮,选择模式为External,此时控制栏会发生变化。
在这里插入图片描述
设置我们的仿真参数如图,步长设置为1ms与我们的从机对应。将目标文件改为实时仿真文件。
在这里插入图片描述
在这里插入图片描述
完成后点击编译按钮download到我们的从机,点击连接,运行。如果没有报错就可以加入PDO模块进行数据的读写以及电机控制啦!

在这里插入图片描述

总结

搭建仿真平台的过程最需要注意的就是硬件和软件的支持问题,目前发现的华硕玩家国度的主板并不支持使用rufus制作的DOS操作系统,所以尽量选择老一些的主板。同时matlab版本不能太高,matlab2021已经不支持speedgoat以外的硬件环境了。同时选择合适版本的vs环境也非常重要,TwinCAT不能支持太高版本的vs,同时matlab 2019也不支持VisualStudio 2020,否则在realtime编译的时候会报错,提示版本不支持。

### 松下伺服电机通过EtherCAT进行参数设置的方法 #### 配置环境准备 为了实现松下伺服电机的EtherCAT通信,需先准备好相应的硬件和软件环境。这包括但不限于安装支持EtherCAT协议的控制器以及必要的开发工具链。对于采用Simulink-Realtime平台的情况,确保已正确设置了MATLAB/Simulink环境,并且具备能够运行Linux操作系统的计算机作为上位机来执行实时任务[^1]。 #### 安装并配置TwinCAT 针对具体的应用场景——即利用Beckhoff公司的TwinCAT产品线来进行EtherCAT网络构建时,则应按照官方指导完成TwinCAT PLC Runtime及其附加组件(如NCI库)的部署工作。在此基础上,还需定义好项目中的设备拓扑结构图,指定各节点的身份标识符(ID),以便后续识别连接至总线上每一个具体的物理位置上的从属装置,比如这里的松下A6系列伺服驱动器。 #### 编写或导入GSD文件 每款兼容EtherCAT标准的产品都会附带有一个描述其特性的XML格式文档—General Station Description (GSDML), 用户应当获取对应型号的最新版本并将之加载到所使用的工程设计环境中去。这样做可以使得组态工具理解该器件的功能模块构成情况,从而简化编程流程并提高数据交换效率。对于松下品牌的伺服单元而言,可以从制造商官方网站下载适用于目标产品的GSD档案。 #### 参数调整与优化 一旦上述准备工作就绪之后,在实际应用过程中可能还需要进一步微调某些关键属性值以满足特定需求。例如,可以通过修改PDO映射表单内的条目来决定哪些过程变量会被周期性传输;另外也可以设定合适的控制字节序列用于启动/停止动作或是改变运转方向等操作命令。值得注意的是,这些改动通常是在PLC程序内部完成并通过OPC UA等方式同步更新给远端客户端显示出来的。 ```matlab % MATLAB代码片段展示如何读取来自EtherCAT接口的数据 coder.extrinsic('et_read'); data = et_read('ChannelName'); % ChannelName为预先分配好的通道名称 disp(['Received Data:', num2str(data)]); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值