NI CompactRIO9035与elmo电机驱动联合仿真系统搭建教程
因本人项目需要搭建一套机器人控制仿真系统,控制器采用NI 的CompactRIO9035,电机驱动器使用的是elmo驱动器,对于驱动器可以支持多种总线通信方式,一般采用CAN和EtherCAT总线,如果采用CAN总线,则需要为控制买个CAN接口模块,然而控制器本身就支持EtherCAT总线,所以为了节约成本,对于控制器和驱动器采用EtherCAT总线通信方式。系统网络的架构是:PC通过ethernet连主控制器,主控制器通过ethercat连接从站(驱动器)
下面具体讲解配置过程:
一、控制器配置
首先要在PC端安装对应控制器支持的软件:
LabVIEW2015:
这个容易找到,还请自行到网上下载安装
LabVIEW Real-Time 2014 SPI:
模块和安装教程均在这里
LabVIEW FPGA 2015I:
模块和安装教程均在这里
NI C ompactRIO设备驱动:
驱动和安装教程均在这里
安装完上述所有软件后就可以连接好硬件,连接电脑和9035,第一次连接9035时需要打开MAX配置,浏览器给控制安装一些软件。打开MAX方式为启动LabVIEW,选择工具下拉的第一个选项即可:
打开MAX左边窗口我的系统下拉菜单软件,可以看到我们上面安装的所有软件均在出现的列表中:
我的系统是指我的电脑。
其中还包括我其他项目所需要的软件,我们这里只讨论和elmo通信部分。
如果电脑和9035正常连接,则可以在远程系统(是指控制器)下面看到控制的名称和
点开控制器的下拉菜单会有 两个条目:设备和接口 和 软件
第一次配置9035时,在软件下拉菜单里面是没有内容的,上图中的软件都是我后来安装到控制器上去的。
安装过程为:鼠标右击软件选择添加/删除软件,会出现登入对话框,
因为我没有设置密码,所有直接点确定即可进入如下窗口:
选择NI CompactRIO17.0-May 2017选项,点击下一步会出现如下对话框
软件组附加软件下拉选项中黑色部分均是可以安装到控制器中的,这里我先通过扫描接口进行编程,所以选择NI扫描引擎
持续点击下一步安装即可完成该软件的安装
注意:这里需要注意一点是要安装软件到控制器就必须先安装软件到电脑,再通过MAX将所需软件安装到控制器中。比如像上图中灰色部分是无法安装的,因为它没有安装到电脑里面。
这里加一个我之前遇到的坑及解决办法:因为我LabVIEW安装的是中文版,而控制默认的语言是english。当我在LabVIEW编好程序后准备运行时会出现一个问题,那就是语言不支持,为解决这个问题,需要在控制器中安装支持中文语言的工具包,安装方式和上述一样,安装完后还需要在控制器主页面设置一下。
在语言环境框选择中文。
因为控制两个以太网端口默认都是ethernet通信方式,所有我们现在需要将其配置为一个为ethernet通信方式,一个为ethercat通信方式。首先需要下载NI ethercat工具包安装至电脑,下载链接,然后用和上述相同的方式将其安装至控制中,安装完后需要在MAX界面设置端口通信方式:设置过程如下图所示:
至此,控制器部分配置完成,下面配置Elmo驱动器部分
二、驱动器配置
驱动器采用的是elmo的Gold Whistle,其支持CAN和EtherCAT,当然我们还购买了与该驱动器配套的电路扩展板,如下图所示:
该控制网络端口默认配置就是EtherCAT通信方式,在将其和主控制连接之前还需要对驱动器配置一下,第一次连接驱动器时,只能通过usb连接配置和调试,因为驱动器无法直接通过EtherCAT和电脑(电脑是Ethernet)通信,要想通过Etherne方式配置,则需要现在usb模式下通过编程修改调试方式。修改指令如下:
这里我们不做修改。因为用USB调试就够用了。在配置驱动器之前我们需要先去elmo官网下载最新固件,其中还包括EtherCAT的XML文件(切记:这个文件非常重要)下载链接
固件下载位置如上图红圈标注所示。要想下载该资源首先需要在该官网注册后才能下载。资源下载解压后里面的文件如下图所示:
1为EtherCAT配置文件,2为驱动器固件。
现在我们就来更新驱动器固件。
首先需要去官网下载配置应用软件(链接)
安装完成后通过usb接口线连接电脑和驱动器,打开配置软件,初始界面如下:
右击System Configuration窗口下的Workspace “Default”,选择Add Gold Drive,如下图所示:
成功后会在对应的窗口多出一个Drive01图标,工作空间也会改变,如下图所示:
按下图操作选择Direct Access USB
选对应串口的端口号,软件默认显示COM1,当连接好驱动器后,软件会自动识别对应端口号,我电脑端口号为COM4。如下图所示
右击Drive01图标,选择connect,
连接好了后和上面的图标不一样如下图所示:
在工具栏选择Upload And Download选项,在Drive框中有个Firmware图标,那就是下载固件到驱动器的选项。
点击Firemware->direct Access出现如下对话框 ,打开之前下载好的固件直接点击Download即可进行固件下载。下载完后驱动器配置就完成了。
自此,已经完成了控制器和驱动器各自的配置,下面进行两者联调搭建
三、联调搭建
因为我们的驱动器不是来自NI的产品,在和NI的主控器进行通信时需要按照NI官方关于第三个EtherCAT从设备进行配置:
首先需要参考NI技术支持里面相关的几个文档:
1、Adding Third-Party EtherCAT® Slaves in LabVIEW
2、Finding the EtherCAT Slave XML File On My PC
3、Why Can’t I Access All the Input and Output Variables of My Third-Party EtherCAT® Slave in LabVIEW?
在认真阅读以上三个文档后,在LabVIEW项目浏览器新建项目工程,右击项目名新建终端和设备
出现如下对话框:
依次选择后点击确认。
即可在项目工程子列表中出现主控制器选项,如下图所示:
右击控制器选项,新建终端和设备:
出现如下对话框
二三的出现前提是硬件必须连接正确,依次按上述选择后点击确定即可为控制器项目添加EtherCAT设备,控制器项目列表中会出现如下选项:
现在可以为主控制器的以太网EtherCAT添加从设备了,
依次如下选择:
出现如下对话框:
由上图中可以看出现在控制器可以连接到第三方设备(因为我串联了两个驱动器,所以会有两个),但是无法识别,这是因为第三方从设备的EtherCAT配置信息没有加载到NI软件中去,所有无法识别:为解决这个问题,需要进行如下操作:
将驱动器的EtherCAT配置信息文件XML(在之前官方下载的固件中)导入NI软件,右击EtherCAT Mater(ID:0)
依次如上选择出现如下对话框
在Select a device profile or file path框中打开XML文件,点击Import。成功后会出现下图第三个提示,均为Succeed
现在需要将XML文件复制到对应的NI EtherCAT模块XML文件夹下(这步很重要,说三遍,因为这个坑耗费了我一天时间),这是因为后面在打开LabVIEW时,LabVIEW会自动识别该路径下的XML文件,完成上述步骤后重新打开LabVIEW。
这次新建就出现上和之前不一样的结果,控制器已经可以识别Elmo驱动器了,如下图所示:
依次选中后点确定即可将该设备添加到控制器的EtherCAT选项下,如下图所示:
至此NI CompactRIO9035与elmo电机驱动联合仿真系统搭建完成。
后面就是基于软件编程和协议通信问题,待连载。。。