NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

开发PCIE第三方驱动

已解决!
转到解答

目前自身的产品是win10/ubuntu22.04下的PCIE板卡的驱动程序,想要实现在LabView下也能控制该驱动并且可以被NI MAX识别该如何做呢?对此我也查阅了一些资料,但涉及的内容较少也有一些疑问

1.NI开发的第三方驱动到底是哪种形式的?我官网介绍整个驱动都变成DLL也就直接在LabVeiw导入,对此我存在质疑想确认下最终的实现真的驱动都不需要安装了吗?我所了解的只是将用户层的DLL导入到LabVeiw中使用

2.通过LabView或LabWindow(IVI driver)创建项目时的Driver是否是开发驱动用的?但我在里面并没有找到PCIE接口相关的项目,是否不支持PCIE的驱动开发呢?

0 项奖励
1 条消息(共 11 条)
188 次查看
解答
已被主题作者 tony0924 接受

如果已经有了现成的驱动,可以使用LabVIEW 对DLL进行封装调用。驱动还是需要安装的,LabVIEW只是在C API的基础上进行封装和调用。注意Ubuntu的库必须从源代码重新编译为SO文件。

 

使用IVI驱动必须符合IVI规范,主要提供一个HAL框架,底层可以支持PCIe通讯。详情请见ivifoundation.org/downloads/IVI short guides 2015/Using IVI with LabVIEW.pdf

 

如果没有现成的驱动,可以使用NI-VISA驱动。参考Configuring the NI Real-Time Environment and NI-VISA to Recognize a Third Party Device生成INF文件,然后使用NI-VISA API对PCI地址进行读写。GE 5565 PIORC - PCI, PXI/CompactPCI Driver for LabVIEW就是一个基于NI-VISA对PCI板卡进行通讯的范例。How to Install the Driver of GE cPCI-5565PIORC?

-------------------------------------------------------
Control Lead | Intelline Inc
0 项奖励
2 条消息(共 11 条)
150 次查看

意思目前我的驱动已经有了的话其实就做一层用户层接口的so封装然后提供给LabView调用即可?

但由于并不是NI-VISA驱动没有符合IVI规范,所以最终的驱动可以被LabView使用但无法被NI-MAX识别?

另外我还想问一下我把X86的机器安装NI LINUX RT系统查看IP的时候只有一个IO也就是127.0.0.1,而我用虚拟机桥接模式情况下是有一个eth0的IP的并且本机主机通过NI MAX是可以识别到远程RT机器的(也就是NI MAX远程系统下扫描到的)

0 项奖励
3 条消息(共 11 条)
138 次查看

意思目前我的驱动已经有了的话其实就做一层用户层接口的so封装然后提供给LabView调用即可?

正确

 

但由于并不是NI-VISA驱动没有符合IVI规范,所以最终的驱动可以被LabView使用但无法被NI-MAX识别?

NI MAX的底层是NI-System Configurator 驱动,只能关联NI驱动。NI MAX可以识别所有包括没有驱动的板卡,但是会显示为“未知设备”。如果想要显示板卡型号和厂商等信息,必须使用NI-VISA Development Wizard 生成INF进行关联。

 

另外我还想问一下我把X86的机器安装NI LINUX RT系统查看IP的时候只有一个IO也就是127.0.0.1,而我用虚拟机桥接模式情况下是有一个eth0的IP的并且本机主机通过NI MAX是可以识别到远程RT机器的(也就是NI MAX远程系统下扫描到的)

NI Linux RT不支持非NI控制器的设备,不能确保在台式机上也能正常运行。虚拟机模拟的是cRIO。

Does NI Offer NI Linux Real-Time for Desktop PCs?

 

-------------------------------------------------------
Control Lead | Intelline Inc
0 项奖励
4 条消息(共 11 条)
127 次查看

非常感谢你的回答,解决了我很多困惑。看到

https://www.ni.com/en/support/documentation/supplemental/08/requirements-for-desktop-pcs-as-phar-lap...

的介绍我怀疑是本身硬件的网卡NI LINUX RT不支持(不过物理机上NI LINUX RT系统还是安装成功了的),我的网卡是"Realtek PCIe GBE Family Controller"(看链接里介绍的都是英特尔和英伟达的显卡)。

此外我用vmware安装的ubuntu里通过" lspci | grep -i net"查看了下确实显示的网卡居然是英特尔的, 而安装的NI LINUX RT查询不到结果,二者都是通过桥接模式安装的

0 项奖励
5 条消息(共 11 条)
111 次查看

Pharlap ETS 是由第三方公司Pharlap(已被IntervalZero收购),基于Windows开发的实时操作系统,因此驱动的支持可能比较完善。

 

而NI Linux RT是NI研发基于Linux Kernel自行开发的,对非NI设备的驱动没有进行过优化和验证。

Does NI Offer NI Linux Real-Time for Desktop PCs?

-------------------------------------------------------
Control Lead | Intelline Inc
0 项奖励
6 条消息(共 11 条)
106 次查看

按照Pharlap ETS的意思是完全可以替代NI LINUX RT在第三方机器上作为LabView的远程机使用吧

你发的这个信息之前我看到了,但是同时也看到说从2020开始就已经不支持了

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x4PhCAI&l=zh-CN

但我可以再去找一找资料试试看

 

0 项奖励
7 条消息(共 11 条)
101 次查看

2022年后不支持PXI Pharlap。如果想要在台式机上安装实时系统,最后的版本是LabVIEW 2021。2022或之后的版本只支持NI Linux RT,但是NI Linux RT官方是不支持台式机的。不排除有用户成功在台式机上安装NI Linux RT,但是NI无法提供支持,如果遇到什么问题就只能自求多福了。

-------------------------------------------------------
Control Lead | Intelline Inc
0 项奖励
8 条消息(共 11 条)
94 次查看

是的,所以目前我打算还是再看看资料到底选择哪一个系统成功率高一些,NI LINUX RT我看到有帖子用英特尔的网卡是成功安装了的,我也问了的确我的"Realtek PCIe GBE Family Controller"在 NI LINUX RT中没有直接的网卡驱动支持

这是相关的操作链接:

https://zhuanlan.zhihu.com/p/650713680

以下沟通的一些信息:

问:Hello,看到你发的"在x86电脑上安装NI Linux RT"方便问一下你用的是什么物理机吗?我这里发现安装后不显示网卡eth0,我的网卡是Realtek PCIe GBE Family Controller

答:这个原因就是你的Realtek网卡,因为NI Linux RT的包里面是不含Realtek的网卡驱动的。我也是在有Intel网卡的工业嵌入式电脑上安装成功的。Realtek网卡的比较的麻烦,你需要自己在Liunx中安装它的驱动才能使用它。

0 项奖励
9 条消息(共 11 条)
87 次查看

https://www.ni.com/en/support/documentation/supplemental/08/requirements-for-desktop-pcs-as-phar-lap...

看Phar Lap ETS 实时目标的台式电脑的要求感觉也是不支持我的网卡要求的,另外是不是可以这么理解:Phar Lap ETS 就是最后演化成NI Linux RT的

0 项奖励
10 条消息(共 11 条)
80 次查看