CentOs 7系统下的NI驱动安装及C范例调用

描述

一般大家都是在Windows系统下进行NI硬件的应用,但是使用Linux系统并用C语言进行数采的用户也不在少数。

Linux操作系统具有支持多用户,多进程,多线程,多平台,良好的界面与丰富的网络功能等优点。以CentOS 7为例,怎么在Linux系统下进行NI 驱动的安装和C范例的调用呢?

本文教程:

CentOs 7系统下的NI驱动安装及C范例调用

 

一、设备及环境

硬件:PXIe-8135,PXIe-1071,PXIe-4081,PXIe-4082。 系统:CentOS 7  二、 如何选择NI驱动安装包前面我们得知了嵌套操作者传送消息的方式是抽象消息,那么接下来,小编将手把手教你如何在LavVIEW中创建抽象消息。

1. 确定NI设备与系统的兼容性

下载Linux系统,确定使用的NI 设备可以在什么版本的Linux系统下使用。

搜索NI设备所需要的驱动与系统的兼容性,如下图所示:

华穗科技

选择Linux CentOS 7作为操作系统。    

2. 下载Linux CentOS7

下载链接:http://isoredirect.centos.org/centos/7/isos/x86_64/ 选择安装镜像的版本,如果可以联网一般选择DVD.ISO,不可联网选择Everything.ISO。

华穗科技

3. 安装Linux CentOS 7系统

选择桌面Gnome安装。于网络与设备中识别到该控制器的网卡。

4.下载NI 驱动

根据所选板卡,需要于NI 官网查看系统与驱动的兼容性。这点非常重要,不然一系列操作完成之后,发现无法识别板卡又需要从头开始安装驱动了。 由PXI-4081的系统支持表可知,CentOS7系统下4081的使用需要安装20.1以上的NILinux驱动。  

华穗科技

NI Linux驱动包下载链接:https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-linux-device-drivers.html#409880

下载并解压2021Q3的NI Linux驱动包,并通过刻录软件刻录于CD中。

二、 安装NI驱动

1.拷贝NI 驱动

利用光驱将CD内的安装文件复制到Linux的文件夹中。

安装文件中共有六个rpm文件, 在CentOS7系统中,需安装第三个NI Linux 驱动包。

华穗科技

2.下载NI驱动

右键驱动所在文件夹,选择在终端打开。

输入su进入root模式。

华穗科技

输入sudo yum update以更新系统内核。

华穗科技

输入yum install ni-rhel7centos7-drivers-2020.rpm

华穗科技

注意,遇到Y/D/N的时候都输入Y以进行下一步。

3.安装DMM驱动

Linux中NI驱动的名字如下图所示。

华穗科技

根据需要选择Linux大包驱动里的子驱动,由于本教程以DMM板卡为例,故需要安装NI-PXI Platform Services、NI-DAQmx、NI-DMM。

下载NI-PXI Platform Services,则于终端中输入:

yuminstall ni-pxiplatformservices

华穗科技

下载NI-DAQmx,则于终端中输入:

yum install ni-daqmx

 

华穗科技

下载NI-DMM,则于终端中输入:

yum install ni-dmm

yum install ni-dmm-daqmx

华穗科技

启动NI内核驱动程序,于终端中输入: sudo dkms autoinstall 遇到Y/N都输入Y。 注意啦,安装完毕后需要重启控制器或设备哦!      三、验证驱动是否安装成功

驱动安装成功后,需要验证DMM卡是否可以正常识别。

于计算机中var/lib/ni-dmm/nidmm408x.config里可以看见当前已识别到的408x系列DMM卡,如下图所示。

华穗科技

该文档中可以看见机箱PXI插槽中插入的两张DMM板卡,并且列出了其SN号和序列号。当看到该配置文件里面列出来实际的板卡时,就证明当前安装的驱动识别到了板卡,驱动安装成功。 注意,DMM板卡的识别是通过config文件来得知的,而一般的DAQ数采板卡可以通过指令nilsdev – verbose来识别NI设备。下图展示了通过指令来识别PXIe-5112的终端界面。

华穗科技

四、试跑DMM范例

安装好驱动并识别到板卡后,要怎么使用板卡进行数据采集呢?接下来我们来试跑一下DMM的范例,看一下在Linux系统下使用数采板卡的C范例位置和使用方法吧。 于计算机中usr/share/nidmm-devel/examples中可以看到DMM的C范例。

华穗科技

在这里以直流电压单点采集为例,打开Single_Point/Measure_DC_Volts。一个为makefile一个为单点采集直流电压的范例。

华穗科技

于文件中下右键打开终端,进入root模式(代码su),输入make编译makefile文件。Make后文件夹中会多出两个文件,其中带齿轮的文件为可执行文件。

华穗科技

在root模式下输入 ./Meaure_DC_Volts 运行可执行程序,并输入DMMconfig文件中板卡的名字,即可运行范例,并读取当前输入的电压值。

华穗科技

 

华穗科技

我们可以看到信号发生器输出的5V电压,通过DMM卡的电压输入端口准确采集到了,并且在单点数据采集范例中的reading行显示当前单点电压为5.000661V。

以上就是如何在CentOS 7系统下安装NI 驱动并调用C程序进行数据采集的教程啦。

在Linux系统下的NI驱动安装和Windows系统下的安装大相径庭,运用终端操作台和指令进行不同驱动安装的过程中会发生各种问题,有的是系统内核没有更新的问题,有的是驱动不匹配系统导致的,有的是网络没有连接导致的。在Linux系统下运用NI数采设备也是一门大学问,多多学习多多运用吧!

对NI知识感兴趣的工程师们,欢迎持续关注、留言和点赞,也可以私信小编各位的技术困惑和技术需求,以获取参加免费线下培训和技术交流的机会哦。

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分