NI CompactRIO9035与elmo电机驱动联合仿真系统搭建教程(二)

news/2024/11/24 13:44:49/

因本人项目需要搭建一套机器人控制仿真系统,控制器采用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文件夹下C:\Program Files (x86)\National Instruments\LabVIEW 2015\resource\Framework\Providers\indcomecat\DD(这步很重要,说三遍,因为这个坑耗费了我一天时间),这是因为后面在打开LabVIEW时,LabVIEW会自动识别该路径下的XML文件,完成上述步骤后重新打开LabVIEW。
这次新建就出现上和之前不一样的结果,控制器已经可以识别Elmo驱动器了,如下图所示:
这里写图片描述
依次选中后点确定即可将该设备添加到控制器的EtherCAT选项下,如下图所示:
这里写图片描述
至此NI CompactRIO9035与elmo电机驱动联合仿真系统搭建完成。
后面就是基于软件编程和协议通信问题,待连载。。。


http://www.ppmy.cn/news/253854.html

相关文章

单机Docker部署应用Kraft模式的Kafka集群

单机Docker部署应用Kraft模式的Kafka集群 1 Docker镜像准备1.1 下载Kafka1.2 配置容器1.3 修改kafka配置 2 部署Kafka集群2.1 启动节点容器2.2 生成一个 Cluster ID2.3 格式化存储目录2.4 启动kafka服务 3 知识3.1 控制器服务器3.2 进程角色3.3 仲裁投票者3.4 Kafka存储工具3.5…

NI Linux实时设备上升级固件

设备和对应的文件夹名称:\National Instruments\Shared\Firmware\ 设备 文件夹名称 cRIO-9030 7755 cRIO-9031 774B cRIO-9032 7841 cRIO-9033 7735 cRIO-9034 774D cRIO-9035 77dB的 带有NI-Sync的cRIO-9035 7875 cRIO-9036 77DC cRIO-9037 7840 cRIO-9038 77B9 cR…

小程序发送消息订阅报错{“errcode“:40003,“errmsg“:“invalid openid rid: 641bece8-5b5ed5f9-7c0705a8“}

检查了accessToken跟openid 都是对的 为什么就是会报错呢??? 我们做的项目有两个小程序端 一个是患者端 一个是医护端 在患者端接口给医护端发送订阅消息 结果一直拿着患者端的openid发 实际要用医护端的openId 搞了两天 。。粑粑。

No suitable device found for this connection

MobaXterm连接不上 journal -xeaudit: op"connection-activate" uuid"88e43cb2-b1e5-49a4-85bf-1e3f08f4e605" n Jan 10 04:47:03 hadoop03 network[11697]: Bringing up interface ens33: Error: Connection activation failed: uuid"88e43cb2-b1e…

TCL MS801机芯修改屏参的方法

TCL MS801机芯修改屏参的方法 一、 目的 在TV屏幕显示花屏、黑屏、倒屏等无法正常显示的情况下,可以通过串口修改屏参,使TV屏幕可正常显示。本文档介绍一些简单常见的屏参的修改方法。 二、 修改屏参的准备 串口工具; 三、 修改屏参…

Error syncing pod, skipping: failed to “StartContainer“ for “POD“ with ErrImagePull: “image pull fai

kubernetes:关于创建pod中结点始终处于creating状态的问题解决(Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for registry.access.redhat.com/rhel7/...&#…

xss漏洞复现

一.过滤了特殊符号 二、过滤了特殊符号和关键字

IM-A820L第一屏与第二屏已破(非开机动画)(应该泛泰机型通用)

第一屏是以raw图片格式存于emmc_appsboot.mbn中,也就是mmcblk0p7中 所以可以直接使用Image Search Editor来打开查找编辑 图片名称偏移地址分辨率图片模式所在文件开机图片0002FEDC444x17424emmc_appsboot.mbnS/W刷机模式图片00068834168x39924emmc_appsboot.mbnS…