基于ethercat通信的simulink real-time主从机平台搭建控制MAXON电机EPOS4

梗概      

        Simulink real-time前身为xPC,大家搜平台搭建过程中出现bug的时候可以搜搜xPC,没准能够搜到更多有用的东西,由于科研需要,这里记录一下自己搭建的过程和踩过的坑。

环境

        由于2018b及以后的simulink与speedgoat合作,不再支持easy to access的从机硬件设备,所以最好用matlab2017b,前几个版本的Bug基本在17b得到了修复,不过2017b支持的网卡类型没有前几个版本的丰富,各有利弊吧。

我搭建的主从机系统包括一个主站(安装有Matlab2017b),两个从站(一个用于运行simulink realtime从机操作系统,一个则是Epos4用来控制电机)

主机:联想 ThinkStation P340,windows10专业版,编译环境:Visual Studio2013

从机:自组机,主板是华硕H81I(这里大家避个雷,最好不要用联想的电脑当从机,后续从机的启动需要设置为U盘引导启动,而有些2020年后产的联想电脑没法设置bios启动模式)网卡:R8168、intel I210一个用于主从机通信,一个用于连接EPOS4。从机没有操作系统的要求,因为操作系统由Matlab生成的U盘启动盘给出。

Twincat配置

        Twincat设置是用来配置simmulink 里ethercat的初始化文件的。如果不是用这个通信方式的得找找自己用的通信方式的配置方法。进行Twincat配置的电脑可以是主机,也可以是从机,也可以是其他的任意机器,因为Twincat的作用只是导出一个xml文件,文件导出来之后就没用了;操作系统必须是专业版。进行配置前首先要安装visual studio2013/15/17,为创建Twincat Project提供环境,再安装Twincat3,注意次序,具体安装方法 ,Bing搜索倍福虚拟学院倍福虚拟学院 (beckhoff.com.cn)https://tr.beckhoff.com.cn/,找到Twincat 3安装,跟着网页的步骤安装就行了。

        具体的配置方法找到Twincat3,Twincat 3 C++,Twincat 3 C++使用准备教程V3.11.pdf,下载PDF之后从第1页跟着做到第9页添加完环境变量,就算配置完成。

在打开Twincat工程之前,先把电机拷到ESI文件拷贝到C:\TwinCAT\3.1\Config\Io\EtherCAT目录,ESI文件我是从EPOS4调试工具里导出来的,具体怎么得到,问问电机经销商,如果不拷贝的话,Scan设备的时候,设备会显示问号。

Twincat的设置参考这篇文章,我完全按照这篇文章操作,可以成功导出Xml文件。基于EtherCat通信的simulink Real-time配置_dongshanchuanshuo的博客-CSDN博客https://blog.csdn.net/dongshanchuanshuo/article/details/123909375?spm=1001.2014.3001.5506

 从机配置

参考这篇文章:跟木木大哥学Simulink Real Time之- 创建启动盘_simulink real-time_blueday406的博客-CSDN博客icon-default.png?t=N6B9https://blog.csdn.net/blueday406/article/details/80638648?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-80638648-blog-80633808.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-80638648-blog-80633808.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=5

准备一块4G以下的U盘,花钱从CSDN垃圾堆里淘一个DOS启动盘制作软件,将U盘制作成DOS启动盘。注意:

1、有些DOS启动盘会把启动文件自动隐藏,不要觉得U盘空空的是制作失败了;

2、制作的时候如果提示U盘被写保护,按照下面来

1)打开cmd

2)输入diskpart, lisk disk,select disk 序号,clean,清除掉U盘所有内容。

        制作完启动盘后,打开Matlab 2017b,在命令窗口输入mex -setup,将编译器选择为VS2013

        接着在命令窗口输入slrtexplr,在弹出的窗口下进行如下设置。主机的网段和从机的网段必须要在同一网段下且IP不要完全相同,这里我设置主机的IP为192.168.0.102,从机的IP为192.168.0.101,target driver根据从机安装的网卡型号选择,我这里选的是intel_I210。如果是Matlab2015b,USB Support不要勾选,这里用的是2017b,勾选,boot mode选择​​​​​​​Removable Disk,然后制作。

         接下来就是设置从机电脑的启动方式。具体怎么设置,在搜索引擎里搜:电脑牌子+U盘引导启动,会有许多教程。大致流程就是在开机的时候进入bios,取消安全启动,修改启动方式为传统模式,用+-号将HDD:USB提到启动顺序最前面。如果电脑识别不到U盘,那就只能换电脑,联想电脑就有这毛病,这跟电脑的母板型号有关,无法通过设置识别。(这里再吐槽一下联想,BIOS设置给了跟没给一样,设置不了一点,那点可设置选项感觉就是在嘲笑我的智商,你还不如直接每条都是灰的别让我修改呢。)

        设置完U盘引导启动后,将U盘插入从机,显示这个界面就算成功了!可以看到右下角显示了之前设置的slrtexplr的信息。如果右下角不能显示信息,提示什么系统错误,系统失败之类的,就是从机没有支持的网卡,需要买可支持的网卡装上去。

主机从机通信测试

 用网线连接主机和从机,打开cmd,输入ping + 从机的IP地址,如果和下图一致,则通信成功

大多数第一次连接ping都会失败,无非是:

1)IP不在同一网段,检查一下主机的 IPv4是否设置对了;

2)主机防火墙没关;

3)必要的服务没有开启,把这几个设置成自动启动

4)防火墙高级设置,出入站设置IPv4未启动

5)未开启路由

两台电脑ping不通的解决方案_两台电脑网线直连ping不通_DaSheng Ren的博客-CSDN博客icon-default.png?t=N6B9https://blog.csdn.net/m0_52728507/article/details/131405001?spm=1001.2014.3001.5506

6)杀毒软件没关,信息被中途截停

主从机连接

成功通信之后打开Matlab,命令框里输入slrt,返回load则可以开始进行测试。

在命令框里输入slrttest,共会进行8项测试,中途第四项测试会创建一个simulink模型并编译,所以提前把matlab的路径设置好,不能在bin文件里,否则编译会报错

test1-3是设备通信测试,如果失败就是硬件连接、局域网通信有问题,但是如果按照我上面的流程来,ping成功了,test1-3不会有问题。test3会让从机重启,只有在ping失败才会报错。

test4报错可能是内核与编译环境不匹配,我这里2017b配VS2013,没有报错

如果成功通过了8个测试,恭喜~主从机系统可以算是调通力!!!!!!!!omedetou,omedetou(BGM:残酷天使的行动纲领)

 

 

 

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部